mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-01 09:47:11 -04:00
Document LOS room detection functions
This commit is contained in:
+3
-3
@@ -134,7 +134,7 @@ void bbike_try_dismount_angle(f32 relativeangle, f32 distance)
|
||||
prop_set_perim_enabled(g_Vars.currentplayer->hoverbike, false);
|
||||
prop_set_perim_enabled(g_Vars.currentplayer->prop, false);
|
||||
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &pos, rooms);
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &pos, rooms);
|
||||
bmove_find_entered_rooms_by_pos(g_Vars.currentplayer, &pos, rooms);
|
||||
|
||||
result = cd_test_cyl_move02(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms,
|
||||
@@ -395,7 +395,7 @@ s32 bbike_calculate_new_position(struct coord *vel, f32 angledelta)
|
||||
dstpos.z += vel->z;
|
||||
|
||||
obj_get_bbox(g_Vars.currentplayer->hoverbike, &radius, &ymax, &ymin);
|
||||
func0f065dfc(&g_Vars.currentplayer->hoverbike->pos,
|
||||
los_find_intersecting_rooms_exhaustive(&g_Vars.currentplayer->hoverbike->pos,
|
||||
g_Vars.currentplayer->hoverbike->rooms,
|
||||
&dstpos, dstrooms, spa8, 20);
|
||||
|
||||
@@ -537,7 +537,7 @@ void bbike_update_vertical(struct coord *pos)
|
||||
|
||||
angle = hoverprop_get_turn_angle(bike);
|
||||
|
||||
func0f065e74(&bike->prop->pos, bike->prop->rooms, pos, newrooms);
|
||||
los_find_final_room_exhaustive(&bike->prop->pos, bike->prop->rooms, pos, newrooms);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
{
|
||||
|
||||
@@ -94,8 +94,8 @@ s32 eyespy_try_move_upwards(f32 yvel)
|
||||
f0 = g_Vars.currentplayer->eyespy->oldground - prop->pos.y;
|
||||
}
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &dstpos, dstrooms);
|
||||
chr0f021fa8(prop->chr, &dstpos, dstrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &dstpos, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(prop->chr, &dstpos, dstrooms);
|
||||
prop_set_perim_enabled(prop, false);
|
||||
|
||||
f0 -= 0.1f;
|
||||
@@ -152,7 +152,7 @@ s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
}
|
||||
|
||||
// This must be populating dstrooms at least
|
||||
func0f065dfc(&eyespyprop->pos, eyespyprop->rooms, &dstpos, dstrooms, sp74, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&eyespyprop->pos, eyespyprop->rooms, &dstpos, dstrooms, sp74, 20);
|
||||
|
||||
// Check if dstrooms contains the eyespy's old room.
|
||||
// If so, simplify dstrooms so it only contains that room.
|
||||
@@ -164,7 +164,7 @@ s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
}
|
||||
}
|
||||
|
||||
chr0f021fa8(eyespyprop->chr, &dstpos, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(eyespyprop->chr, &dstpos, dstrooms);
|
||||
|
||||
// Check if the eyespy is moving 13cm or more along either the X or Z
|
||||
// axis in a single frame. If less, only do a collision check for the
|
||||
@@ -539,7 +539,7 @@ void eyespy_update_vertical(void)
|
||||
g_EyespyHit = hit;
|
||||
}
|
||||
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
|
||||
dist.x = prop->pos.x - origpos.x;
|
||||
dist.y = prop->pos.y - origpos.y;
|
||||
@@ -674,10 +674,10 @@ bool eyespy_try_launch(void)
|
||||
|
||||
player_set_perim_enabled(g_Vars.currentplayer->prop, true);
|
||||
prop_deregister_rooms(g_Vars.currentplayer->eyespy->prop);
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms,
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms,
|
||||
&g_Vars.currentplayer->eyespy->prop->pos, g_Vars.currentplayer->eyespy->prop->rooms);
|
||||
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
|
||||
return launched;
|
||||
}
|
||||
|
||||
+2
-2
@@ -294,7 +294,7 @@ bool bgrab_try_move_upwards(f32 y)
|
||||
newpos.z = g_Vars.currentplayer->prop->pos.z;
|
||||
|
||||
player_get_bbox(g_Vars.currentplayer->prop, &radius, &ymax, &ymin);
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, rooms);
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, rooms);
|
||||
bmove_find_entered_rooms_by_pos(g_Vars.currentplayer, &newpos, rooms);
|
||||
prop_set_perim_enabled(g_Vars.currentplayer->prop, false);
|
||||
|
||||
@@ -349,7 +349,7 @@ s32 bgrab_calculate_new_position(struct coord *delta, f32 angle, bool arg2)
|
||||
pos.y += delta->y;
|
||||
pos.z += delta->z;
|
||||
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &pos, rooms);
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &pos, rooms);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
{
|
||||
|
||||
+1
-1
@@ -4375,7 +4375,7 @@ struct defaultobj *bgun_create_thrown_projectile2(struct chrdata *chr, struct gs
|
||||
guRotateF(mtx.m, 90.0f / (RANDOMFRAC() + 12.1f),
|
||||
arg4->m[1][0], arg4->m[1][1], arg4->m[1][2]);
|
||||
} else {
|
||||
mtx_load_random_rotation(&mtx);
|
||||
projectile_load_random_rotation(&mtx);
|
||||
}
|
||||
|
||||
if (gset->weaponnum == WEAPON_LAPTOPGUN) {
|
||||
|
||||
+3
-3
@@ -425,7 +425,7 @@ f32 bmove_calculate_lookahead(void)
|
||||
spf0.y = g_Vars.currentplayer->prop->pos.y - 30;
|
||||
spf0.z = g_Vars.currentplayer->prop->pos.z;
|
||||
|
||||
portal00018148(&g_Vars.currentplayer->prop->pos, &spf0,
|
||||
portal_find_rooms(&g_Vars.currentplayer->prop->pos, &spf0,
|
||||
g_Vars.currentplayer->prop->rooms, spe0, NULL, 0);
|
||||
|
||||
sp150.x = sp100.x * 400 + spf0.x;
|
||||
@@ -452,13 +452,13 @@ f32 bmove_calculate_lookahead(void)
|
||||
spbc.y = sp100.y * value + spf0.y;
|
||||
spbc.z = sp100.z * value + spf0.z;
|
||||
|
||||
portal00018148(&spf0, &spbc, spe0, spa0, NULL, 0);
|
||||
portal_find_rooms(&spf0, &spbc, spe0, spa0, NULL, 0);
|
||||
|
||||
spb0.x = spbc.x;
|
||||
spb0.y = spbc.y - 400;
|
||||
spb0.z = spbc.z;
|
||||
|
||||
portal00018148(&spbc, &spb0, spa0, sp90, sp80, 7);
|
||||
portal_find_rooms(&spbc, &spb0, spa0, sp90, sp80, 7);
|
||||
|
||||
if (
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
|
||||
+4
-4
@@ -207,7 +207,7 @@ s32 bwalk_try_move_upwards(f32 amount)
|
||||
types = g_Vars.bondcollisions ? CDTYPE_ALL : CDTYPE_BG;
|
||||
|
||||
player_get_bbox(g_Vars.currentplayer->prop, &radius, &ymax, &ymin);
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, rooms);
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, rooms);
|
||||
bmove_find_entered_rooms_by_pos(g_Vars.currentplayer, &newpos, rooms);
|
||||
prop_set_perim_enabled(g_Vars.currentplayer->prop, false);
|
||||
|
||||
@@ -272,7 +272,7 @@ bool bwalk_calculate_new_position(struct coord *vel, f32 rotateamount, bool appl
|
||||
player_get_bbox(g_Vars.currentplayer->prop, &radius, &ymax, &ymin);
|
||||
radius += extrawidth;
|
||||
|
||||
func0f065dfc(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms,
|
||||
los_find_intersecting_rooms_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms,
|
||||
&dstpos, dstrooms, sp64, 20);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
@@ -442,7 +442,7 @@ bool bwalk_calculate_new_position_with_push(struct coord *delta, f32 rotateamoun
|
||||
|
||||
prop_deregister_rooms(obstacle);
|
||||
rooms_copy(newrooms, obstacle->rooms);
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
model_set_root_position(chr->model, &newpos);
|
||||
|
||||
result = bwalk_calculate_new_position(delta, rotateamount, apply, extrawidth, types);
|
||||
@@ -1122,7 +1122,7 @@ void bwalk_update_vertical(void)
|
||||
if (newpos.x != g_Vars.currentplayer->prop->pos.x
|
||||
|| newpos.y != g_Vars.currentplayer->prop->pos.y
|
||||
|| newpos.z != g_Vars.currentplayer->prop->pos.z) {
|
||||
func0f065e74(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&g_Vars.currentplayer->prop->pos, g_Vars.currentplayer->prop->rooms, &newpos, newrooms);
|
||||
|
||||
g_Vars.currentplayer->prop->pos.x = newpos.x;
|
||||
g_Vars.currentplayer->prop->pos.y = newpos.y;
|
||||
|
||||
+40
-40
@@ -246,7 +246,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
}
|
||||
|
||||
func0f065dfc(&prop->pos, prop->rooms, dstpos, dstrooms, sp84, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&prop->pos, prop->rooms, dstpos, dstrooms, sp84, 20);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
for (i = 0; dstrooms[i] != -1; i++) {
|
||||
@@ -258,7 +258,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
#endif
|
||||
|
||||
chr0f021fa8(chr, dstpos, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, dstpos, dstrooms);
|
||||
|
||||
movex = dstpos->x - prop->pos.x;
|
||||
movez = dstpos->z - prop->pos.z;
|
||||
@@ -312,7 +312,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
sp44.y = dstpos->y;
|
||||
sp44.z = sp54.z * value + prop->pos.z;
|
||||
|
||||
func0f065dfc(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
for (j = 0; dstrooms[j] != -1; j++) {
|
||||
@@ -324,7 +324,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
#endif
|
||||
|
||||
chr0f021fa8(chr, &sp44, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, &sp44, dstrooms);
|
||||
|
||||
movex = sp44.x - prop->pos.x;
|
||||
movez = sp44.z - prop->pos.z;
|
||||
@@ -368,7 +368,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
sp44.y = dstpos->y;
|
||||
sp44.z = sp54.z * value + prop->pos.z;
|
||||
|
||||
func0f065dfc(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
for (k = 0; dstrooms[k] != -1; k++) {
|
||||
@@ -380,7 +380,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
#endif
|
||||
|
||||
chr0f021fa8(chr, &sp44, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, &sp44, dstrooms);
|
||||
|
||||
movex = sp44.x - prop->pos.x;
|
||||
movez = sp44.z - prop->pos.z;
|
||||
@@ -422,7 +422,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
sp44.y = dstpos->y;
|
||||
sp44.z = sp54.z * value + prop->pos.z;
|
||||
|
||||
func0f065dfc(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&prop->pos, prop->rooms, &sp44, dstrooms, sp84, 20);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
for (l = 0; dstrooms[l] != -1; l++) {
|
||||
@@ -434,7 +434,7 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
#endif
|
||||
|
||||
chr0f021fa8(chr, &sp44, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, &sp44, dstrooms);
|
||||
|
||||
movex = sp44.x - prop->pos.x;
|
||||
movez = sp44.z - prop->pos.z;
|
||||
@@ -478,9 +478,9 @@ void chr_calculate_push_pos(struct chrdata *chr, struct coord *dstpos, RoomNum *
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3, bool arg4)
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount, bool writerooms)
|
||||
#else
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3)
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount)
|
||||
#endif
|
||||
{
|
||||
bool result;
|
||||
@@ -491,12 +491,12 @@ bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg
|
||||
f32 radius;
|
||||
|
||||
newpos.x = pos->x;
|
||||
newpos.y = pos->y + arg3;
|
||||
newpos.y = pos->y + amount;
|
||||
newpos.z = pos->z;
|
||||
|
||||
chr_get_bbox(chr->prop, &radius, &ymax, &ymin);
|
||||
func0f065e74(pos, rooms, &newpos, newrooms);
|
||||
chr0f021fa8(chr, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(pos, rooms, &newpos, newrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, &newpos, newrooms);
|
||||
chr_set_perim_enabled(chr, false);
|
||||
result = cd_test_volume(&newpos, radius, newrooms, CDTYPE_ALL, CHECKVERTICAL_YES,
|
||||
ymax - chr->prop->pos.y,
|
||||
@@ -504,7 +504,7 @@ bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg
|
||||
chr_set_perim_enabled(chr, true);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (result == true && arg4) {
|
||||
if (result == true && writerooms) {
|
||||
pos->y = newpos.y;
|
||||
rooms_copy(newrooms, rooms);
|
||||
}
|
||||
@@ -548,10 +548,10 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
#endif
|
||||
|
||||
if (g_Anims[model->anim->animnum].flags & ANIMFLAG_ABSOLUTETRANSLATION) {
|
||||
if (chr->hidden & CHRHFLAG_00020000) {
|
||||
func0f065e98(&prop->pos, prop->rooms, arg2, spfc);
|
||||
if (chr->hidden & CHRHFLAG_FINDROOMSFAST) {
|
||||
los_find_final_room_fast(&prop->pos, prop->rooms, arg2, spfc);
|
||||
} else {
|
||||
func0f065e74(&prop->pos, prop->rooms, arg2, spfc);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, arg2, spfc);
|
||||
}
|
||||
|
||||
ground = cd_find_ground_info_at_cyl(arg2, chr->radius, spfc, &chr->floorcol, &chr->floortype, &floorflags, &chr->floorroom, &inlift, &lift);
|
||||
@@ -760,11 +760,11 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
&& !chr->act_skjump.needsnewanim
|
||||
&& g_Vars.lvupdate60 != 0) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement, true)) {
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement, true)) {
|
||||
chr->manground += yincrement;
|
||||
}
|
||||
#else
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement)) {
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement)) {
|
||||
chr->manground += yincrement;
|
||||
arg2->y += yincrement;
|
||||
}
|
||||
@@ -781,16 +781,16 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
f32 ground;
|
||||
struct modelnode *node;
|
||||
u16 nodetype;
|
||||
f32 sp68;
|
||||
f32 fallspeed;
|
||||
u8 die;
|
||||
|
||||
if (chr->onladder) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement, true)) {
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement, true)) {
|
||||
chr->manground += yincrement;
|
||||
}
|
||||
#else
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement)) {
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement)) {
|
||||
chr->manground += yincrement;
|
||||
arg2->y += yincrement;
|
||||
}
|
||||
@@ -816,8 +816,8 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
sp88.y = manground + 69.0f;
|
||||
sp88.z = arg2->z;
|
||||
|
||||
func0f065e74(arg2, spfc, &sp88, sp78);
|
||||
chr0f021fa8(chr, &sp88, sp78);
|
||||
los_find_final_room_exhaustive(arg2, spfc, &sp88, sp78);
|
||||
chr_find_entered_rooms_at_pos(chr, &sp88, sp78);
|
||||
} else {
|
||||
sp98 = arg2;
|
||||
sp94 = spfc;
|
||||
@@ -890,18 +890,18 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
die = true;
|
||||
}
|
||||
|
||||
sp68 = chr->fallspeed.y;
|
||||
fallspeed = chr->fallspeed.y;
|
||||
|
||||
func0f0965e4(&yincrement, &sp68, VAR(lvupdate60freal));
|
||||
projectile_update_fall(&yincrement, &fallspeed, VAR(lvupdate60freal));
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement, false))
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement, false))
|
||||
#else
|
||||
if (chr0f01f264(chr, arg2, spfc, yincrement))
|
||||
if (chr_ascend(chr, arg2, spfc, yincrement))
|
||||
#endif
|
||||
{
|
||||
chr->manground += yincrement;
|
||||
chr->fallspeed.y = sp68;
|
||||
chr->fallspeed.y = fallspeed;
|
||||
}
|
||||
|
||||
if (chr->manground <= chr->ground) {
|
||||
@@ -961,8 +961,8 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
|
||||
arg2->y += chr->manground - manground;
|
||||
|
||||
func0f065e74(&spd0, spc0, arg2, spfc);
|
||||
chr0f021fa8(chr, arg2, spfc);
|
||||
los_find_final_room_exhaustive(&spd0, spc0, arg2, spfc);
|
||||
chr_find_entered_rooms_at_pos(chr, arg2, spfc);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -1011,7 +1011,7 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
}
|
||||
#endif
|
||||
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
prop_calculate_shade_colour(prop, chr->nextcol, chr->floorcol);
|
||||
|
||||
return true;
|
||||
@@ -1326,7 +1326,7 @@ struct prop *chr0f020b14(struct prop *prop, struct model *model,
|
||||
|
||||
prop_deregister_rooms(prop);
|
||||
rooms_copy(rooms, prop->rooms);
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
model_set_root_position(model, &prop->pos);
|
||||
|
||||
nodetype = chr->model->definition->rootnode->type;
|
||||
@@ -1871,7 +1871,7 @@ void chr_handle_joint_positioned(s32 joint, Mtxf *mtx)
|
||||
}
|
||||
}
|
||||
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
void chr_find_entered_rooms_at_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct coord lower;
|
||||
struct coord upper;
|
||||
@@ -1904,15 +1904,15 @@ void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
bg_find_entered_rooms(&lower, &upper, rooms, 7, true);
|
||||
}
|
||||
|
||||
void chr0f022084(struct chrdata *chr, RoomNum *room)
|
||||
void chr_find_entered_rooms(struct chrdata *chr, RoomNum *room)
|
||||
{
|
||||
chr0f021fa8(chr, &chr->prop->pos, room);
|
||||
chr_find_entered_rooms_at_pos(chr, &chr->prop->pos, room);
|
||||
}
|
||||
|
||||
void chr0f0220ac(struct chrdata *chr)
|
||||
void chr_detect_rooms(struct chrdata *chr)
|
||||
{
|
||||
prop_deregister_rooms(chr->prop);
|
||||
chr0f022084(chr, chr->prop->rooms);
|
||||
chr_find_entered_rooms(chr, chr->prop->rooms);
|
||||
prop_register_rooms(chr->prop);
|
||||
}
|
||||
|
||||
@@ -4815,12 +4815,12 @@ void chr0f0284f4(s32 arg0)
|
||||
}
|
||||
}
|
||||
|
||||
void chr0f028544(void)
|
||||
void chrs_toggle_anim_debug(void)
|
||||
{
|
||||
var80062974 = !var80062974;
|
||||
}
|
||||
|
||||
void chr0f02855c(s32 arg0)
|
||||
void chrs_set_anims_playing(s32 arg0)
|
||||
{
|
||||
var80062978 = arg0;
|
||||
|
||||
|
||||
+17
-17
@@ -5322,7 +5322,7 @@ bool chr_is_room_off_screen(struct chrdata *chr, struct coord *waypos, RoomNum *
|
||||
RoomNum sp50[8];
|
||||
|
||||
if ((chr->hidden & CHRHFLAG_CLOAKED) == 0 || USINGDEVICE(DEVICE_IRSCANNER)) {
|
||||
func0f065dfc(&prop->pos, prop->rooms, waypos, sp64, sp7c, 20);
|
||||
los_find_intersecting_rooms_exhaustive(&prop->pos, prop->rooms, waypos, sp64, sp7c, 20);
|
||||
|
||||
if (g_Vars.mplayerisrunning) {
|
||||
for (i = 0; sp7c[i] != -1; i++) {
|
||||
@@ -5343,7 +5343,7 @@ bool chr_is_room_off_screen(struct chrdata *chr, struct coord *waypos, RoomNum *
|
||||
|
||||
if (offscreen) {
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
portal00018148(waypos, &g_Vars.players[i]->prop->pos, wayrooms, sp50, 0, 0);
|
||||
portal_find_rooms(waypos, &g_Vars.players[i]->prop->pos, wayrooms, sp50, 0, 0);
|
||||
|
||||
if (array_intersects(g_Vars.players[i]->prop->rooms, sp50)) {
|
||||
offscreen = false;
|
||||
@@ -5684,7 +5684,7 @@ void chr_nav_tick_magic(struct chrdata *chr, struct waydata *waydata, f32 speed,
|
||||
// Reached end of segment
|
||||
chr_set_perim_enabled(chr, false);
|
||||
rooms_copy(rooms, sp118);
|
||||
chr0f021fa8(chr, arg3, sp118);
|
||||
chr_find_entered_rooms_at_pos(chr, arg3, sp118);
|
||||
|
||||
ground = cd_find_ground_info_at_cyl(arg3, chr->radius, sp118, &floorcol, &floortype, 0, &floorroom, NULL, NULL);
|
||||
|
||||
@@ -5693,7 +5693,7 @@ void chr_nav_tick_magic(struct chrdata *chr, struct waydata *waydata, f32 speed,
|
||||
spf4.z = arg3->z;
|
||||
|
||||
rooms_copy(rooms, sp118);
|
||||
chr0f021fa8(chr, &spf4, sp118);
|
||||
chr_find_entered_rooms_at_pos(chr, &spf4, sp118);
|
||||
chr_get_bbox(chr->prop, &radius, &ymax, &ymin);
|
||||
|
||||
if (cd_test_volume(&spf4, chr->radius, sp118, CDTYPE_ALL, CHECKVERTICAL_YES, ymax - prop->pos.y, ymin - prop->pos.y) != CDRESULT_COLLISION) {
|
||||
@@ -6419,7 +6419,7 @@ bool chr_has_los_to_entity(struct chrdata *chr, struct coord *chrpos, RoomNum *c
|
||||
frompos.y = chrpos->y + 70;
|
||||
frompos.z = chrpos->z;
|
||||
|
||||
func0f065dd8(chrpos, chrrooms, &frompos, fromrooms);
|
||||
los_find_final_room_properly(chrpos, chrrooms, &frompos, fromrooms);
|
||||
|
||||
if (cd_test_los05(&frompos, fromrooms, &targetpos, targetrooms, types, GEOFLAG_BLOCK_SHOOT)) {
|
||||
chr_record_last_visible_target_time(chr);
|
||||
@@ -6491,7 +6491,7 @@ bool chr_has_los_to_chr(struct chrdata *chr, struct chrdata *target, RoomNum *ro
|
||||
chr_set_perim_enabled(chr, false);
|
||||
chr_set_perim_enabled(target, false);
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &pos, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &pos, rooms);
|
||||
|
||||
if (cd_test_los07(&pos, rooms, &target->prop->pos, target->prop->rooms, sp88,
|
||||
CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_PATHBLOCKER | CDTYPE_BG | CDTYPE_AIOPAQUE,
|
||||
@@ -6550,7 +6550,7 @@ bool chr_has_los_to_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
eyepos.z = prop->pos.z;
|
||||
|
||||
chr_set_perim_enabled(chr, false);
|
||||
func0f065e74(&prop->pos, prop->rooms, &eyepos, chrrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &eyepos, chrrooms);
|
||||
|
||||
if (cd_test_los05(&eyepos, chrrooms, pos, rooms,
|
||||
CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_PATHBLOCKER | CDTYPE_BG | CDTYPE_AIOPAQUE,
|
||||
@@ -7437,7 +7437,7 @@ bool chr_try_run_from_target(struct chrdata *chr)
|
||||
}
|
||||
}
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &dst, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &dst, rooms);
|
||||
chr_go_to_room_pos(chr, &dst, rooms, speed);
|
||||
|
||||
return true;
|
||||
@@ -7526,7 +7526,7 @@ bool chr_go_to_cover_prop(struct chrdata *chr)
|
||||
}
|
||||
}
|
||||
|
||||
func0f065e74(&chrprop->pos, chrprop->rooms, &dstpos, dstrooms);
|
||||
los_find_final_room_exhaustive(&chrprop->pos, chrprop->rooms, &dstpos, dstrooms);
|
||||
chr_go_to_room_pos(chr, &dstpos, dstrooms, speed);
|
||||
|
||||
chr->proppreset1 = prop - g_Vars.props;
|
||||
@@ -10368,7 +10368,7 @@ void chr_tick_shoot(struct chrdata *chr, s32 handnum)
|
||||
}
|
||||
|
||||
bgun_play_prop_hit_sound(&gset, hitprop, -1);
|
||||
func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
los_find_final_room_exhaustive(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
queriedhitrooms = true;
|
||||
|
||||
if (chr_is_using_paintball(chr)) {
|
||||
@@ -10386,7 +10386,7 @@ void chr_tick_shoot(struct chrdata *chr, s32 handnum)
|
||||
}
|
||||
} else if (hitsomething) {
|
||||
// Hit the background
|
||||
func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
los_find_final_room_exhaustive(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
queriedhitrooms = true;
|
||||
bgun_play_bg_hit_sound(&gset, &hitpos, -1, hitrooms);
|
||||
|
||||
@@ -10402,7 +10402,7 @@ void chr_tick_shoot(struct chrdata *chr, s32 handnum)
|
||||
s32 playernum = chr->aibot ? mp_player_get_index(chr) : g_Vars.currentplayernum;
|
||||
|
||||
if (!queriedhitrooms) {
|
||||
func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
los_find_final_room_exhaustive(&gunpos, gunrooms, &hitpos, hitrooms);
|
||||
}
|
||||
|
||||
explosion_create_simple(NULL, &hitpos, hitrooms, EXPLOSIONTYPE_PHOENIX, playernum);
|
||||
@@ -15001,7 +15001,7 @@ bool chr_adjust_pos_for_spawn(f32 chrradius, struct coord *pos, RoomNum *rooms,
|
||||
|
||||
if ((onlysurrounding && cd_test_cyl_move04(pos, rooms, &testpos, testrooms, CDTYPE_ALL & ~CDTYPE_PLAYERS, 1, ymax, -200) != CDRESULT_COLLISION)
|
||||
|| (!onlysurrounding && cd_test_los11(pos, rooms, &testpos, testrooms, CDTYPE_BG))) {
|
||||
chr0f021fa8(NULL, &testpos, testrooms);
|
||||
chr_find_entered_rooms_at_pos(NULL, &testpos, testrooms);
|
||||
ground = cd_find_ground_at_cyl(&testpos, chrradius, testrooms, 0, 0);
|
||||
ymin = -200;
|
||||
|
||||
@@ -15292,7 +15292,7 @@ bool chr_move_to_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32
|
||||
|
||||
prop_deregister_rooms(chr->prop);
|
||||
rooms_copy(rooms2, chr->prop->rooms);
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
model_set_root_position(chr->model, &pos2);
|
||||
|
||||
nodetype = chr->model->definition->rootnode->type;
|
||||
@@ -15659,7 +15659,7 @@ bool chr_run_from_pos(struct chrdata *chr, u32 goposflags, f32 rundist, struct c
|
||||
|
||||
chr_set_perim_enabled(chr, true);
|
||||
|
||||
func0f065e74(&chr->prop->pos, chr->prop->rooms, &delta, rooms);
|
||||
los_find_final_room_exhaustive(&chr->prop->pos, chr->prop->rooms, &delta, rooms);
|
||||
|
||||
return chr_go_to_room_pos(chr, &delta, rooms, goposflags);
|
||||
}
|
||||
@@ -16174,8 +16174,8 @@ void chr_avoid(struct chrdata *chr)
|
||||
|
||||
halfchrradius = radius * 0.5f;
|
||||
|
||||
func0f065e74(&chr->prop->pos, chr->prop->rooms, &dstpos, dstrooms);
|
||||
chr0f021fa8(chr, &dstpos, dstrooms);
|
||||
los_find_final_room_exhaustive(&chr->prop->pos, chr->prop->rooms, &dstpos, dstrooms);
|
||||
chr_find_entered_rooms_at_pos(chr, &dstpos, dstrooms);
|
||||
|
||||
xdiff = dstpos.x - chr->prop->pos.x;
|
||||
zdiff = dstpos.z - chr->prop->pos.z;
|
||||
|
||||
@@ -5002,7 +5002,7 @@ bool ai_enable_chr(void)
|
||||
if (chr && chr->prop && chr->model) {
|
||||
prop_activate(chr->prop);
|
||||
prop_enable(chr->prop);
|
||||
chr0f0220ac(chr);
|
||||
chr_detect_rooms(chr);
|
||||
}
|
||||
|
||||
g_Vars.aioffset += 3;
|
||||
@@ -9889,7 +9889,7 @@ bool ai_remove_references_to_chr(void)
|
||||
bool ai01b4(void)
|
||||
{
|
||||
if (g_Vars.chrdata && g_Vars.chrdata->prop &&
|
||||
chr0f01f264(g_Vars.chrdata, &g_Vars.chrdata->prop->pos, g_Vars.chrdata->prop->rooms, 0, false)) {
|
||||
chr_ascend(g_Vars.chrdata, &g_Vars.chrdata->prop->pos, g_Vars.chrdata->prop->rooms, 0, false)) {
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
g_Vars.aioffset = chrai_go_to_label(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -6005,7 +6005,7 @@ u8 func0020_buddy_warp[] = {
|
||||
// Move to pad worked
|
||||
label(0x13)
|
||||
stop_chr
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_UNTARGETABLE)
|
||||
|
||||
// Wait until flag unset (timer is not checked)
|
||||
|
||||
+21
-21
@@ -11,46 +11,46 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void mtx_load_random_rotation(Mtxf *mtx)
|
||||
void projectile_load_random_rotation(Mtxf *mtx)
|
||||
{
|
||||
struct coord coord = {0, 0, 0};
|
||||
struct coord rot = {0, 0, 0};
|
||||
|
||||
coord.x = RANDOMFRAC() * PALUPF(M_BADTAU) * 0.0078125f - PALUPF(0.024539785459638f);
|
||||
coord.y = RANDOMFRAC() * PALUPF(M_BADTAU) * 0.0078125f - PALUPF(0.024539785459638f);
|
||||
coord.z = RANDOMFRAC() * PALUPF(M_BADTAU) * 0.0078125f - PALUPF(0.024539785459638f);
|
||||
rot.x = RANDOMFRAC() * PALUPF(M_BADTAU) * (1.0f / 128.0f) - PALUPF(M_BADPI / 128.0f);
|
||||
rot.y = RANDOMFRAC() * PALUPF(M_BADTAU) * (1.0f / 128.0f) - PALUPF(M_BADPI / 128.0f);
|
||||
rot.z = RANDOMFRAC() * PALUPF(M_BADTAU) * (1.0f / 128.0f) - PALUPF(M_BADPI / 128.0f);
|
||||
|
||||
mtx4_load_rotation(&coord, mtx);
|
||||
mtx4_load_rotation(&rot, mtx);
|
||||
}
|
||||
|
||||
void func0f0964b4(struct coord *coord, Mtxf *mtx)
|
||||
void projectile_load_random_speed_rotation(struct coord *speed, Mtxf *mtx)
|
||||
{
|
||||
coord->x = RANDOMFRAC() * 1.6666666269302f * 4.0f - 3.3333332538605f;
|
||||
coord->y = RANDOMFRAC() * 1.6666666269302f * 4.0f;
|
||||
coord->z = RANDOMFRAC() * 1.6666666269302f * 4.0f - 3.3333332538605f;
|
||||
speed->x = RANDOMFRAC() * (10.0f / 6.0f) * 4.0f - (10.0f / 3.0f);
|
||||
speed->y = RANDOMFRAC() * (10.0f / 6.0f) * 4.0f;
|
||||
speed->z = RANDOMFRAC() * (10.0f / 6.0f) * 4.0f - (10.0f / 3.0f);
|
||||
|
||||
mtx_load_random_rotation(mtx);
|
||||
projectile_load_random_rotation(mtx);
|
||||
}
|
||||
|
||||
void func0f0965e4(f32 *arg0, f32 *arg1, f32 arg2)
|
||||
void projectile_update_fall(f32 *yincrement, f32 *speedptr, f32 lvupdate60)
|
||||
{
|
||||
f32 tmp = arg1[0] - arg2 * 0.27777779f;
|
||||
arg0[0] += arg2 * (arg1[0] + tmp) * 0.5f;
|
||||
arg1[0] = tmp;
|
||||
f32 speed = *speedptr - lvupdate60 * 0.27777779f;
|
||||
*yincrement += lvupdate60 * (*speedptr + speed) * 0.5f;
|
||||
*speedptr = speed;
|
||||
}
|
||||
|
||||
void func0f096628(f32 *arg0, f32 *arg1, f32 arg2)
|
||||
void projectile_update_3d(f32 *increment, f32 *speed, f32 lvupdate60)
|
||||
{
|
||||
func0f0965e4(&arg0[1], &arg1[1], arg2);
|
||||
projectile_update_fall(&increment[1], &speed[1], lvupdate60);
|
||||
|
||||
arg0[0] += arg2 * arg1[0];
|
||||
arg0[2] += arg2 * arg1[2];
|
||||
increment[0] += lvupdate60 * speed[0];
|
||||
increment[2] += lvupdate60 * speed[2];
|
||||
}
|
||||
|
||||
void func0f096698(Mtxf *arg0, Mtxf *arg1, s32 count)
|
||||
void projectile_update_matrix(Mtxf *arg0, Mtxf *arg1, s32 lvupdate240)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
for (i = 0; i < lvupdate240; i++) {
|
||||
mtx00015be0(arg1, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -4943,8 +4943,8 @@ void player_move_camera_from_pos_rooms(struct coord *pos, struct coord *up, stru
|
||||
s32 room;
|
||||
|
||||
if (prevgoodrooms != NULL && *prevgoodrooms != -1) {
|
||||
// Get rooms which are visible from the prevgoodpos+prevgoodroom?
|
||||
portal00018148(prevgoodpos, pos, prevgoodrooms, rooms, NULL, 0);
|
||||
// Get rooms which are visible from the prevgoodpos+prevgoodroom
|
||||
portal_find_rooms(prevgoodpos, pos, prevgoodrooms, rooms, NULL, 0);
|
||||
|
||||
// Remove values from rooms if that room doesn't contain the coord,
|
||||
// and shuffle the array back when removing values.
|
||||
@@ -5298,7 +5298,7 @@ s32 player_tick_third_person(struct prop *prop)
|
||||
player->vv_ground = chr->ground;
|
||||
player->vv_manground = chr->ground;
|
||||
|
||||
chr0f0220ac(prop->chr);
|
||||
chr_detect_rooms(prop->chr);
|
||||
|
||||
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
|
||||
if (player->model00d4->definition->skel == &g_SkelChr) {
|
||||
|
||||
+65
-33
@@ -679,8 +679,8 @@ struct prop *shot_calculate_hits(s32 handnum, bool isshooting, struct coord *gun
|
||||
hitpos.z = shotdata.gunpos3d.z + shotdata.gundir3d.z * 65536;
|
||||
}
|
||||
|
||||
portal00018148(&playerprop->pos, &shotdata.gunpos3d, playerprop->rooms, spc8, 0, 0);
|
||||
portal00018148(&shotdata.gunpos3d, &hitpos, spc8, spb8, rooms, 30);
|
||||
portal_find_rooms(&playerprop->pos, &shotdata.gunpos3d, playerprop->rooms, spc8, 0, 0);
|
||||
portal_find_rooms(&shotdata.gunpos3d, &hitpos, spc8, spb8, rooms, 30);
|
||||
|
||||
if (shotdata.gset.weaponnum != WEAPON_FARSIGHT || g_Vars.currentplayer->visionmode != VISIONMODE_XRAY) {
|
||||
roomsptr = rooms;
|
||||
@@ -805,7 +805,7 @@ struct prop *shot_calculate_hits(s32 handnum, bool isshooting, struct coord *gun
|
||||
exppos.y = shotdata.hits[i].pos.y;
|
||||
exppos.z = shotdata.hits[i].pos.z;
|
||||
|
||||
func0f065e74(&root->pos, root->rooms, &exppos, exprooms);
|
||||
los_find_final_room_exhaustive(&root->pos, root->rooms, &exppos, exprooms);
|
||||
explosion_create_simple(0, &exppos, exprooms, EXPLOSIONTYPE_PHOENIX, g_Vars.currentplayernum);
|
||||
}
|
||||
}
|
||||
@@ -3079,57 +3079,89 @@ void prop_register_rooms(struct prop *prop)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f065d1c(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5)
|
||||
/**
|
||||
* Given a line from frompos to pos, use portals to get all rooms the line
|
||||
* intersects as well as the final room.
|
||||
*
|
||||
* If the line goes out of bounds, the intersecting list up until that point
|
||||
* will be returned.
|
||||
*/
|
||||
void los_find_intersecting_rooms_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting)
|
||||
{
|
||||
RoomNum stackrooms[8];
|
||||
s32 index;
|
||||
RoomNum tmprooms[8];
|
||||
s32 len;
|
||||
s32 i;
|
||||
|
||||
portal00018148(pos, newpos, rooms, stackrooms, morerooms, arg5);
|
||||
portal_find_rooms(frompos, topos, fromrooms, tmprooms, intersecting, maxintersecting);
|
||||
|
||||
index = 0;
|
||||
len = 0;
|
||||
|
||||
for (i = 0; stackrooms[i] != -1; i++) {
|
||||
if (bg_room_contains_coord(newpos, stackrooms[i])) {
|
||||
newrooms[index] = stackrooms[i];
|
||||
index++;
|
||||
for (i = 0; tmprooms[i] != -1; i++) {
|
||||
if (bg_room_contains_coord(topos, tmprooms[i])) {
|
||||
finalrooms[len] = tmprooms[i];
|
||||
len++;
|
||||
}
|
||||
}
|
||||
|
||||
newrooms[index] = -1;
|
||||
finalrooms[len] = -1;
|
||||
}
|
||||
|
||||
void func0f065dd8(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms)
|
||||
/**
|
||||
* Given a line from frompos to topos, use portals to get the final room if both
|
||||
* pos coords are in bounds and there is visibility between the two.
|
||||
*/
|
||||
void los_find_final_room_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms)
|
||||
{
|
||||
func0f065d1c(pos, rooms, newpos, newrooms, NULL, 0);
|
||||
los_find_intersecting_rooms_properly(frompos, fromrooms, topos, finalrooms, NULL, 0);
|
||||
}
|
||||
|
||||
void func0f065dfc(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5)
|
||||
/**
|
||||
* Given a line from frompos to topos, use portals to get all rooms the line
|
||||
* intersects as well as the final room.
|
||||
*
|
||||
* If the line goes out of bounds, run the fast test to try and find the room
|
||||
* that topos is above and add it to both room lists.
|
||||
*/
|
||||
void los_find_intersecting_rooms_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting)
|
||||
{
|
||||
func0f065d1c(pos, rooms, newpos, newrooms, morerooms, arg5);
|
||||
los_find_intersecting_rooms_properly(frompos, fromrooms, topos, finalrooms, intersecting, maxintersecting);
|
||||
|
||||
if (newrooms[0] == -1) {
|
||||
func0f065e98(pos, rooms, newpos, newrooms);
|
||||
if (finalrooms[0] == -1) {
|
||||
los_find_final_room_fast(frompos, fromrooms, topos, finalrooms);
|
||||
|
||||
if (morerooms) {
|
||||
rooms_append(newrooms, morerooms, arg5);
|
||||
if (intersecting) {
|
||||
rooms_append(finalrooms, intersecting, maxintersecting);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func0f065e74(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms)
|
||||
/**
|
||||
* Given a line from frompos to topos, use portals to find the final room.
|
||||
*
|
||||
* If this fails (eg. because either pos is out of bounds)
|
||||
* then fall back to the fast single point test.
|
||||
*/
|
||||
void los_find_final_room_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms)
|
||||
{
|
||||
func0f065dfc(pos, rooms, newpos, newrooms, NULL, 0);
|
||||
los_find_intersecting_rooms_exhaustive(frompos, fromrooms, topos, finalrooms, NULL, 0);
|
||||
}
|
||||
|
||||
void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *dstrooms)
|
||||
/**
|
||||
* Find a room for the given topos without taking any consideration into portals
|
||||
* or overlapping rooms.
|
||||
*
|
||||
* Populate finalrooms with the room that topos is in, if any.
|
||||
* Otherwise, populate finalrooms with the room that topos is above.
|
||||
* Otherwise, populate finalrooms with fromrooms.
|
||||
*/
|
||||
void los_find_final_room_fast(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms)
|
||||
{
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
RoomNum *ptr = NULL;
|
||||
s32 i;
|
||||
|
||||
bg_find_rooms_by_pos(pos2, inrooms, aboverooms, 20, NULL);
|
||||
bg_find_rooms_by_pos(topos, inrooms, aboverooms, 20, NULL);
|
||||
|
||||
if (inrooms[0] != -1) {
|
||||
ptr = inrooms;
|
||||
@@ -3138,21 +3170,21 @@ void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum
|
||||
}
|
||||
|
||||
if (ptr) {
|
||||
s32 room = cd_find_floor_room_at_pos(pos2, ptr);
|
||||
s32 room = cd_find_floor_room_at_pos(topos, ptr);
|
||||
|
||||
if (room > 0) {
|
||||
dstrooms[0] = room;
|
||||
dstrooms[1] = -1;
|
||||
finalrooms[0] = room;
|
||||
finalrooms[1] = -1;
|
||||
} else {
|
||||
dstrooms[0] = *ptr;
|
||||
dstrooms[1] = -1;
|
||||
finalrooms[0] = *ptr;
|
||||
finalrooms[1] = -1;
|
||||
}
|
||||
} else {
|
||||
for (i = 0; rooms[i] != -1; i++) {
|
||||
dstrooms[i] = rooms[i];
|
||||
for (i = 0; fromrooms[i] != -1; i++) {
|
||||
finalrooms[i] = fromrooms[i];
|
||||
}
|
||||
|
||||
dstrooms[i] = -1;
|
||||
finalrooms[i] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+43
-43
@@ -2291,7 +2291,7 @@ void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *mtx, RoomNum
|
||||
pos2.y = centre->y - sp70.m[row][1] * min;
|
||||
pos2.z = centre->z - sp70.m[row][2] * min;
|
||||
|
||||
func0f065e74(arg1, rooms, &pos2, rooms2);
|
||||
los_find_final_room_exhaustive(arg1, rooms, &pos2, rooms2);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (cd_find_floor_room_y_colour_flags_at_pos(&pos2, rooms2, &y, &obj->floorcol, NULL) > 0)
|
||||
@@ -2323,7 +2323,7 @@ void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *mtx, RoomNum
|
||||
}
|
||||
}
|
||||
|
||||
func0f065e74(arg1, rooms, &pos2, rooms2);
|
||||
los_find_final_room_exhaustive(arg1, rooms, &pos2, rooms2);
|
||||
func0f06a580(obj, &pos2, &sp70, rooms2);
|
||||
}
|
||||
|
||||
@@ -2348,7 +2348,7 @@ void func0f06ab60(struct defaultobj *obj, struct coord *arg1, Mtxf *arg2, RoomNu
|
||||
newpos.y = arg4->y - sp5c.m[2][1] * mult;
|
||||
newpos.z = arg4->z - sp5c.m[2][2] * mult;
|
||||
|
||||
func0f065e74(arg1, rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(arg1, rooms, &newpos, newrooms);
|
||||
func0f06a580(obj, &newpos, &sp5c, newrooms);
|
||||
}
|
||||
|
||||
@@ -3254,7 +3254,7 @@ s32 func0f06cd00(struct defaultobj *obj, struct coord *pos, struct coord *arg2,
|
||||
if ((prop->pos.x != pos->x || prop->pos.y != pos->y || prop->pos.z != pos->z)
|
||||
&& (obj->hidden & OBJHFLAG_PROJECTILE)
|
||||
&& (obj->projectile->flags & PROJECTILEFLAG_STICKY)) {
|
||||
portal00018148(&prop->pos, &sp1c4, prop->rooms, spb8, spcc, 20);
|
||||
portal_find_rooms(&prop->pos, &sp1c4, prop->rooms, spb8, spcc, 20);
|
||||
|
||||
ptr = spcc;
|
||||
|
||||
@@ -3510,7 +3510,7 @@ bool func0f06d37c(struct defaultobj *obj, struct coord *arg1, struct coord *arg2
|
||||
sp4c.y = sp80.y;
|
||||
sp4c.z = prop->pos.z;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp4c, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp4c, rooms);
|
||||
|
||||
prop->pos.y = sp4c.y;
|
||||
|
||||
@@ -3975,7 +3975,7 @@ void obj_land2(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
newpos.y = arg1->y - sp40.m[1][1] * ymin;
|
||||
newpos.z = arg1->z - sp40.m[1][2] * ymin;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
func0f06a580(obj, &newpos, &sp40, newrooms);
|
||||
}
|
||||
|
||||
@@ -4003,7 +4003,7 @@ void bolt_land(struct weaponobj *weapon, struct coord *arg1)
|
||||
newpos.y = arg1->y - mtx.m[2][1] * zmax;
|
||||
newpos.z = arg1->z - mtx.m[2][2] * zmax;
|
||||
|
||||
func0f065dd8(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_properly(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
func0f06a580(&weapon->base, &newpos, &mtx, newrooms);
|
||||
|
||||
beamnum = boltbeam_find_by_prop(prop);
|
||||
@@ -4043,7 +4043,7 @@ void knife_land(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
newpos.y = arg1->y - zero;
|
||||
newpos.z = arg1->z - zero;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
func0f06a580(obj, &newpos, &spd0, newrooms);
|
||||
}
|
||||
|
||||
@@ -4195,7 +4195,7 @@ bool prop_explode(struct prop *prop, s32 exptype)
|
||||
pos.z = parent->pos.z;
|
||||
}
|
||||
|
||||
func0f065e74(&parent->pos, parent->rooms, &pos, rooms);
|
||||
los_find_final_room_exhaustive(&parent->pos, parent->rooms, &pos, rooms);
|
||||
|
||||
result = explosion_create_complex(NULL, &pos, rooms, exptype, playernum);
|
||||
} else if ((obj->hidden & (OBJHFLAG_EMBEDDED | OBJHFLAG_PROJECTILE | OBJHFLAG_00020000)) == OBJHFLAG_00020000) {
|
||||
@@ -5258,11 +5258,11 @@ void hov_tick(struct defaultobj *obj, struct hov *hov)
|
||||
|
||||
setup0f09233c(obj, &sp90, obj->realrot, sp9c);
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp1b4, sp198);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp1b4, sp198);
|
||||
rooms_append(sp9c, sp198, ARRAYCOUNT(sp198));
|
||||
ground1 = cd_find_ground_at_cyl(&sp1b4, 5, sp198, &obj->floorcol, NULL);
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp1a8, sp188);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp1a8, sp188);
|
||||
rooms_append(sp9c, sp188, ARRAYCOUNT(sp188));
|
||||
ground2 = cd_find_ground_at_cyl(&sp1a8, 5, sp188, NULL, NULL);
|
||||
|
||||
@@ -5540,7 +5540,7 @@ s32 func0f072144(struct defaultobj *obj, struct coord *arg1, f32 arg2, bool arg3
|
||||
pos.x += arg1->x;
|
||||
pos.z += arg1->z;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &pos, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &pos, rooms);
|
||||
setup0f09233c(obj, &pos, sp460, rooms);
|
||||
|
||||
if (obj->type == OBJTYPE_HOVERBIKE) {
|
||||
@@ -5978,7 +5978,7 @@ void platform_displace_props2(struct prop *platform, Mtxf *arg1)
|
||||
prop->pos.z = sp58.m[3][2];
|
||||
|
||||
prop_deregister_rooms(prop);
|
||||
func0f065e74(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
los_find_final_room_exhaustive(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
func0f069c70(obj, true, true);
|
||||
}
|
||||
}
|
||||
@@ -6092,7 +6092,7 @@ bool rocket_tick_fbw(struct weaponobj *rocket)
|
||||
}
|
||||
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
func0f065e74(&rocketprop->pos, rocketprop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&rocketprop->pos, rocketprop->rooms, &newpos, newrooms);
|
||||
|
||||
rocketprop->pos.x = newpos.x;
|
||||
rocketprop->pos.y = newpos.y;
|
||||
@@ -6192,7 +6192,7 @@ s32 projectile_launch(struct defaultobj *obj, struct projectile *projectile, str
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
RoomNum rooms[8];
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &projectile->nextsteppos, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &projectile->nextsteppos, rooms);
|
||||
|
||||
prop->pos.x = projectile->nextsteppos.x;
|
||||
prop->pos.y = projectile->nextsteppos.y;
|
||||
@@ -6207,7 +6207,7 @@ s32 projectile_launch(struct defaultobj *obj, struct projectile *projectile, str
|
||||
if (weapon->weaponnum == WEAPON_ROCKET || weapon->weaponnum == WEAPON_HOMINGROCKET) {
|
||||
weapon->timer240 = 0;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, arg2, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, arg2, rooms);
|
||||
|
||||
prop->pos.x = arg2->x;
|
||||
prop->pos.y = arg2->y;
|
||||
@@ -6848,7 +6848,7 @@ s32 projectile_tick(struct defaultobj *obj, bool *embedded)
|
||||
sp5dc.z += projectile->speed.z * g_Vars.lvupdate60freal;
|
||||
|
||||
mtx3_to_mtx4(obj->realrot, &sp30c);
|
||||
func0f096698(&sp30c, &projectile->mtx, g_Vars.lvupdate240);
|
||||
projectile_update_matrix(&sp30c, &projectile->mtx, g_Vars.lvupdate240);
|
||||
mtx4_to_mtx3(&sp30c, obj->realrot);
|
||||
|
||||
sp5c8.x = prop->pos.x;
|
||||
@@ -7154,7 +7154,7 @@ s32 projectile_tick(struct defaultobj *obj, bool *embedded)
|
||||
if (cdresult != CDRESULT_COLLISION) {
|
||||
RoomNum rooms[8];
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp5dc, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp5dc, rooms);
|
||||
|
||||
prop->pos.x = sp5dc.x;
|
||||
prop->pos.y = sp5dc.y;
|
||||
@@ -7174,7 +7174,7 @@ s32 projectile_tick(struct defaultobj *obj, bool *embedded)
|
||||
sp5dc.z = sp5e8.z;
|
||||
}
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp5dc, rooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp5dc, rooms);
|
||||
|
||||
prop->pos.x = sp5dc.x;
|
||||
prop->pos.y = sp5dc.y;
|
||||
@@ -7303,7 +7303,7 @@ s32 projectile_tick(struct defaultobj *obj, bool *embedded)
|
||||
|
||||
if ((projectile->flags & PROJECTILEFLAG_00000100) == 0
|
||||
&& (projectile->bounceframe < 0 || projectile->bounceframe < g_Vars.lvframe60 - TICKS(60))) {
|
||||
mtx_load_random_rotation(&projectile->mtx);
|
||||
projectile_load_random_rotation(&projectile->mtx);
|
||||
}
|
||||
|
||||
projectile->bouncecount++;
|
||||
@@ -7829,7 +7829,7 @@ void platform_displace_props(struct prop *platform, s16 *propnums, struct coord
|
||||
|
||||
prop_deregister_rooms(prop);
|
||||
|
||||
func0f065e74(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
los_find_final_room_exhaustive(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
func0f069c70(obj, true, true);
|
||||
}
|
||||
}
|
||||
@@ -7848,8 +7848,8 @@ void platform_displace_props(struct prop *platform, s16 *propnums, struct coord
|
||||
|
||||
prop_deregister_rooms(prop);
|
||||
|
||||
func0f065e74(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
chr0f0220ac(chr);
|
||||
los_find_final_room_exhaustive(&platform->pos, platform->rooms, &prop->pos, prop->rooms);
|
||||
chr_detect_rooms(chr);
|
||||
model_set_root_position(chr->model, &prop->pos);
|
||||
|
||||
nodetype = chr->model->definition->rootnode->type;
|
||||
@@ -7904,7 +7904,7 @@ void platform_displace_props(struct prop *platform, s16 *propnums, struct coord
|
||||
sp78.y = prop->pos.y + ydist;
|
||||
sp78.z = prop->pos.z;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp78, sp68);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp78, sp68);
|
||||
|
||||
prop->pos.x = sp78.x;
|
||||
prop->pos.y = sp78.y;
|
||||
@@ -8078,7 +8078,7 @@ void lift_tick(struct prop *prop)
|
||||
}
|
||||
}
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
|
||||
prop->pos.x = newpos.x;
|
||||
prop->pos.y = newpos.y;
|
||||
@@ -9273,7 +9273,7 @@ void autogun_tick_shoot(struct prop *autogunprop)
|
||||
}
|
||||
|
||||
if (missed) {
|
||||
portal00018148(&gunpos, &hitpos, gunrooms, hitrooms, NULL, 0);
|
||||
portal_find_rooms(&gunpos, &hitpos, gunrooms, hitrooms, NULL, 0);
|
||||
|
||||
if (chr_is_using_paintball(ownerchr)) {
|
||||
sparks_create(hitrooms[0], NULL, &hitpos, 0, 0, SPARKTYPE_PAINT);
|
||||
@@ -9934,7 +9934,7 @@ void chopper_increment_movement(struct prop *prop, f32 goalroty, f32 goalrotx, s
|
||||
newpos.y = prop->pos.y + chopper->vy * g_Vars.lvupdate60freal;
|
||||
newpos.z = prop->pos.z + chopper->vz * g_Vars.lvupdate60freal;
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
|
||||
prop->pos.x = newpos.x;
|
||||
prop->pos.y = newpos.y;
|
||||
@@ -10094,7 +10094,7 @@ void chopper_tick_fall(struct prop *chopperprop)
|
||||
newpos.y = ground + 20;
|
||||
newpos.z = sp64.z;
|
||||
|
||||
func0f065e74(&chopperprop->pos, chopperprop->rooms, &newpos, newrooms);
|
||||
los_find_final_room_exhaustive(&chopperprop->pos, chopperprop->rooms, &newpos, newrooms);
|
||||
|
||||
chopperprop->pos.x = newpos.x;
|
||||
chopperprop->pos.y = newpos.y;
|
||||
@@ -10457,7 +10457,7 @@ void hovercar_tick(struct prop *prop)
|
||||
hovercar->speedtime60 = 1;
|
||||
}
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp1c0, sp1b0);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp1c0, sp1b0);
|
||||
|
||||
prop->pos.x = sp1c0.x;
|
||||
prop->pos.y = sp1c0.y;
|
||||
@@ -10648,7 +10648,7 @@ void hovercar_tick(struct prop *prop)
|
||||
sp150.y = prop->pos.y + sp194.f[1] * (hovercar->speed * g_Vars.lvupdate60freal);
|
||||
sp150.z = prop->pos.z + sp194.f[2] * (hovercar->speed * g_Vars.lvupdate60freal);
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp150, sp140);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp150, sp140);
|
||||
|
||||
if (ishoverbot) {
|
||||
sp150.y = cd_find_ground_at_cyl(&sp150, 5, sp140, NULL, NULL) + 35;
|
||||
@@ -11067,10 +11067,10 @@ s32 obj_tick_player(struct prop *prop)
|
||||
sp400.y = sp412.m[3][1];
|
||||
sp400.z = sp412.m[3][2];
|
||||
|
||||
if (obj->flags3 & OBJFLAG3_00000010) {
|
||||
func0f065e98(&prop->pos, prop->rooms, &sp400, sp384);
|
||||
if (obj->flags3 & OBJFLAG3_FINDROOMSFAST) {
|
||||
los_find_final_room_fast(&prop->pos, prop->rooms, &sp400, sp384);
|
||||
} else {
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp400, sp384);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp400, sp384);
|
||||
}
|
||||
|
||||
prop->pos.x = sp400.x;
|
||||
@@ -11162,10 +11162,10 @@ s32 obj_tick_player(struct prop *prop)
|
||||
sp236.y = prop->pos.y;
|
||||
sp236.z = (f32)sp116.z + prop->pos.z;
|
||||
|
||||
if (obj->flags3 & OBJFLAG3_00000010) {
|
||||
func0f065e98(&prop->pos, prop->rooms, &sp236, sp220);
|
||||
if (obj->flags3 & OBJFLAG3_FINDROOMSFAST) {
|
||||
los_find_final_room_fast(&prop->pos, prop->rooms, &sp236, sp220);
|
||||
} else {
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp236, sp220);
|
||||
los_find_final_room_exhaustive(&prop->pos, prop->rooms, &sp236, sp220);
|
||||
}
|
||||
|
||||
if (model_get_cur_anim_frame(model) >= model_get_num_anim_frames(model) - 1) {
|
||||
@@ -14459,7 +14459,7 @@ bool obj_drop(struct prop *prop, bool lazy)
|
||||
spe4.z += root->pos.z;
|
||||
|
||||
mtx4_set_translation(&spe4, &spf0);
|
||||
func0f065e74(&root->pos, root->rooms, &spe4, rooms);
|
||||
los_find_final_room_exhaustive(&root->pos, root->rooms, &spe4, rooms);
|
||||
} else {
|
||||
if (projectile->droptype == DROPTYPE_SURRENDER && parent->type == PROPTYPE_CHR) {
|
||||
struct chrdata *chr = parent->chr;
|
||||
@@ -14531,7 +14531,7 @@ bool obj_drop(struct prop *prop, bool lazy)
|
||||
mtx4_load_rotation(&rot, (Mtxf *)&projectile->mtx);
|
||||
} else {
|
||||
// DROPTYPE_OWNERREAP
|
||||
func0f0964b4(&projectile->speed, (Mtxf *)&projectile->mtx);
|
||||
projectile_load_random_speed_rotation(&projectile->speed, (Mtxf *)&projectile->mtx);
|
||||
}
|
||||
|
||||
if (!lazy && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
|
||||
@@ -14725,7 +14725,7 @@ void obj_check_destroyed(struct defaultobj *obj, struct coord *pos, s32 playernu
|
||||
obj->damage = 0;
|
||||
obj->hidden2 |= OBJH2FLAG_DESTROYED;
|
||||
|
||||
func0f065e74(&rootprop->pos, rootprop->rooms, pos, rooms);
|
||||
los_find_final_room_exhaustive(&rootprop->pos, rootprop->rooms, pos, rooms);
|
||||
explosion_create_complex(prop, pos, rooms, exptype, playernum);
|
||||
|
||||
if (obj->flags2 & OBJFLAG2_REMOVEWHENDESTROYED) {
|
||||
@@ -14785,7 +14785,7 @@ void obj_check_destroyed(struct defaultobj *obj, struct coord *pos, s32 playernu
|
||||
obj_deform(obj, (shotstaken >> 2) + 1);
|
||||
}
|
||||
|
||||
func0f065e74(&rootprop->pos, rootprop->rooms, pos, rooms);
|
||||
los_find_final_room_exhaustive(&rootprop->pos, rootprop->rooms, pos, rooms);
|
||||
|
||||
if (exptype != EXPLOSIONTYPE_NONE) {
|
||||
explosion_create_simple(prop, pos, rooms, EXPLOSIONTYPE_6, playernum);
|
||||
@@ -19354,7 +19354,7 @@ struct prop *door_init(struct doorobj *door, struct coord *pos, Mtxf *mtx, RoomN
|
||||
mtx4_to_mtx3(&sp38, door->mtx98);
|
||||
}
|
||||
|
||||
func0f065e74(pos, rooms, centre, sp28);
|
||||
los_find_final_room_exhaustive(pos, rooms, centre, sp28);
|
||||
|
||||
prop->type = PROPTYPE_DOOR;
|
||||
prop->door = door;
|
||||
@@ -21327,7 +21327,7 @@ void projectile_create(struct prop *fromprop, struct fireslotthing *arg1, struct
|
||||
bgun_play_prop_hit_sound(&gset, obstacle, -1);
|
||||
}
|
||||
|
||||
func0f065e74(pos, fromprop->rooms, &endpos, sp1c8);
|
||||
los_find_final_room_exhaustive(pos, fromprop->rooms, &endpos, sp1c8);
|
||||
sparks_create(sp1c8[0], obstacle, &endpos, NULL, NULL, SPARKTYPE_DEFAULT);
|
||||
obj_take_gunfire(obstacle->obj, gset_get_damage(&gset), &endpos, weaponnum, -1);
|
||||
|
||||
@@ -21340,7 +21340,7 @@ void projectile_create(struct prop *fromprop, struct fireslotthing *arg1, struct
|
||||
}
|
||||
}
|
||||
} else {
|
||||
func0f065e74(pos, fromprop->rooms, &endpos, sp1c8);
|
||||
los_find_final_room_exhaustive(pos, fromprop->rooms, &endpos, sp1c8);
|
||||
|
||||
if (weaponnum != WEAPON_CHOPPERGUN) {
|
||||
bgun_play_bg_hit_sound(&gset, &endpos, -1, sp1c8);
|
||||
|
||||
+2
-2
@@ -274,8 +274,8 @@ bool splat0f149274(f32 arg0, struct prop *chrprop, struct shotdata *shotdata, f3
|
||||
endpos.f[i] = stackshotdata.gunpos3d.f[i] + stackshotdata.gundir3d.f[i] * g_SplatMaxDistance;
|
||||
}
|
||||
|
||||
portal00018148(&chrprop->pos, &stackshotdata.gunpos3d, chrprop->rooms, gunrooms, NULL, 0);
|
||||
portal00018148(&stackshotdata.gunpos3d, &endpos, gunrooms, endrooms, rooms, ARRAYCOUNT(rooms) - 1);
|
||||
portal_find_rooms(&chrprop->pos, &stackshotdata.gunpos3d, chrprop->rooms, gunrooms, NULL, 0);
|
||||
portal_find_rooms(&stackshotdata.gunpos3d, &endpos, gunrooms, endrooms, rooms, ARRAYCOUNT(rooms) - 1);
|
||||
|
||||
for (i = 0; rooms[i] != -1; i++) {
|
||||
if (bg_test_hit_in_room(&stackshotdata.gunpos3d, &endpos, rooms[i], &hitthing)
|
||||
|
||||
@@ -571,7 +571,7 @@
|
||||
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRHFLAG_PERFECTACCURACY 0x00008000 // Duel opponents
|
||||
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRHFLAG_00020000 0x00020000
|
||||
#define CHRHFLAG_FINDROOMSFAST 0x00020000 // Can use if chr never goes out of bounds or in overlapping rooms
|
||||
#define CHRHFLAG_00040000 0x00040000 // Not used
|
||||
#define CHRHFLAG_DISGUISED 0x00080000
|
||||
#define CHRHFLAG_WARPONSCREEN 0x00100000 // Allow chr warp to occur onscreen
|
||||
@@ -3093,7 +3093,7 @@
|
||||
#define OBJFLAG3_GRABBABLE 0x00000002
|
||||
#define OBJFLAG3_DOOR_STICKY 0x00000004 // eg. Skedar Ruins
|
||||
#define OBJFLAG3_00000008 0x00000008 // Not used in scripts
|
||||
#define OBJFLAG3_00000010 0x00000010 // Used heaps
|
||||
#define OBJFLAG3_FINDROOMSFAST 0x00000010 // Can use if obj never goes out of bounds or in overlapping rooms
|
||||
#define OBJFLAG3_AUTOCUTSCENESOUNDS 0x00000020 // For doors and objs - play default open/close noises
|
||||
#define OBJFLAG3_RTRACKED_YELLOW 0x00000040
|
||||
#define OBJFLAG3_CANHARDFREE 0x00000080 // Can free prop while on screen (MP weapons only)
|
||||
|
||||
@@ -9,9 +9,9 @@ void chr_deregister(s32 chrnum);
|
||||
void chr_calculate_push_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, bool arg3);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3, bool arg4);
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount, bool writerooms);
|
||||
#else
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3);
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount);
|
||||
#endif
|
||||
|
||||
bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f32 *mangroundptr);
|
||||
@@ -23,7 +23,7 @@ void chr_update_aim_properties(struct chrdata *chr);
|
||||
void chr_flinch_body(struct chrdata *chr);
|
||||
void chr_flinch_head(struct chrdata *chr, f32 arg1);
|
||||
f32 chr_get_flinch_amount(struct chrdata *chr);
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chr_find_entered_rooms_at_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chr0f0220ec(struct chrdata *chr, s32 lvupdate240, bool arg2);
|
||||
void chr0f022214(struct chrdata *chr, struct prop *child, bool fulltick);
|
||||
void chr_update_cloak(struct chrdata *chr);
|
||||
@@ -82,8 +82,8 @@ f32 chr_get_armor(struct chrdata *chr);
|
||||
void chr_init(struct prop *prop, u8 *ailist);
|
||||
struct prop *chr_allocate(struct model *model, struct coord *pos, RoomNum *rooms, f32 faceangle, u8 *ailist);
|
||||
void chr_clear_references(s32 propnum);
|
||||
void chr0f022084(struct chrdata *chr, RoomNum *room);
|
||||
void chr0f0220ac(struct chrdata *chr);
|
||||
void chr_find_entered_rooms(struct chrdata *chr, RoomNum *room);
|
||||
void chr_detect_rooms(struct chrdata *chr);
|
||||
void chr_cloak(struct chrdata *chr, bool arg1);
|
||||
void chr_uncloak(struct chrdata *chr, bool value);
|
||||
void chr_uncloak_temporarily(struct chrdata *chr);
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void mtx_load_random_rotation(Mtxf *mtx);
|
||||
void func0f0964b4(struct coord *arg0, Mtxf *mtx);
|
||||
void func0f0965e4(f32 *arg0, f32 *arg1, f32 arg2);
|
||||
void func0f096698(Mtxf *arg0, Mtxf *arg1, s32 count);
|
||||
void projectile_load_random_rotation(Mtxf *mtx);
|
||||
void projectile_load_random_speed_rotation(struct coord *speed, Mtxf *mtx);
|
||||
void projectile_update_fall(f32 *yincrement, f32 *speed, f32 lvupdate60);
|
||||
void projectile_update_matrix(Mtxf *arg0, Mtxf *arg1, s32 lvupdate240);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -55,11 +55,11 @@ void prop_register_room(struct prop *prop, RoomNum room);
|
||||
void prop_deregister_room(struct prop *prop, RoomNum room);
|
||||
void prop_deregister_rooms(struct prop *prop);
|
||||
void prop_register_rooms(struct prop *prop);
|
||||
void func0f065d1c(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065dd8(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065dfc(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065e74(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2);
|
||||
void los_find_intersecting_rooms_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
void los_find_final_room_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void los_find_intersecting_rooms_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
void los_find_final_room_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void los_find_final_room_fast(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void room_get_props(RoomNum *room, s16 *propnums, s32 len);
|
||||
void props_defrag_room_props(void);
|
||||
void prop_get_bbox(struct prop *prop, f32 *radius, f32 *ymax, f32 *ymin);
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
#define PORTALINTERSECTION_FRONTTOBEHIND 2
|
||||
|
||||
void portal_get_avg_vertex_pos(s32 portalnum, struct coord *avg);
|
||||
void portal00017dc4(RoomNum *rooms, RoomNum roomnum);
|
||||
s32 portal_calculate_intersection(s32 portalnum, struct coord *pos1, struct coord *pos2);
|
||||
void portal00018148(struct coord *pos, struct coord *pos2, RoomNum *rooms, RoomNum *arg3, RoomNum *arg4, s32 arg5);
|
||||
void portal_find_rooms(struct coord *frompos, struct coord *topos, RoomNum *fromrooms, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
|
||||
#endif
|
||||
|
||||
+13
-13
@@ -3456,7 +3456,7 @@ bool cd_test_cyl_move01(struct coord *pos, RoomNum *rooms, struct coord *targetp
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, targetpos, rooms, sp34, sp44, 20);
|
||||
portal_find_rooms(pos, targetpos, rooms, sp34, sp44, 20);
|
||||
|
||||
return cd_test_a_to_b(pos, targetpos, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg4, ymax, ymin);
|
||||
}
|
||||
@@ -3467,7 +3467,7 @@ s32 cd_test_cyl_move02(struct coord *pos, RoomNum *rooms, struct coord *coord2,
|
||||
RoomNum sp44[20];
|
||||
RoomNum sp34[8];
|
||||
|
||||
func0f065d1c(pos, rooms, coord2, sp34, sp44, 20);
|
||||
los_find_intersecting_rooms_properly(pos, rooms, coord2, sp34, sp44, 20);
|
||||
|
||||
if (array_intersects(sp34, rooms2)) {
|
||||
result = cd_test_a_to_b(pos, coord2, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
@@ -3483,7 +3483,7 @@ s32 cd_exam_cyl_move03(struct coord *pos, RoomNum *rooms, struct coord *arg2, u3
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, arg2, rooms, sp34, sp44, 20);
|
||||
portal_find_rooms(pos, arg2, rooms, sp34, sp44, 20);
|
||||
|
||||
return cd_exam_a_to_b(pos, arg2, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg4, ymax, ymin);
|
||||
}
|
||||
@@ -3492,7 +3492,7 @@ s32 cd_test_cyl_move04(struct coord *arg0, RoomNum *arg1, struct coord *arg2, Ro
|
||||
{
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
portal_find_rooms(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cd_test_a_to_b(arg0, arg2, rooms, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
}
|
||||
@@ -3503,7 +3503,7 @@ s32 cd_exam_cyl_move05(struct coord *pos, RoomNum *rooms, struct coord *pos2, Ro
|
||||
RoomNum sp34[8];
|
||||
s32 result;
|
||||
|
||||
func0f065d1c(pos, rooms, pos2, sp34, sp44, 20);
|
||||
los_find_intersecting_rooms_properly(pos, rooms, pos2, sp34, sp44, 20);
|
||||
|
||||
result = cd_exam_a_to_b(pos, pos2, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
|
||||
@@ -3522,7 +3522,7 @@ s32 cd_exam_cyl_move06(struct coord *arg0, RoomNum *arg1, struct coord *arg2, Ro
|
||||
struct coord sp40;
|
||||
s32 result;
|
||||
|
||||
func0f065d1c(arg0, arg1, arg2, sp4c, sp5c, 20);
|
||||
los_find_intersecting_rooms_properly(arg0, arg1, arg2, sp4c, sp5c, 20);
|
||||
|
||||
result = cd_exam_a_to_b(arg0, arg2, sp5c, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg6, ymax, ymin);
|
||||
|
||||
@@ -3544,7 +3544,7 @@ s32 cd_exam_cyl_move07(struct coord *arg0, RoomNum *arg1, struct coord *arg2, Ro
|
||||
{
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
portal_find_rooms(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cd_exam_a_to_b(arg0, arg2, rooms, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
}
|
||||
@@ -3555,7 +3555,7 @@ s32 cd_exam_cyl_move08(struct coord *arg0, RoomNum *arg1, struct coord *arg2, Ro
|
||||
struct coord sp40;
|
||||
s32 result;
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
portal_find_rooms(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
result = cd_exam_a_to_b(arg0, arg2, rooms, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg6, ymax, ymin);
|
||||
|
||||
@@ -3575,7 +3575,7 @@ bool cd_test_los03(struct coord *viewpos, RoomNum *rooms, struct coord *targetpo
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(viewpos, targetpos, rooms, sp34, sp44, 20);
|
||||
portal_find_rooms(viewpos, targetpos, rooms, sp34, sp44, 20);
|
||||
|
||||
return cd_test_a_to_b(viewpos, targetpos, sp44, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
@@ -3591,7 +3591,7 @@ bool cd_test_los05(struct coord *coord, RoomNum *rooms, struct coord *coord2, Ro
|
||||
RoomNum sp44[20];
|
||||
RoomNum sp34[8];
|
||||
|
||||
func0f065d1c(coord, rooms, coord2, sp34, sp44, 20);
|
||||
los_find_intersecting_rooms_properly(coord, rooms, coord2, sp34, sp44, 20);
|
||||
|
||||
if (array_intersects(sp34, rooms2)) {
|
||||
result = cd_test_a_to_b(coord, coord2, sp44, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
@@ -3612,7 +3612,7 @@ bool cd_test_los07(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNu
|
||||
bool result;
|
||||
RoomNum sp34[20];
|
||||
|
||||
func0f065d1c(pos, rooms, pos2, rooms3, sp34, 20);
|
||||
los_find_intersecting_rooms_properly(pos, rooms, pos2, rooms3, sp34, 20);
|
||||
|
||||
if (array_intersects(rooms3, rooms2)) {
|
||||
result = cd_test_a_to_b(pos, pos2, sp34, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
@@ -3628,7 +3628,7 @@ s32 cd_exam_los08(struct coord *pos, RoomNum *rooms, struct coord *pos2, u32 typ
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, pos2, rooms, sp34, sp44, 20);
|
||||
portal_find_rooms(pos, pos2, rooms, sp34, sp44, 20);
|
||||
|
||||
return cd_exam_a_to_b(pos, pos2, sp44, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
@@ -3642,7 +3642,7 @@ s32 cd_test_los10(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum
|
||||
{
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
portal_find_rooms(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cd_test_a_to_b(arg0, arg2, rooms, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
|
||||
+45
-27
@@ -59,7 +59,7 @@ void portal00018e74nb(s32 portalnum)
|
||||
* The list is assumed to have 16 slots, with the last being reserved for the
|
||||
* -1 terminator.
|
||||
*/
|
||||
void portal00017dc4(RoomNum *rooms, RoomNum roomnum)
|
||||
void portal_append_room(RoomNum *rooms, RoomNum roomnum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -169,22 +169,35 @@ s32 portal_calculate_intersection(s32 portalnum, struct coord *pos1, struct coor
|
||||
: PORTALINTERSECTION_FRONTTOBEHIND;
|
||||
}
|
||||
|
||||
void portal00018148(struct coord *pos1, struct coord *pos2, RoomNum *rooms1, RoomNum *rooms2, RoomNum *rooms3, s32 arg5)
|
||||
/**
|
||||
* Given frompos, fromrooms and a topos,
|
||||
* use portals to figure out the new rooms list.
|
||||
*
|
||||
* The final rooms are written to results1,
|
||||
* which should only ever have 0 or 1 room in it.
|
||||
*
|
||||
* The caller may optionally pass results2 and its length,
|
||||
* which will be populated with all traversed rooms.
|
||||
*
|
||||
* This is overengineered. It allows a room to have multiple
|
||||
* *overlapping* portals. This is dumb and never happens.
|
||||
*/
|
||||
void portal_find_rooms(struct coord *frompos, struct coord *topos, RoomNum *fromrooms, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 roomnum;
|
||||
s32 numportals;
|
||||
s16 *portalnums;
|
||||
RoomNum rooms9c[16];
|
||||
RoomNum rooms7c[16];
|
||||
RoomNum rooms5c[16];
|
||||
RoomNum srcrooms[16];
|
||||
RoomNum foundrooms[16];
|
||||
RoomNum allrooms[16];
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
rooms9c[i] = rooms1[i];
|
||||
rooms5c[i] = rooms1[i];
|
||||
srcrooms[i] = fromrooms[i];
|
||||
allrooms[i] = fromrooms[i];
|
||||
|
||||
if (rooms1[i] == -1) {
|
||||
if (fromrooms[i] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -199,35 +212,38 @@ void portal00018148(struct coord *pos1, struct coord *pos2, RoomNum *rooms1, Roo
|
||||
var8005ef20 = 0;
|
||||
}
|
||||
|
||||
// Iterate outwards
|
||||
do {
|
||||
rooms7c[0] = -1;
|
||||
foundrooms[0] = -1;
|
||||
|
||||
for (j = 0; (roomnum = rooms9c[j]) != -1 && j < 16; j++) {
|
||||
// Iterate source rooms
|
||||
for (j = 0; (roomnum = srcrooms[j]) != -1 && j < 16; j++) {
|
||||
numportals = g_Rooms[roomnum].numportals;
|
||||
portalnums = &g_RoomPortals[g_Rooms[roomnum].roomportallistoffset];
|
||||
|
||||
// Iterate this source room's portals
|
||||
for (i = 0; i < numportals; i++) {
|
||||
s32 portalnum = *portalnums;
|
||||
u8 *s1 = var8009a4e0[portalnum];
|
||||
|
||||
if (s1[0] != var8005ef20) {
|
||||
s1[0] = var8005ef20;
|
||||
s1[1] = portal_calculate_intersection(portalnum, pos1, pos2);
|
||||
s1[1] = portal_calculate_intersection(portalnum, frompos, topos);
|
||||
}
|
||||
|
||||
if (s1[1] != PORTALINTERSECTION_NONE) {
|
||||
if (s1[1] == PORTALINTERSECTION_BEHINDTOFRONT) {
|
||||
if (roomnum == g_BgPortals[portalnum].roomnum1) {
|
||||
portal00017dc4(rooms7c, g_BgPortals[portalnum].roomnum2);
|
||||
portal00017dc4(rooms5c, g_BgPortals[portalnum].roomnum2);
|
||||
portal_append_room(foundrooms, g_BgPortals[portalnum].roomnum2);
|
||||
portal_append_room(allrooms, g_BgPortals[portalnum].roomnum2);
|
||||
s1[1] = PORTALINTERSECTION_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
if (s1[1] == PORTALINTERSECTION_FRONTTOBEHIND) {
|
||||
if (roomnum == g_BgPortals[portalnum].roomnum2) {
|
||||
portal00017dc4(rooms7c, g_BgPortals[portalnum].roomnum1);
|
||||
portal00017dc4(rooms5c, g_BgPortals[portalnum].roomnum1);
|
||||
portal_append_room(foundrooms, g_BgPortals[portalnum].roomnum1);
|
||||
portal_append_room(allrooms, g_BgPortals[portalnum].roomnum1);
|
||||
s1[1] = PORTALINTERSECTION_NONE;
|
||||
}
|
||||
}
|
||||
@@ -237,34 +253,36 @@ void portal00018148(struct coord *pos1, struct coord *pos2, RoomNum *rooms1, Roo
|
||||
}
|
||||
}
|
||||
|
||||
if (rooms7c[0] == -1) {
|
||||
if (foundrooms[0] == -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Replace srcrooms with the newly found rooms so the newly
|
||||
// found rooms are used as the source on the next iteration.
|
||||
for (i = 0; i < 16; i++) {
|
||||
rooms9c[i] = rooms7c[i];
|
||||
srcrooms[i] = foundrooms[i];
|
||||
|
||||
if (rooms7c[i] == -1) {
|
||||
if (foundrooms[i] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (rooms7c[0] != -1);
|
||||
} while (foundrooms[0] != -1);
|
||||
|
||||
for (i = 0; i < 7 && rooms9c[i] != -1; i++) {
|
||||
rooms2[i] = rooms9c[i];
|
||||
for (i = 0; i < 7 && srcrooms[i] != -1; i++) {
|
||||
finalrooms[i] = srcrooms[i];
|
||||
}
|
||||
|
||||
rooms2[i] = -1;
|
||||
finalrooms[i] = -1;
|
||||
|
||||
if (rooms3 != NULL) {
|
||||
for (i = 0; i < arg5; i++) {
|
||||
rooms3[i] = rooms5c[i];
|
||||
if (intersecting != NULL) {
|
||||
for (i = 0; i < maxintersecting; i++) {
|
||||
intersecting[i] = allrooms[i];
|
||||
|
||||
if (rooms5c[i] == -1) {
|
||||
if (allrooms[i] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
rooms3[i] = -1;
|
||||
intersecting[i] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
+52
-52
@@ -2543,22 +2543,22 @@ u8 func041b_intro_shot01_pitchup[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_01, OBJ_JUMPSHIP2, 0x04, 0xffff)
|
||||
enable_object(OBJ_POLICECAR)
|
||||
set_object_flag3(OBJ_POLICECAR, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_POLICECAR, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_01, OBJ_POLICECAR, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCOP3)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_02, OBJ_HOVERCOP3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAR3)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_03, OBJ_HOVERCAR3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERMOTO3)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_04, OBJ_HOVERMOTO3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAB3)
|
||||
set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_05, OBJ_HOVERCAB3, 0x04, 0xffff)
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
@@ -2590,25 +2590,25 @@ u8 func041a_intro_shot02_flying[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_02, OBJ_JUMPSHIP2, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERTAXI2)
|
||||
set_object_flag3(OBJ_HOVERTAXI2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERTAXI2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_06, OBJ_HOVERTAXI2, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCOP3)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_07, OBJ_HOVERCOP3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAR3)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_08, OBJ_HOVERCAR3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERMOTO3)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_09, OBJ_HOVERMOTO3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAB3)
|
||||
set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_10, OBJ_HOVERCAB3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERTRUCK3)
|
||||
set_object_flag3(OBJ_HOVERTRUCK3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERTRUCK3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_11, OBJ_HOVERTRUCK3, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2636,16 +2636,16 @@ u8 func0419_intro_shot03_redthing[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_03, OBJ_JUMPSHIP2, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERTAXI1)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_12, OBJ_HOVERTAXI1, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCOP3)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_13, OBJ_HOVERCOP3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAR3)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_14, OBJ_HOVERCAR3, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2670,25 +2670,25 @@ u8 func041c_intro_shot04_topdown[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_04, OBJ_JUMPSHIP2, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERTAXI1)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_15, OBJ_HOVERTAXI1, 0x04, 0xffff)
|
||||
|
||||
// Invalid object
|
||||
enable_object(0x1d)
|
||||
set_object_flag3(0x1d, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x1d, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_16, 0x1d, 0x04, 0xffff)
|
||||
|
||||
enable_object(OBJ_HOVERCOP3)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_17, OBJ_HOVERCOP3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERCAR3)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_18, OBJ_HOVERCAR3, 0x04, 0xffff)
|
||||
enable_object(OBJ_HOVERMOTO3)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_19, OBJ_HOVERMOTO3, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2718,13 +2718,13 @@ u8 func041d_intro_shot05_onboard[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_05, OBJ_JUMPSHIP2, 0x01, 0xffff)
|
||||
enable_object(OBJ_HOVERTAXI1)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_20, OBJ_HOVERTAXI1, 0x04, 0xffff)
|
||||
enable_object(0x1d)
|
||||
set_object_flag3(0x1d, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x1d, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_VEHICLE_21, 0x1d, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2872,7 +2872,7 @@ u8 func0423_intro_shot09_ascend[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_06, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_tinted_glass_enabled(TRUE)
|
||||
|
||||
@@ -2896,14 +2896,14 @@ u8 func0424_intro_shot07_towerint[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_07, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_INTRO_SEC, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SECRETARY, 4)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2927,7 +2927,7 @@ u8 func0425_intro_shot08_rooftop[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_08, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER1_01, OBJ_BANNER1, 0x04, 0xffff)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER2_01, OBJ_BANNER2, 0x04, 0xffff)
|
||||
@@ -2953,13 +2953,13 @@ u8 func0426_intro_shot10_helipad[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_09, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER1)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER1_02, OBJ_BANNER1, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER2)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER2_02, OBJ_BANNER2, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -2983,16 +2983,16 @@ u8 func0427_intro_shot12_rope[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_10, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
enable_object(OBJ_ROPE)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_ROPE_01, OBJ_ROPE, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER1)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER1_03, OBJ_BANNER1, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER2)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER2_03, OBJ_BANNER2, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -3017,7 +3017,7 @@ u8 func0428_intro_shot06_towerext[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_11, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_object_flag2(OBJ_HOVERCOP1, OBJFLAG2_INVISIBLE)
|
||||
set_object_flag2(OBJ_HOVERCOP2, OBJFLAG2_INVISIBLE)
|
||||
@@ -3059,7 +3059,7 @@ u8 func0429_intro_shot11_door[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_12, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_tinted_glass_enabled(TRUE)
|
||||
|
||||
@@ -3082,14 +3082,14 @@ u8 func042a_intro_shot13_jojump[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_13, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_INTRO_JO_09, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, TRUE)
|
||||
enable_object(OBJ_ROPE)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_ROPE_02, OBJ_ROPE, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -3110,20 +3110,20 @@ u8 func042b_intro_shot14_jodescend[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_DROPSHIP_14, OBJ_JUMPSHIP1, 0x04, 0xffff)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, TRUE)
|
||||
enable_object(OBJ_ROPE)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_ROPE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_ROPE_03, OBJ_ROPE, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER1)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER1_04, OBJ_BANNER1, 0x04, 0xffff)
|
||||
enable_object(OBJ_BANNER2)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER2_04, OBJ_BANNER2, 0x04, 0xffff)
|
||||
|
||||
wait_for_camera_finished
|
||||
@@ -3152,7 +3152,7 @@ u8 func042d_intro_shot15_joland[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_INTRO_JO_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, FALSE)
|
||||
|
||||
@@ -3162,16 +3162,16 @@ u8 func042d_intro_shot15_joland[] = {
|
||||
label(0x36)
|
||||
enable_object(OBJ_BANNER1)
|
||||
enable_object(OBJ_BANNER2)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER1_05, OBJ_BANNER1, 0x08, 0xffff)
|
||||
|
||||
// @bug: Copy/paste error - should be banner 2
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_BANNER1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AME_INTRO_BANNER2_05, OBJ_BANNER2, 0x08, 0xffff)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_INTRO_JO_03, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
set_chr_hudpiece_visible(CHR_BOND, FALSE)
|
||||
mute_channel(CHANNEL_7)
|
||||
@@ -3209,7 +3209,7 @@ u8 func0416_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AME_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
restart_timer
|
||||
unset_stage_flag(STAGEFLAG_LAB_ELEVATOR_CLOSED)
|
||||
|
||||
+13
-13
@@ -2356,13 +2356,13 @@ u8 func100d_intro[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_DRC, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_GUARD_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4)
|
||||
unset_stage_flag(STAGEFLAG_00800000)
|
||||
restart_timer
|
||||
@@ -2432,16 +2432,16 @@ u8 func100d_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_DRC, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_PERIMDISABLEDTMP)
|
||||
chr_do_animation(ANIM_CUT_ARK_INTRO_GUARD_01, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2)
|
||||
|
||||
@@ -2480,7 +2480,7 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_DRC, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4)
|
||||
|
||||
set_ailist(CHR_CASS, AILIST_CASS_OUTRO)
|
||||
@@ -2488,7 +2488,7 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_CASS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4)
|
||||
|
||||
set_ailist(CHR_MRBLONDE, GAILIST_IDLE)
|
||||
@@ -2496,7 +2496,7 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_MRB, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MRBLONDE, 4)
|
||||
|
||||
set_ailist(CHR_OUTRO_GUARD1, GAILIST_IDLE)
|
||||
@@ -2504,7 +2504,7 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_GUARD1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD1, 4)
|
||||
|
||||
set_ailist(CHR_OUTRO_GUARD2, GAILIST_IDLE)
|
||||
@@ -2512,11 +2512,11 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_GUARD2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD2, 4)
|
||||
|
||||
enable_object(OBJ_JUMPSHIP)
|
||||
set_object_flag3(OBJ_JUMPSHIP, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_JUMPSHIP, OBJFLAG3_FINDROOMSFAST)
|
||||
set_object_flag2(OBJ_JUMPSHIP, OBJFLAG2_CANFILLVIEWPORT)
|
||||
object_do_animation(ANIM_CUT_ARK_OUTRO_DROPSHIP, OBJ_JUMPSHIP, 0x04, 0xffff)
|
||||
set_ailist(CHR_P1P2, GAILIST_IDLE)
|
||||
@@ -2524,7 +2524,7 @@ u8 func0412_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ARK_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
show_nonessential_chrs(FALSE)
|
||||
restart_timer
|
||||
|
||||
@@ -101,7 +101,7 @@ u8 func1002_first_walk[] = {
|
||||
camera_movement(ANIM_CUT_ATE_INTRO_CAM)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
show_hudmsg_middle(0x00, COLOR_02_WHITE, L_ATE_007) // "THE DUEL"
|
||||
chr_do_animation(ANIM_RELOAD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_GUARD, 2)
|
||||
label(0x2d)
|
||||
@@ -165,7 +165,7 @@ u8 func1007_second_walk[] = {
|
||||
yield
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_GRAB_CROTCH, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 2)
|
||||
|
||||
label(0x2d)
|
||||
@@ -246,7 +246,7 @@ u8 func1008_third_walk[] = {
|
||||
yield
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_HEAD_ROLL, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 2)
|
||||
label(0x2d)
|
||||
show_hudmsg(CHR_BOND, L_ATE_014) // "Opponent skill level: PERFECT AGENT"
|
||||
|
||||
+11
-11
@@ -477,7 +477,7 @@ u8 func1002_intro[] = {
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, TRUE)
|
||||
|
||||
@@ -580,7 +580,7 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
stop_cutscene_track
|
||||
stop_ambient_track
|
||||
@@ -635,49 +635,49 @@ u8 func0402_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4)
|
||||
|
||||
set_chr_chrflag(CHR_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_SKEDAR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS_OUTRO, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS_OUTRO, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS_OUTRO, 4)
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
set_chr_chrflag(CHR_TRENT_OUTRO, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_TRENT_OUTRO, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT_OUTRO, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT_OUTRO, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TRENT_OUTRO, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_TRENT, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT_OUTRO, 4)
|
||||
#else
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_TRENT, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4)
|
||||
#endif
|
||||
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_MRB, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MRBLONDE, 4)
|
||||
|
||||
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT_OUTRO, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT_OUTRO, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_AZT_OUTRO_PRES, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_PRESIDENT_OUTRO, 4)
|
||||
|
||||
enable_object(0x00)
|
||||
set_object_flag2(OBJ_CRATE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_AZT_OUTRO_CRATE, OBJ_CRATE, 0x04, 0xffff)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2018,7 +2018,7 @@ u8 func1016_hide_hoverbike[] = {
|
||||
u8 func1014_setup_skedar_shuttle[] = {
|
||||
yield
|
||||
enable_object(OBJ_SKEDAR_SHUTTLE)
|
||||
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_set_modelpart_visible(OBJ_SKEDAR_SHUTTLE, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
object_do_animation(ANIM_0486, OBJ_SKEDAR_SHUTTLE, 0x01, 0xffff)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
+19
-19
@@ -796,24 +796,24 @@ u8 func0401_unused_cutscene[] = {
|
||||
camera_movement(ANIM_CUT_CAVE_BETA_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_BETA_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, TRUE)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x00, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_BETA_GUARD1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x00, 4)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x01, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x01, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x01, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_BETA_GUARD2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x01, 4)
|
||||
set_chr_chrflag(0x02, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x02, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x02, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x02, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_BETA_GUARD3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x02, 4)
|
||||
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_STEWARDESS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_STEWARDESS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_BETA_STEWARDESS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_STEWARDESS, 4)
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
@@ -856,12 +856,12 @@ u8 func0425_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_NSA, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_OUTRO_NSA, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_OUTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_NSA, 4)
|
||||
|
||||
enable_object(OBJ_PLANE)
|
||||
set_object_flag2(OBJ_PLANE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_PLANE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_PLANE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_CAVE_OUTRO_PLANE, OBJ_PLANE, 0x04, 0xffff)
|
||||
|
||||
set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -3593,40 +3593,40 @@ u8 func1003_intro[] = {
|
||||
camera_movement(ANIM_CUT_CAVE_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_hudpiece_visible(CHR_BOND, TRUE)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_TRENT, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4)
|
||||
set_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x48, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x48, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x48, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_NSA1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x48, 4)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_NSA2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x49, 4)
|
||||
set_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x4a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_NSA3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4a, 4)
|
||||
set_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4b, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x4b, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_GUARD1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4b, 4)
|
||||
set_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4c, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4c, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x4c, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_GUARD2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4c, 4)
|
||||
enable_object(0x22)
|
||||
set_object_flag2(0x22, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x22, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x22, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_CAVE_INTRO_CABLECAR, 0x22, 0x04, 0xffff)
|
||||
enable_object(0x2f)
|
||||
set_object_flag2(0x2f, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x2f, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x2f, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_CAVE_INTRO_BINOCULARS, 0x2f, 0x04, 0xffff)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0x0000)
|
||||
@@ -3836,14 +3836,14 @@ u8 func1003_intro[] = {
|
||||
remove_chr(0x4c)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_NSA2, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x49, 2)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_CAVE_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
set_chr_hudpiece_visible(CHR_BOND, FALSE)
|
||||
unset_object_flag2(0x22, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x22, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x22, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_CAVE_INTRO_CABLECAR, 0x22, 0x01, 0xfffe)
|
||||
set_ailist(0x00, 0x0405)
|
||||
set_ailist(0x01, 0x0405)
|
||||
|
||||
+13
-13
@@ -692,15 +692,15 @@ u8 func1002_intro[] = {
|
||||
camera_movement(ANIM_CUT_DAM_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -812,10 +812,10 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
disable_chr(CHR_INTRO_GUARD)
|
||||
@@ -845,33 +845,33 @@ u8 func0c01_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
set_ailist(CHR_ELVIS, GAILIST_IDLE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_OUTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
enable_object(OBJ_OUTRO_SUBMARINE)
|
||||
set_object_flag2(OBJ_OUTRO_SUBMARINE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_OUTRO_SUBMARINE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_OUTRO_SUBMARINE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_DAM_OUTRO_SUBMARINE, OBJ_OUTRO_SUBMARINE, 0x04, 0xffff)
|
||||
|
||||
enable_object(OBJ_OUTRO_GRATE)
|
||||
set_object_flag2(OBJ_OUTRO_GRATE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_OUTRO_GRATE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_OUTRO_GRATE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_DAM_OUTRO_GRATE, OBJ_OUTRO_GRATE, 0x04, 0xffff)
|
||||
|
||||
enable_object(OBJ_OUTRO_CRATE1)
|
||||
set_object_flag2(OBJ_OUTRO_CRATE1, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_OUTRO_CRATE1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_OUTRO_CRATE1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_DAM_OUTRO_CRATE1, OBJ_OUTRO_CRATE1, 0x04, 0xffff)
|
||||
|
||||
enable_object(OBJ_OUTRO_CRATE2)
|
||||
set_object_flag2(OBJ_OUTRO_CRATE2, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_OUTRO_CRATE2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_OUTRO_CRATE2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_DAM_OUTRO_CRATE2, OBJ_OUTRO_CRATE2, 0x04, 0xffff)
|
||||
|
||||
set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -1003,10 +1003,10 @@ u8 func0c01_outro[] = {
|
||||
|
||||
label(0x39)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DAM_INTRO_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2)
|
||||
end_level
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
@@ -1590,12 +1590,12 @@ u8 func040d_intro[] = {
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_INTRO_GUARD_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_VICTIM, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1800,11 +1800,11 @@ u8 func040d_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_PERIMDISABLEDTMP)
|
||||
chr_do_animation(ANIM_CUT_DEPO_INTRO_GUARD_01, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_VICTIM, 2)
|
||||
@@ -1846,22 +1846,22 @@ u8 func040e_meeting_cutscene[] = {
|
||||
|
||||
set_chr_chrflag(CHR_BLONDE, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BLONDE, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_MID_MRB, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BLONDE, 4)
|
||||
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_MID_CASS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4)
|
||||
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_MID_TRENT, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4)
|
||||
|
||||
set_chr_chrflag(CHR_STRIPES, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_STRIPES, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_STRIPES, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_STRIPES, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_MID_STR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_STRIPES, 4)
|
||||
restart_timer
|
||||
|
||||
@@ -2111,7 +2111,7 @@ u8 func040f_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DEPO_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
set_chr_hudpiece_visible(CHR_P1P2, TRUE)
|
||||
restart_timer
|
||||
|
||||
@@ -5945,7 +5945,7 @@ u8 func1000_jo_typing[] = {
|
||||
play_cutscene_track(MUSIC_CI_INTRO)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DISH_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -5978,7 +5978,7 @@ u8 func1000_jo_typing[] = {
|
||||
|
||||
label(0x7b)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_DISH_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
|
||||
@@ -2247,13 +2247,13 @@ u8 func0416_intro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_PERIMDISABLEDTMP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_EAR_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_PERIMDISABLEDTMP)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_EAR_INTRO_GUARD_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -2341,12 +2341,12 @@ u8 func0416_intro[] = {
|
||||
set_door_open(0x40)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_PERIMDISABLEDTMP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_EAR_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_EAR_INTRO_GUARD_01, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
@@ -2370,7 +2370,7 @@ u8 func0417_outro[] = {
|
||||
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
|
||||
set_ailist(CHR_DRCAROLL, GAILIST_IDLE)
|
||||
set_ailist(CHR_K7_GUARD, GAILIST_IDLE)
|
||||
@@ -2438,7 +2438,7 @@ u8 func0417_outro[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_FINDROOMSFAST)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_05)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_05, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_DRC_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2)
|
||||
|
||||
+23
-23
@@ -779,7 +779,7 @@ u8 func1002_intro[] = {
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
camera_movement(ANIM_CUT_ELD_INTRO_CAM_01)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
label(0x2e)
|
||||
@@ -793,15 +793,15 @@ u8 func1002_intro[] = {
|
||||
label(0x06)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER1_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER2_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4)
|
||||
enable_object(OBJ_DROPSHIP)
|
||||
set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_ELD_INTRO_DROPSHIP_01, OBJ_DROPSHIP, 0x04, 0xffff)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -938,7 +938,7 @@ u8 func1002_intro[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x56)
|
||||
camera_movement(ANIM_CUT_ELD_INTRO_CAM_02)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
label(0x2e)
|
||||
@@ -950,12 +950,12 @@ u8 func1002_intro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER1_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4)
|
||||
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER2_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1032,12 +1032,12 @@ u8 func1002_intro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 4)
|
||||
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4)
|
||||
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
@@ -1045,12 +1045,12 @@ u8 func1002_intro[] = {
|
||||
chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
enable_object(OBJ_DROPSHIP)
|
||||
set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_ELD_INTRO_DROPSHIP_02, OBJ_DROPSHIP, 0x04, 0xffff)
|
||||
|
||||
restart_timer
|
||||
@@ -1100,19 +1100,19 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_7)
|
||||
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_JO_01, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_NEG_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER1_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER2_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 2)
|
||||
|
||||
disable_object(OBJ_DROPSHIP)
|
||||
@@ -1137,15 +1137,15 @@ u8 func1002_intro[] = {
|
||||
disable_object(OBJ_DROPSHIP)
|
||||
if_controller_button_pressed(/*goto*/ 0x56)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER1_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER2_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4)
|
||||
restart_timer
|
||||
|
||||
@@ -1202,14 +1202,14 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_JO_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_FORCETOGROUND)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER1_03, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 2)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_FORCETOGROUND)
|
||||
chr_do_animation(ANIM_CUT_ELD_INTRO_TAKER2_03, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 2)
|
||||
disable_object(OBJ_DROPSHIP)
|
||||
@@ -1245,12 +1245,12 @@ u8 func0408_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_ELD_OUTRO_CARR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
|
||||
+27
-27
@@ -877,13 +877,13 @@ u8 func0c01_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
#define show_object_with_animation(object, animation) \
|
||||
enable_object(object) \
|
||||
set_object_flag2(object, OBJFLAG2_CANFILLVIEWPORT) \
|
||||
set_object_flag3(object, OBJFLAG3_00000010) \
|
||||
set_object_flag3(object, OBJFLAG3_FINDROOMSFAST) \
|
||||
object_do_animation(animation, object, 0x04, 0xffff)
|
||||
|
||||
show_object_with_animation(0x0e, ANIM_CUT_IMP_OUTRO_CRATE1_01)
|
||||
@@ -897,7 +897,7 @@ u8 func0c01_outro[] = {
|
||||
enable_object(0x0d)
|
||||
unset_object_flag(0x0d, OBJFLAG_DEACTIVATED)
|
||||
set_object_flag2(0x0d, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x0d, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x0d, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_OUTRO_DROPSHIP_01, 0x0d, 0x01, 0xffff)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
@@ -949,12 +949,12 @@ u8 func0c01_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_SKEDAR1_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR1, 4)
|
||||
|
||||
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_SKEDAR2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR2, 4)
|
||||
|
||||
wait_until(16, 0x78)
|
||||
@@ -979,7 +979,7 @@ u8 func0c01_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
show_object_with_animation(0x0e, ANIM_CUT_IMP_OUTRO_CRATE1_02)
|
||||
@@ -993,7 +993,7 @@ u8 func0c01_outro[] = {
|
||||
|
||||
enable_object(0x16)
|
||||
set_object_flag2(0x16, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x16, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x16, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_OUTRO_LASER1, 0x16, 0x02, 0xffff)
|
||||
|
||||
wait_until(372, 0x7a)
|
||||
@@ -1094,12 +1094,12 @@ u8 func0c01_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_JO_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_OUTRO_SKEDAR1_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR1, 4)
|
||||
|
||||
show_object_with_animation(0x0e, ANIM_CUT_IMP_OUTRO_CRATE1_03)
|
||||
@@ -1169,23 +1169,23 @@ u8 func1002_intro[] = {
|
||||
set_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_CARR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 4)
|
||||
set_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SOLDIER1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x19, 4)
|
||||
set_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SOLDIER2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x1a, 4)
|
||||
enable_object(0x0d)
|
||||
set_object_flag2(0x0d, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x0d, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x0d, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_INTRO_DROPSHIP, 0x0d, 0x04, 0xffff)
|
||||
restart_timer
|
||||
set_cutscene_weapon(0x1a, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -1413,18 +1413,18 @@ u8 func1002_intro[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0xcc)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SKEDAR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR4, 4)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
enable_object(0x52)
|
||||
set_object_flag2(0x52, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x52, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x52, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_INTRO_DOOR1, 0x52, 0x04, 0xffff)
|
||||
enable_object(0x53)
|
||||
set_object_flag2(0x53, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x53, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x53, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_INTRO_DOOR2, 0x53, 0x04, 0xffff)
|
||||
restart_timer
|
||||
|
||||
@@ -1496,32 +1496,32 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_CUTSCENE)
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_JO_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_CARR, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 2)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SOLDIER1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x19, 2)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SOLDIER2, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x1a, 2)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_IMP_INTRO_SKEDAR, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR4, 2)
|
||||
unset_object_flag2(0x0d, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag(0x0d, OBJFLAG_DEACTIVATED)
|
||||
set_object_flag3(0x0d, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x0d, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_OUTRO_DROPSHIP_01, 0x0d, 0x01, 0xffff)
|
||||
enable_object(0x52)
|
||||
set_object_flag2(0x52, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x52, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x52, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_INTRO_DOOR1, 0x52, 0x04, 0xfffe)
|
||||
enable_object(0x53)
|
||||
set_object_flag2(0x53, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x53, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x53, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_IMP_INTRO_DOOR2, 0x53, 0x04, 0xfffe)
|
||||
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
|
||||
stop_cutscene_track
|
||||
@@ -3233,7 +3233,7 @@ u8 func1022_skedar_shuttle[] = {
|
||||
label(0x08)
|
||||
enable_object(OBJ_SKEDAR_SHUTTLE)
|
||||
set_object_flag2(OBJ_SKEDAR_SHUTTLE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_045A, OBJ_SKEDAR_SHUTTLE, 0x04, 0xffff)
|
||||
object_set_modelpart_visible(OBJ_SKEDAR_SHUTTLE, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
set_object_flag(OBJ_SKEDAR_SHUTTLE, OBJFLAG_00000100)
|
||||
|
||||
+11
-11
@@ -2422,7 +2422,7 @@ u8 func041a_bridgeclone[] = {
|
||||
|
||||
// Alive
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_FINDROOMSFAST)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2c)
|
||||
set_target_chr(CHR_ELVIS)
|
||||
goto_next(LABEL_C2)
|
||||
@@ -2688,17 +2688,17 @@ u8 func1003_intro[] = {
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_CASS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4)
|
||||
|
||||
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_SKEDAR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_SKEDAR, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -2911,16 +2911,16 @@ u8 func1003_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_FORCETOGROUND)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_CASS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_FORCETOGROUND)
|
||||
chr_do_animation(ANIM_CUT_LEE_INTRO_SKEDAR, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_SKEDAR, 2)
|
||||
|
||||
@@ -2954,19 +2954,19 @@ u8 func0c01_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE)
|
||||
set_ailist(CHR_ELVIS, GAILIST_IDLE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LEE_OUTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
enable_object(OBJ_OUTRO_SHUTTLE)
|
||||
set_object_flag2(OBJ_OUTRO_SHUTTLE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_OUTRO_SHUTTLE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_OUTRO_SHUTTLE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LEE_OUTRO_SKSHUTTLE, OBJ_OUTRO_SHUTTLE, 0x04, 0xffff)
|
||||
object_set_modelpart_visible(OBJ_OUTRO_SHUTTLE, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
|
||||
@@ -3521,7 +3521,7 @@ u8 func1018_place_elvis_in_hangar[] = {
|
||||
u8 func1002_hangar_shuttle[] = {
|
||||
yield
|
||||
enable_object(OBJ_HANGAR_SHUTTLE)
|
||||
set_object_flag3(OBJ_HANGAR_SHUTTLE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HANGAR_SHUTTLE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_set_modelpart_visible(OBJ_HANGAR_SHUTTLE, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
|
||||
label(0x09)
|
||||
|
||||
+11
-11
@@ -3909,21 +3909,21 @@ u8 func0c01_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BIOTECH1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BIOTECH1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_OUTRO_BIO1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BIOTECH1, 4)
|
||||
|
||||
set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BIOTECH2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BIOTECH2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_OUTRO_BIO2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BIOTECH2, 4)
|
||||
|
||||
set_object_flag2(0x2f, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x2f, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x2f, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LIP_OUTRO_BED, 0x2f, 0x04, 0xffff)
|
||||
show_nonessential_chrs(FALSE)
|
||||
restart_timer
|
||||
@@ -4009,21 +4009,21 @@ u8 func1002_intro[] = {
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_INTRO_JON, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4)
|
||||
|
||||
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_INTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_DEAD_GUARD, 4)
|
||||
|
||||
set_object_flag2(OBJ_CRATE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LIP_INTRO_CRATE, OBJ_CRATE, 0x04, 0xffff)
|
||||
|
||||
restart_timer
|
||||
@@ -4162,7 +4162,7 @@ u8 func1002_intro[] = {
|
||||
assign_sound(SFX_8169, CHANNEL_1)
|
||||
set_object_sound_playing(CHANNEL_1, OBJ_CRATE, TRUE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
@@ -4170,11 +4170,11 @@ u8 func1002_intro[] = {
|
||||
remove_chr(CHR_JONATHAN)
|
||||
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LIP_INTRO_GUARD, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_DEAD_GUARD, 2)
|
||||
mute_channel(CHANNEL_CUTSCENE)
|
||||
unset_object_flag2(OBJ_CRATE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_CRATE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LIP_INTRO_CRATE, OBJ_CRATE, 0x01, 0xfffe)
|
||||
close_door(0x33)
|
||||
close_door(0x34)
|
||||
|
||||
+14
-14
@@ -1821,18 +1821,18 @@ u8 func040e_outro[] = {
|
||||
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
set_chr_hudpiece_visible(CHR_P1P2, TRUE)
|
||||
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_OUTRO_JON, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4)
|
||||
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_OUTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1960,7 +1960,7 @@ u8 func0410_intro[] = {
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x32, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x32, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x32, 4)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
@@ -2004,21 +2004,21 @@ u8 func0410_intro[] = {
|
||||
|
||||
set_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x29, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x29, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x29, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_LAB_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x29, 4)
|
||||
|
||||
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_BIO1_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2a, 4)
|
||||
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_BIO2_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4)
|
||||
|
||||
set_object_flag2(0x2f, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x2f, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x2f, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LUE_INTRO_BED_01, 0x2f, 0x04, 0xffff)
|
||||
restart_timer
|
||||
|
||||
@@ -2050,16 +2050,16 @@ u8 func0410_intro[] = {
|
||||
|
||||
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_BIO1_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2a, 4)
|
||||
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_BIO2_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4)
|
||||
|
||||
set_object_flag2(0x2f, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x2f, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x2f, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_LUE_INTRO_BED_02, 0x2f, 0x04, 0xffff)
|
||||
restart_timer
|
||||
|
||||
@@ -2088,10 +2088,10 @@ u8 func0410_intro[] = {
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x54)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x03, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x03, CHRHFLAG_FINDROOMSFAST)
|
||||
unset_chr_chrflag(0x03, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
|
||||
@@ -2156,7 +2156,7 @@ u8 func0410_intro[] = {
|
||||
disable_object(0x2f)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_LUE_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
|
||||
set_ailist(0x02, 0x0426)
|
||||
|
||||
@@ -64,7 +64,7 @@ u8 func0c00_017c[] = {
|
||||
camera_movement(ANIM_CUT_OLD_TITLE_CAM_01)
|
||||
enable_object(0x00)
|
||||
set_object_flag2(0x00, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x00, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x00, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE1_01, 0x00, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -81,7 +81,7 @@ u8 func0c00_017c[] = {
|
||||
camera_movement(ANIM_CUT_OLD_TITLE_CAM_02)
|
||||
enable_object(0x01)
|
||||
set_object_flag2(0x01, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x01, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x01, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE2_01, 0x01, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x0b)
|
||||
@@ -99,12 +99,12 @@ u8 func0c00_017c[] = {
|
||||
|
||||
enable_object(0x00)
|
||||
set_object_flag2(0x00, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x00, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x00, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE1_02, 0x00, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x01)
|
||||
set_object_flag2(0x01, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x01, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x01, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE2_02, 0x01, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x0a)
|
||||
@@ -123,17 +123,17 @@ u8 func0c00_017c[] = {
|
||||
|
||||
enable_object(0x01)
|
||||
unset_object_flag2(0x01, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x01, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x01, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE2_03, 0x01, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x00)
|
||||
set_object_flag2(0x00, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x00, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x00, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE1_03, 0x00, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x02)
|
||||
set_object_flag2(0x02, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x02, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x02, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_OLD_TITLE_CRATE3, 0x02, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x0e)
|
||||
|
||||
+26
-26
@@ -1497,19 +1497,19 @@ u8 func0c01_midcutscene[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_DRC, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4)
|
||||
enable_object(0xbb)
|
||||
set_object_flag2(0xbb, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0xbb, OBJFLAG3_00000010)
|
||||
set_object_flag3(0xbb, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_PAM_MID_CARD, 0xbb, 0x04, 0xffff)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -1821,13 +1821,13 @@ u8 func0c01_midcutscene[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_MID_DRC, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2)
|
||||
set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE)
|
||||
yield
|
||||
@@ -1836,10 +1836,10 @@ u8 func0c01_midcutscene[] = {
|
||||
yield
|
||||
chr_move_to_pad(CHR_ELVIS, PAD_PAM_0013, TRUE, /*goto*/ 0x2e)
|
||||
label(0x2e)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_move_to_pad(CHR_BOND, PAD_PAM_019F, TRUE, /*goto*/ 0x2e)
|
||||
label(0x2e)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
stop_cutscene_track
|
||||
stop_ambient_track
|
||||
play_x_track(XREASON_DEFAULT, 10, 60)
|
||||
@@ -1864,7 +1864,7 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
|
||||
|
||||
label(0x2e)
|
||||
dprint 'T','E','L','E','P','O','R','T',' ','G','O','O','D','\n',0,
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
stop_chr
|
||||
set_ailist(CHR_SELF, AILIST_ELVIS_RUN_TO_EXIT)
|
||||
endlist
|
||||
@@ -2030,19 +2030,19 @@ u8 func1002_intro[] = {
|
||||
camera_movement(ANIM_CUT_PAM_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_INTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
set_object_flag(0x07, OBJFLAG_DEACTIVATED)
|
||||
set_object_flag2(0x07, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x07, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x07, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_PAM_INTRO_LIFT, 0x07, 0x04, 0xffff)
|
||||
set_chr_chrflag(0x40, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x40, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x40, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_INTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x40, 4)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2188,15 +2188,15 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PAM_INTRO_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2)
|
||||
if_coop_mode(/*goto*/ 0x45)
|
||||
unset_object_flag(0x07, OBJFLAG_DEACTIVATED)
|
||||
unset_object_flag2(0x07, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x07, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x07, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_PAM_INTRO_LIFT, 0x07, 0x01, 0xfffe)
|
||||
goto_next(0x46)
|
||||
|
||||
@@ -2521,7 +2521,7 @@ u8 func0414_teleport_bond_to_sapa[] = {
|
||||
endloop(0x63)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
|
||||
beginloop(0x64)
|
||||
@@ -2563,7 +2563,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
|
||||
endloop(0x65)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
goto_next(0x63)
|
||||
label(0x07)
|
||||
show_hudmsg(CHR_BOND, L_PAM_014) // "Elvis has been killed."
|
||||
@@ -2629,7 +2629,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
|
||||
endloop(0x66)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -2676,7 +2676,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
|
||||
endloop(0x6b)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -2890,7 +2890,7 @@ u8 func0417_teleport_coop_to_sapa[] = {
|
||||
endloop(0x63)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
|
||||
beginloop(0x64)
|
||||
@@ -2933,7 +2933,7 @@ u8 func0418_teleport_coop_to_drcaroll[] = {
|
||||
endloop(0x65)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
goto_next(0x63)
|
||||
|
||||
label(0x07)
|
||||
@@ -2996,7 +2996,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
|
||||
endloop(0x66)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -3041,7 +3041,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
|
||||
endloop(0x6b)
|
||||
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -4282,7 +4282,7 @@ u8 unregistered_function1[] = {
|
||||
label(0x04)
|
||||
chr_move_to_pad(CHR_ELVIS, PAD_PAM_01BF, TRUE, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
set_ailist(CHR_ELVIS, AILIST_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
|
||||
@@ -485,7 +485,7 @@ s32 path13[] = {
|
||||
#define chicago_car_do_animation(object, animation) \
|
||||
enable_object(object) \
|
||||
set_object_flag2(object, OBJFLAG2_CANFILLVIEWPORT) \
|
||||
set_object_flag3(object, OBJFLAG3_00000010) \
|
||||
set_object_flag3(object, OBJFLAG3_FINDROOMSFAST) \
|
||||
object_do_animation(animation, object, 0x04, 0xffff)
|
||||
|
||||
#define chicago_wait_for_camera \
|
||||
@@ -559,7 +559,7 @@ u8 func0403_3c74[] = {
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
enable_object(OBJ_CAR4)
|
||||
set_object_flag2(OBJ_CAR4, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_CAR4, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_CAR4, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_PETE_INTRO_VEHICLE_09, OBJ_CAR4, 0x04, 0xffff)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
@@ -580,13 +580,13 @@ u8 func0403_3c74[] = {
|
||||
u8 func0404_3ce0[] = {
|
||||
enable_object(OBJ_WIREFENCE)
|
||||
set_object_flag2(OBJ_WIREFENCE, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_WIREFENCE, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_WIREFENCE, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_PETE_INTRO_FENCE, OBJ_WIREFENCE, 0x01, 0xffff)
|
||||
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
camera_movement(ANIM_CUT_PETE_INTRO_CAM_04)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PETE_INTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
@@ -604,7 +604,7 @@ u8 func0405_3d50[] = {
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PETE_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
@@ -635,7 +635,7 @@ u8 func0405_3d50[] = {
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PETE_INTRO_JO_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
stop_cutscene_track
|
||||
@@ -898,7 +898,7 @@ u8 func040d_limo[] = {
|
||||
|
||||
label(0x04)
|
||||
set_object_flag2(OBJ_LIMO, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_LIMO, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_LIMO, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_02D6, OBJ_LIMO, 0x04, 0xffff)
|
||||
|
||||
assign_sound(SFX_BIKE_ENGINE, CHANNEL_1)
|
||||
@@ -2060,7 +2060,7 @@ u8 func041a_robot[] = {
|
||||
label(0x38)
|
||||
set_chr_chrflag(CHR_ROBOT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ROBOT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ROBOT, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ROBOT, CHRHFLAG_FINDROOMSFAST)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_INFINITESHIELD)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -2690,7 +2690,7 @@ u8 func040b_outro[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
#endif
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_PETE_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
restart_timer
|
||||
|
||||
+14
-14
@@ -2041,15 +2041,15 @@ u8 func1002_intro[] = {
|
||||
camera_movement(ANIM_CUT_RIT_INTRO_CAM_01)
|
||||
set_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x30, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x30, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_STR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x30, 4)
|
||||
set_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x31, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x31, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_TRENT, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x31, 4)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_PRES, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_PRESIDENT, 4)
|
||||
set_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
|
||||
@@ -2151,7 +2151,7 @@ u8 func1002_intro[] = {
|
||||
label(0x2d)
|
||||
if_controller_button_pressed(/*goto*/ 0x5f)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x09)
|
||||
@@ -2175,7 +2175,7 @@ u8 func1002_intro[] = {
|
||||
label(0x2d)
|
||||
if_controller_button_pressed(/*goto*/ 0x5f)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x0a)
|
||||
@@ -2191,7 +2191,7 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
if_savefile_flag_is_set(GAMEFILEFLAG_AF1_ENTRY, /*goto*/ 0x06)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
chr_do_animation(ANIM_CUT_RIT_INTRO_JO_02, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
@@ -3465,28 +3465,28 @@ u8 func0423_outro[] = {
|
||||
set_ailist(CHR_TARGET, GAILIST_IDLE)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_OUTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4)
|
||||
set_chr_hudpiece_visible(CHR_TARGET, TRUE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_RIT_OUTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
enable_object(0x19)
|
||||
set_object_flag2(0x19, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x19, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x19, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_OUTRO_SKSHUTTLE, 0x19, 0x04, 0xffff)
|
||||
enable_object(0x1a)
|
||||
set_object_flag2(0x1a, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x1a, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x1a, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_OUTRO_UFOEXTERIOR, 0x1a, 0x04, 0xffff)
|
||||
enable_object(0x23)
|
||||
set_object_flag2(0x23, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x23, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x23, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_OUTRO_UFOINTERIOR, 0x23, 0x04, 0xffff)
|
||||
enable_object(0x37)
|
||||
set_object_flag2(0x37, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x37, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x37, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_OUTRO_PLANE, 0x37, 0x04, 0xffff)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -3594,13 +3594,13 @@ u8 func1019_midcutscene[] = {
|
||||
|
||||
enable_object(0x19)
|
||||
set_object_flag2(0x19, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x19, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x19, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_MID_SKSHUTTLE, 0x19, 0x04, 0xffff)
|
||||
object_set_modelpart_visible(0x19, MODELPART_SKSHUTTLE_GANGWAY, TRUE)
|
||||
|
||||
enable_object(0x37)
|
||||
set_object_flag2(0x37, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x37, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x37, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_RIT_MID_PLANE, 0x37, 0x04, 0xffff)
|
||||
|
||||
restart_timer
|
||||
|
||||
@@ -1543,10 +1543,10 @@ u8 func1002_intro[] = {
|
||||
camera_movement(ANIM_CUT_SEV_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SEV_INTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
set_object_flag2(OBJ_TROLLEY, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_TROLLEY, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SEV_INTRO_BED, OBJ_TROLLEY, 0x04, 0xffff)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -1585,10 +1585,10 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SEV_INTRO_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
unset_object_flag2(OBJ_TROLLEY, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_TROLLEY, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SEV_INTRO_BED, OBJ_TROLLEY, 0x04, 0xfffe)
|
||||
stop_cutscene_track
|
||||
stop_ambient_track
|
||||
@@ -1605,12 +1605,12 @@ u8 func041b_outro[] = {
|
||||
camera_movement(ANIM_CUT_SEV_OUTRO_CAM)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SEV_OUTRO_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SEV_OUTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
|
||||
+36
-36
@@ -955,7 +955,7 @@ u8 func0404_miniskedar_spawner[] = {
|
||||
u8 unregistered_function3[] = {
|
||||
camera_movement(ANIM_CUT_SHO_BETA_CAM)
|
||||
yield
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_BETA_NOCHR, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x00, 4)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -2586,12 +2586,12 @@ u8 func0c00_intro[] = {
|
||||
camera_movement(ANIM_CUT_SHO_INTRO_CAM_02)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_ELVIS_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2615,17 +2615,17 @@ u8 func0c00_intro[] = {
|
||||
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR1_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4)
|
||||
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR2_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4)
|
||||
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR3_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4)
|
||||
|
||||
beginloop(0x0b)
|
||||
@@ -2645,12 +2645,12 @@ u8 func0c00_intro[] = {
|
||||
camera_movement(ANIM_CUT_SHO_INTRO_CAM_04)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_ELVIS_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2674,22 +2674,22 @@ u8 func0c00_intro[] = {
|
||||
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR1_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4)
|
||||
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR2_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4)
|
||||
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR3_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4)
|
||||
|
||||
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR4_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x3a, 4)
|
||||
|
||||
beginloop(0x0d)
|
||||
@@ -2711,7 +2711,7 @@ u8 func0c00_intro[] = {
|
||||
|
||||
enable_object(0x36)
|
||||
set_object_flag2(0x36, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x36, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x36, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_INTRO_SKSHUTTLE_01, 0x36, 0x01, 0xffff)
|
||||
object_set_modelpart_visible(0x36, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
|
||||
@@ -2731,28 +2731,28 @@ u8 func0c00_intro[] = {
|
||||
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR1_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4)
|
||||
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR2_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4)
|
||||
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR3_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4)
|
||||
|
||||
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_SKEDAR4_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x3a, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_KING2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_KING, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING2, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2780,12 +2780,12 @@ u8 func0c00_intro[] = {
|
||||
|
||||
enable_object(0x36)
|
||||
set_object_flag2(0x36, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x36, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x36, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_INTRO_SKSHUTTLE_02, 0x36, 0x04, 0xffff)
|
||||
object_set_modelpart_visible(0x36, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_JO_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x10)
|
||||
@@ -2803,7 +2803,7 @@ u8 func0c00_intro[] = {
|
||||
mute_channel(CHANNEL_7)
|
||||
label(0x06)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_INTRO_JO_03, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
disable_object(0x36)
|
||||
remove_chr(0x37)
|
||||
@@ -2888,7 +2888,7 @@ u8 func0414_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_OUTRO_KING_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING1, 4)
|
||||
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_SPIKE_01, OBJ_SPIKE_T, 0x04, 0xffff)
|
||||
@@ -2909,44 +2909,44 @@ u8 func0414_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_OUTRO_KING_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING1, 4)
|
||||
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_OUTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4)
|
||||
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_SPIKE_02, OBJ_SPIKE_T, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x37)
|
||||
set_object_flag2(0x37, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x37, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x37, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE05, 0x37, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x38)
|
||||
set_object_flag2(0x38, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x38, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x38, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE06, 0x38, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x39)
|
||||
set_object_flag2(0x39, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x39, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x39, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE07, 0x39, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x3a)
|
||||
set_object_flag2(0x3a, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x3a, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x3a, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE08, 0x3a, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x3b)
|
||||
set_object_flag2(0x3b, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x3b, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x3b, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE09, 0x3b, 0x04, 0xffff)
|
||||
enable_object(0x3c)
|
||||
|
||||
set_object_flag2(0x3c, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x3c, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x3c, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE10, 0x3c, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x09)
|
||||
@@ -2964,32 +2964,32 @@ u8 func0414_outro[] = {
|
||||
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_OUTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_SHO_OUTRO_ELVIS_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
enable_object(0x23)
|
||||
set_object_flag2(0x23, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x23, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x23, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE01, 0x23, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x24)
|
||||
set_object_flag2(0x24, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x24, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x24, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE02, 0x24, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x25)
|
||||
set_object_flag2(0x25, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x25, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x25, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE03, 0x25, 0x04, 0xffff)
|
||||
|
||||
enable_object(0x26)
|
||||
set_object_flag2(0x26, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(0x26, OBJFLAG3_00000010)
|
||||
set_object_flag3(0x26, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_SHO_OUTRO_RUBBLE04, 0x26, 0x04, 0xffff)
|
||||
|
||||
beginloop(0x0b)
|
||||
|
||||
+13
-13
@@ -1083,23 +1083,23 @@ u8 func1002_intro[] = {
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
play_cutscene_track(MUSIC_G5_INTRO)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_FINDROOMSFAST)
|
||||
camera_movement(ANIM_CUT_STAT_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN1, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN1, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN1, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN2, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1133,18 +1133,18 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_CUTSCENE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_FINDROOMSFAST)
|
||||
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN2, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN3, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_INTRO_MAIAN3, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN4, 2)
|
||||
|
||||
set_ailist(CHR_MAIAN1, AILIST_INIT_MAIAN)
|
||||
@@ -1165,22 +1165,22 @@ u8 func040b_outro[] = {
|
||||
play_cutscene_track(MUSIC_G5_OUTRO)
|
||||
camera_movement(ANIM_CUT_STAT_OUTRO_CAM)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_OUTRO_MAIAN1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN3, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_OUTRO_MAIAN2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN4, 4)
|
||||
|
||||
unset_chr_chrflag(CHR_MAIAN5, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN5, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN5, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_MAIAN5, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_STAT_OUTRO_MAIAN3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN5, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
|
||||
+24
-24
@@ -2546,23 +2546,23 @@ u8 func1002_intro[] = {
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_BIO1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x23, 4)
|
||||
|
||||
set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_BIO2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x24, 4)
|
||||
|
||||
set_object_flag2(OBJ_HOVERBED, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_HOVERBED, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERBED, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_INTRO_BED, OBJ_HOVERBED, 0x04, 0xffff)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -2837,19 +2837,19 @@ u8 func1002_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_BIO1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x23, 2)
|
||||
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_INTRO_BIO2, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x24, 2)
|
||||
|
||||
unset_object_flag2(OBJ_HOVERBED, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_HOVERBED, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERBED, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_INTRO_BED, OBJ_HOVERBED, 0x04, 0xfffe)
|
||||
|
||||
drop_concealed_items(0x23)
|
||||
@@ -2898,25 +2898,25 @@ u8 func0c01_midcutscene[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_FINDROOMSFAST)
|
||||
#else
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
#endif
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_JO, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, VERSION >= VERSION_NTSC_1_0 ? CHR_TARGET : CHR_BOND, 4)
|
||||
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_ELVIS, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4)
|
||||
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_JON, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4)
|
||||
|
||||
set_object_flag2(OBJ_HOVERBED_EMPTY, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_HOVERBED_EMPTY, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERBED_EMPTY, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_MID_BED, OBJ_HOVERBED_EMPTY, 0x04, 0xffff)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
@@ -3044,19 +3044,19 @@ u8 func0c01_midcutscene[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(VERSION >= VERSION_NTSC_1_0 ? CHR_TARGET : CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(VERSION >= VERSION_NTSC_1_0 ? CHR_TARGET : CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(VERSION >= VERSION_NTSC_1_0 ? CHR_TARGET : CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_JO, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, VERSION >= VERSION_NTSC_1_0 ? CHR_TARGET : CHR_BOND, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_ELVIS, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2)
|
||||
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_MID_JON, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 2)
|
||||
|
||||
unset_object_flag2(OBJ_HOVERBED_EMPTY, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_HOVERBED_EMPTY, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_HOVERBED_EMPTY, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_MID_BED, OBJ_HOVERBED_EMPTY, 0x04, 0xfffe)
|
||||
|
||||
unset_object_flag2(0x0a, OBJFLAG2_AICANNOTUSE)
|
||||
@@ -3101,7 +3101,7 @@ u8 func0c02_outro[] = {
|
||||
|
||||
enable_object(OBJ_UFO1)
|
||||
set_object_flag2(OBJ_UFO1, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_OUTRO_UFO_01, OBJ_UFO1, 0x04, 0xffff)
|
||||
|
||||
set_stage_flag(STAGEFLAG_STARTED_OUTRO)
|
||||
@@ -3126,12 +3126,12 @@ u8 func0c02_outro[] = {
|
||||
|
||||
enable_object(OBJ_UFO1)
|
||||
set_object_flag2(OBJ_UFO1, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_OUTRO_UFO_02, OBJ_UFO1, 0x04, 0xffff)
|
||||
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_OUTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4)
|
||||
|
||||
open_door(0x2c)
|
||||
@@ -3184,7 +3184,7 @@ u8 func0415_ufo_exit[] = {
|
||||
disable_object(OBJ_UFO2)
|
||||
enable_object(OBJ_UFO1)
|
||||
set_object_flag2(OBJ_UFO1, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_OUTRO_UFO_01, OBJ_UFO1, 0x04, 0xffff)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
@@ -3247,12 +3247,12 @@ u8 func1021_jo_escaping[] = {
|
||||
|
||||
enable_object(OBJ_UFO1)
|
||||
set_object_flag2(OBJ_UFO1, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_UFO1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_TRA_OUTRO_UFO_02, OBJ_UFO1, 0x04, 0xffff)
|
||||
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_TRA_OUTRO_GUARD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4)
|
||||
|
||||
beginloop(0x09)
|
||||
@@ -3600,7 +3600,7 @@ u8 unregistered_function8[] = {
|
||||
u8 func1026_ufo_spinning[] = {
|
||||
enable_object(OBJ_UFO2)
|
||||
set_object_flag2(OBJ_UFO2, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_UFO2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_UFO2, OBJFLAG3_FINDROOMSFAST)
|
||||
|
||||
label(0x03)
|
||||
object_do_animation(ANIM_0459, OBJ_UFO2, 0x04, 0xffff)
|
||||
|
||||
@@ -1981,7 +1981,7 @@ u8 func0416_intro[] = {
|
||||
camera_movement(ANIM_CUT_WAX_INTRO_CAM)
|
||||
cmd0175(60)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_WAX_INTRO_MRB, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -2040,7 +2040,7 @@ u8 func0416_intro[] = {
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
chr_do_animation(ANIM_CUT_WAX_INTRO_MRB, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2)
|
||||
stop_cutscene_track
|
||||
stop_ambient_track
|
||||
@@ -2057,13 +2057,13 @@ u8 func0417_outro[] = {
|
||||
play_cutscene_track(MUSIC_G5_OUTRO)
|
||||
camera_movement(ANIM_CUT_WAX_OUTRO_CAM)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_FINDROOMSFAST)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE)
|
||||
enable_object(OBJ_SHUTTLE2)
|
||||
set_object_flag2(OBJ_SHUTTLE2, OBJFLAG2_CANFILLVIEWPORT)
|
||||
set_object_flag3(OBJ_SHUTTLE2, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_SHUTTLE2, OBJFLAG3_FINDROOMSFAST)
|
||||
object_do_animation(ANIM_CUT_WAX_OUTRO_SKSHUTTLE, OBJ_SHUTTLE2, 0x04, 0xffff)
|
||||
show_nonessential_chrs(FALSE)
|
||||
restart_timer
|
||||
@@ -2161,7 +2161,7 @@ u8 func1010_init_lighting[] = {
|
||||
u8 func1011_shuttle_animation[] = {
|
||||
yield
|
||||
enable_object(OBJ_SHUTTLE1)
|
||||
set_object_flag3(OBJ_SHUTTLE1, OBJFLAG3_00000010)
|
||||
set_object_flag3(OBJ_SHUTTLE1, OBJFLAG3_FINDROOMSFAST)
|
||||
object_set_modelpart_visible(OBJ_SHUTTLE1, MODELPART_SKSHUTTLE_GANGWAY, FALSE)
|
||||
label(0x09)
|
||||
restart_timer
|
||||
|
||||
Reference in New Issue
Block a user