Identify some prop flags

This commit is contained in:
Ryan Dwyer
2021-12-03 22:52:09 +10:00
parent 3af4ff3883
commit be05991701
13 changed files with 67 additions and 67 deletions
+1 -1
View File
@@ -11942,7 +11942,7 @@ void bgun0f09f848(s32 handnum)
mtx4Copy(&hand->muzzlemat, &model->matrices[0]);
model0001cb0c(model, model->filedata->rootnode);
objprop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN;
objprop->flags |= PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK;
objprop->z = -model->matrices[0].m[3][2];
}
}
+2 -2
View File
@@ -11952,7 +11952,7 @@ glabel var7f1a87f8
*/
void chrRenderAttachedObject(struct prop *prop, struct modelrenderdata *renderdata, bool withalpha, struct chrdata *chr)
{
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
u32 stack;
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
@@ -14166,7 +14166,7 @@ void func0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool
struct coord spd0;
struct chrdata *chr = prop->chr;
if ((chr->chrflags & CHRCFLAG_HIDDEN) == 0 && (prop->flags & PROPFLAG_ONSCREEN)) {
if ((chr->chrflags & CHRCFLAG_HIDDEN) == 0 && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
f32 fStack32 = func0f0278a4(chr);
if (prop->z - fStack32 < shotdata->unk34) {
+11 -11
View File
@@ -6417,7 +6417,7 @@ bool chrGoToPos(struct chrdata *chr, struct coord *pos, s16 *room, u32 flags)
if ((!isgopos || ismagic)
&& g_Vars.normmplayerisrunning == false
&& (prop->flags & (PROPFLAG_80 | PROPFLAG_40 | PROPFLAG_ONSCREEN)) == 0
&& (prop->flags & (PROPFLAG_ONANYSCREENPREVTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK)) == 0
&& func0f036c08(chr, &curwppos, curwprooms)
&& chr->inlift == false) {
chrGoPosInitMagic(chr, &chr->act_gopos.waydata, &curwppos, &prevpos);
@@ -6839,7 +6839,7 @@ glabel var7f1a8dd0
// chrPatrolGetCurWaypointInfo(chr, &nextpos, nextrooms);
//
// if (!g_Vars.normmplayerisrunning
// && (chr->prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0
// && (chr->prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0
// && func0f036c08(chr, &nextpos, nextrooms)
// && !chr->inlift) {
// chrGoPosInitMagic(chr, &chr->act_patrol.waydata, &nextpos, &prop->pos);
@@ -9037,7 +9037,7 @@ glabel var7f1a8f08
// return;
// }
//
// if (chr->prop->flags & PROPFLAG_80) {
// if (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
// chr->sleep = 0;
// } else {
// chr->sleep = 14 + (random() % 5);
@@ -9255,7 +9255,7 @@ void chrTickDead(struct chrdata *chr)
chrDropItemsForOwnerReap(chr);
}
if (chr->prop->flags & PROPFLAG_80) {
if (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
// Keep corpse for now
chr->act_dead.invistimer60 = 0;
} else {
@@ -9836,7 +9836,7 @@ void chrTickDruggedKo(struct chrdata *chr)
chr->act_dead.fadetimer60 = 0;
}
if (chr->prop->flags & PROPFLAG_80) {
if (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
chr->act_dead.invistimer60 = 0;
} else {
chr->act_dead.invistimer60 += g_Vars.lvupdate240_60;
@@ -11531,7 +11531,7 @@ bool func0f03fde4(struct chrdata *chr, s32 handnum, struct coord *arg2)
obj = weaponprop->obj;
model = obj->model;
if ((chr->prop->flags & PROPFLAG_ONSCREEN) && (weaponprop->flags & PROPFLAG_ONSCREEN)) {
if ((chr->prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) && (weaponprop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
if ((part0 = modelGetPart(model->filedata, MODELPART_0000))) {
spac = model0001a5cc(model, part0, 0);
rodata = &part0->rodata->gunfire;
@@ -11599,7 +11599,7 @@ void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord
u32 stack3;
if (prop->type != PROPTYPE_PLAYER || g_Vars.normmplayerisrunning || chrGetShield(chr) > 0) {
if (prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) {
if (prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) {
bestnode = NULL;
bestvolume = MAXFLOAT;
lVar4 = func0f0b5050(chr->model->matrices);
@@ -22454,7 +22454,7 @@ void chrTickGoPos(struct chrdata *chr)
// Check if chr needs to exit magic mode
if (chr->act_gopos.waydata.mode == WAYMODE_MAGIC) {
if ((!enteringmagic && ((prop->flags & (PROPFLAG_80 | PROPFLAG_40 | PROPFLAG_ONSCREEN)) || !func0f036c08(chr, &curwppos, curwprooms)))
if ((!enteringmagic && ((prop->flags & (PROPFLAG_ONANYSCREENPREVTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK)) || !func0f036c08(chr, &curwppos, curwprooms)))
|| (curwpflags & (PADFLAG_AIWAITLIFT | PADFLAG_AIONLIFT))
|| chr->inlift) {
// Exiting magic mode
@@ -22699,7 +22699,7 @@ void chrTickPatrol(struct chrdata *chr)
}
if (chr->act_patrol.waydata.mode == WAYMODE_MAGIC) {
if ((!enteringmagic && ((prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) || !func0f036c08(chr, &sp58, sp48)))
if ((!enteringmagic && ((prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) || !func0f036c08(chr, &sp58, sp48)))
|| (flags & (PADFLAG_AIWAITLIFT | PADFLAG_AIONLIFT))
|| chr->inlift) {
// Exit magic for lifts
@@ -24396,7 +24396,7 @@ glabel func0f048398
// }
//
// // 698
// if (chr->prop->flags & PROPFLAG_80) {
// if (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
// // 6a0
// if (chr->actiontype != ACT_DEAD && chr->actiontype != ACT_DRUGGEDKO) {
// numalivewithpropflag80++;
@@ -24457,7 +24457,7 @@ glabel func0f048398
// if (chr->model) {
// if (chr->actiontype == ACT_DEAD
// || (chr->actiontype == ACT_DRUGGEDKO && chr->prop && (chr->chrflags & CHRCFLAG_KEEPCORPSEKO) == 0)) {
// if (chr->prop->flags & PROPFLAG_80) {
// if (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
// if (chr->act_dead.fadetimer60 < 0 && !chr->act_dead.fadenow) {
// numreapablewithpropflag80++;
//
+1 -1
View File
@@ -5105,7 +5105,7 @@ u32 explosionTick(struct prop *prop)
prop->z -= 100;
}
prop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN;
prop->flags |= PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK;
return TICKOP_NONE;
}
+1 -1
View File
@@ -323,7 +323,7 @@ struct defaultobj *setupFindObjForReuse(s32 wanttype, struct defaultobj **offscr
#endif
&& obj->prop->parent == NULL
&& (!musthavemodel || func0f0b28d0(obj->model, filedata))) {
if (offscreenobj == NULL && (obj->prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0) {
if (offscreenobj == NULL && (obj->prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0) {
offscreenobj = obj;
}
+2 -2
View File
@@ -15259,7 +15259,7 @@ s32 playerTick(struct prop *prop)
func0f0220ac(prop->chr);
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
if (player->model00d4->filedata->type == &g_ModelTypeChr) {
spe8 = player->model00d4->matrices;
} else {
@@ -15404,7 +15404,7 @@ s32 playerTick(struct prop *prop)
}
}
prop->flags &= ~PROPFLAG_ONSCREEN;
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
return TICKOP_NONE;
}
+1 -1
View File
@@ -171,7 +171,7 @@ void *func0f12955c(s32 count, s32 index, s32 arg2, s32 arg3)
if (chr->model
&& chr->prop
&& (chr->prop->flags & PROPFLAG_80) == 0
&& (chr->prop->flags & PROPFLAG_ONANYSCREENPREVTICK) == 0
&& chr->actiontype == ACT_DEAD
&& chr->act_dead.fadewheninvis == false) {
if (tally < 6) {
+4 -4
View File
@@ -1188,7 +1188,7 @@ bool lvCheckCmpFollowThreat(struct threat *threat, s32 index)
}
}
if ((threat->prop->flags & PROPFLAG_ONSCREEN)
if ((threat->prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& (chr->chrflags & CHRCFLAG_NOAUTOAIM) == 0) {
struct model *model = chr->model;
sp72 = -1;
@@ -1204,7 +1204,7 @@ bool lvCheckCmpFollowThreat(struct threat *threat, s32 index)
return false;
case PROPTYPE_OBJ:
case PROPTYPE_WEAPON:
if (threat->prop->flags & PROPFLAG_ONSCREEN) {
if (threat->prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = threat->prop->obj;
struct model *model = obj->model;
sp72 = -1;
@@ -1316,7 +1316,7 @@ void lvFindThreatsForProp(struct prop *prop, bool inchild, struct coord *playerp
}
if (prop->obj
&& (prop->flags & PROPFLAG_ONSCREEN)
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_WEAPON)
&& condition) {
pass = false;
@@ -1437,7 +1437,7 @@ void func0f168f24(struct prop *prop, bool inchild, struct coord *playerpos, s32
for (i = 0; i != 4; i++) {
if (g_Vars.currentplayer->cmpfollowprops[i].prop == prop
&& (prop->flags & PROPFLAG_ONSCREEN)) {
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
model = NULL;
if (prop->type == PROPTYPE_OBJ
+1 -1
View File
@@ -481,7 +481,7 @@ void objectiveCheckHolograph(f32 maxdist)
struct defaultobj *obj = objFindByTagId(criteria->obj);
if (obj && obj->prop
&& (obj->prop->flags & PROPFLAG_ONSCREEN)
&& (obj->prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& obj->prop->z >= 0
&& objIsHealthy(obj)) {
struct coord sp9c;
+13 -13
View File
@@ -67,7 +67,7 @@ void propsSort(void)
// Populate onscreenprops with the list of props
while (prop != g_Vars.pausedprops) {
if ((prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_ENABLED)) == (PROPFLAG_ONSCREEN | PROPFLAG_ENABLED)) {
if ((prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ENABLED)) == (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ENABLED)) {
depths[count] = prop->z;
g_Vars.onscreenprops[count] = prop;
count++;
@@ -389,7 +389,7 @@ Gfx *propsRender(Gfx *gdl, s16 arg1, s32 arg2, s16 *arg3)
if (prop) {
if ((arg2 == 0 && (prop->flags & (PROPFLAG_20 | PROPFLAG_01)) == 0)
|| (arg2 == 2 && (prop->flags & (PROPFLAG_20 | PROPFLAG_01)) == 1)) {
|| (arg2 == 2 && (prop->flags & (PROPFLAG_20 | PROPFLAG_01)) == PROPFLAG_01)) {
gdl = propRender(gdl, prop, false);
}
}
@@ -4685,15 +4685,15 @@ glabel propsTick
// while (prop < end) {
// flags = prop->flags;
//
// if (flags & PROPFLAG_ONSCREEN) {
// flags &= ~PROPFLAG_ONSCREEN;
// if (flags & PROPFLAG_ONTHISSCREENTHISTICK) {
// flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
// }
//
// if (flags & PROPFLAG_40) {
// flags |= PROPFLAG_80;
// flags &= ~PROPFLAG_40;
// } else if (flags & PROPFLAG_80) {
// flags &= ~PROPFLAG_80;
// if (flags & PROPFLAG_ONANYSCREENTHISTICK) {
// flags |= PROPFLAG_ONANYSCREENPREVTICK;
// flags &= ~PROPFLAG_ONANYSCREENTHISTICK;
// } else if (flags & PROPFLAG_ONANYSCREENPREVTICK) {
// flags &= ~PROPFLAG_ONANYSCREENPREVTICK;
// }
//
// (prop++)->flags = flags | PROPFLAG_08;
@@ -4706,8 +4706,8 @@ glabel propsTick
// while (prop < end) {
// flags = prop->flags;
//
// if (flags & PROPFLAG_ONSCREEN) {
// flags &= ~PROPFLAG_ONSCREEN;
// if (flags & PROPFLAG_ONTHISSCREENTHISTICK) {
// flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
// }
//
// prop->flags = flags;
@@ -4750,7 +4750,7 @@ glabel propsTick
// }
//
// if (score == 0) {
// if ((prop->flags & (PROPFLAG_ENABLED | PROPFLAG_80)) == (PROPFLAG_ENABLED | PROPFLAG_80)) {
// if ((prop->flags & (PROPFLAG_ENABLED | PROPFLAG_ONANYSCREENPREVTICK)) == (PROPFLAG_ENABLED | PROPFLAG_ONANYSCREENPREVTICK)) {
// score++;
// } else if (prop->forceonetick) {
// score++;
@@ -5502,7 +5502,7 @@ void autoaimTick(void)
aimpos[0] = (threat->x2 + threat->x1) / 2;
aimpos[1] = (threat->y2 + threat->y1) / 2;
if (bestprop->flags & PROPFLAG_ONSCREEN) {
if (bestprop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = bestprop->obj;
Mtxf *mtx = model0001a60c(obj->model);
struct coord spac;
+21 -21
View File
@@ -12715,7 +12715,7 @@ bool propExplode(struct prop *prop, s32 exptype)
parent = parent->parent;
}
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
Mtxf *mtx = model0001a60c(obj->model);
pos.x = mtx->m[3][0];
@@ -16459,7 +16459,7 @@ glabel var7f1aa2c4
// }
// }
//
// if ((obj->flags3 & OBJFLAG3_CANHARDFREE) && (prop->flags & PROPFLAG_ONSCREEN)) {
// if ((obj->flags3 & OBJFLAG3_CANHARDFREE) && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
// g_Vars.hardfreeabletally++;
//
// if (g_Vars.hardfreeabletally > 20) {
@@ -16503,7 +16503,7 @@ void func0f0706f8(struct prop *prop, bool arg1)
if (obj->hidden & OBJHFLAG_REAPABLE) {
objFree(obj, true, obj->hidden2 & OBJH2FLAG_CANREGEN);
} else {
prop->flags &= ~PROPFLAG_ONSCREEN;
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
func0f07063c(prop, arg1);
// Recurse into children
@@ -49338,7 +49338,7 @@ void hoverpropTick(struct prop *prop, bool arg1)
struct hoverpropobj *obj = (struct hoverpropobj *)prop->obj;
if ((obj->base.hidden & OBJHFLAG_GRABBED) == 0
&& (arg1 || (prop->flags & PROPFLAG_80) || (obj->base.flags & OBJFLAG_CHOPPER_INACTIVE))) {
&& (arg1 || (prop->flags & PROPFLAG_ONANYSCREENPREVTICK) || (obj->base.flags & OBJFLAG_CHOPPER_INACTIVE))) {
func0f0714b8(&obj->base, &obj->hov);
}
}
@@ -49349,7 +49349,7 @@ void hoverbikeTick(struct prop *prop, bool arg1)
if ((obj->base.hidden & OBJHFLAG_MOUNTED) == 0) {
if ((obj->base.hidden & OBJHFLAG_GRABBED) == 0
&& (arg1 || (prop->flags & PROPFLAG_80))) {
&& (arg1 || (prop->flags & PROPFLAG_ONANYSCREENPREVTICK))) {
func0f0714b8(&obj->base, &obj->hov);
}
@@ -49612,7 +49612,7 @@ s32 objTick(struct prop *prop)
if (obj->hidden & OBJHFLAG_ISRETICK) {
obj->hidden &= ~OBJHFLAG_ISRETICK;
} else if ((obj->hidden & OBJHFLAG_AIRBORNE) && (obj->projectile->flags & PROJECTILEFLAG_00000800) == 0) {
prop->flags &= ~PROPFLAG_ONSCREEN;
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
obj->hidden |= OBJHFLAG_ISRETICK;
return TICKOP_RETICK;
}
@@ -49921,7 +49921,7 @@ s32 objTick(struct prop *prop)
}
if (sp572) {
if (prop->flags & PROPFLAG_80) {
if (prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
colourTween(obj->shadecol, obj->nextcol);
} else {
obj->shadecol[0] = obj->nextcol[0];
@@ -49931,7 +49931,7 @@ s32 objTick(struct prop *prop)
}
}
prop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN;
prop->flags |= PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK;
if (obj->type == OBJTYPE_FAN) {
fanUpdateModel(prop);
@@ -49955,7 +49955,7 @@ s32 objTick(struct prop *prop)
child = next;
}
} else {
prop->flags &= ~PROPFLAG_ONSCREEN;
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
func0f07063c(prop, sp572);
child = prop->child;
@@ -51948,7 +51948,7 @@ glabel var7f1aa824
void objRenderProp(struct prop *prop, struct modelrenderdata *renderdata, bool withalpha)
{
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
bool sp6c;
@@ -56710,7 +56710,7 @@ bool objDrop(struct prop *prop, bool lazy)
func0f0964b4(&projectile->speed, (Mtxf *)&projectile->unk020);
}
if (!lazy && (prop->flags & PROPFLAG_ONSCREEN)) {
if (!lazy && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
// Do collision checks
Mtxf *sp48 = model0001a60c(model);
mtx00015be4(currentPlayerGetUnk174c(), sp48, &spf0);
@@ -58810,7 +58810,7 @@ void func0f084f64(struct defaultobj *obj)
Mtxf *sp7c;
Mtxf matrix;
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
rodata = modelGetPartRodata(model->filedata, 2);
sp7c = model0001a5cc(model, modelGetPart(model->filedata, 1), 0);
mtx00015be4(currentPlayerGetUnk174c(), sp7c, &matrix);
@@ -59191,7 +59191,7 @@ void func0f0859a0(struct prop *prop, struct shotdata *shotdata)
return;
}
if ((prop->flags & PROPFLAG_ONSCREEN) == 0) {
if ((prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) == 0) {
return;
}
@@ -59278,7 +59278,7 @@ void func0f085e00(struct prop *prop, struct shotdata *shotdata)
struct model *model = obj->model;
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
if ((prop->flags & PROPFLAG_ONSCREEN)
if ((prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& (obj->hidden & OBJHFLAG_00001000) == 0
&& (obj->flags2 & OBJFLAG2_SHOOTTHROUGH) == 0) {
tmp = -(model->matrices[0].m[3][2] + func0f0668cc(bbox, model->matrices));
@@ -60808,7 +60808,7 @@ bool objTestForInteract(struct prop *prop)
}
if (maybe
&& (prop->flags & PROPFLAG_ONSCREEN)
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& objIsHealthy(obj)
&& (obj->flags & OBJFLAG_CANNOT_ACTIVATE) == 0) {
struct prop *playerprop = g_Vars.currentplayer->prop;
@@ -64954,7 +64954,7 @@ s32 objTestForPickup(struct prop *prop)
bool func0f0899dc(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3)
{
if (prop->flags & PROPFLAG_ONSCREEN) {
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = prop->obj;
Mtxf *matrix = model0001a60c(obj->model);
@@ -65268,7 +65268,7 @@ struct weaponobj *weaponCreate(bool musthaveprop, bool musthavemodel, struct mod
if (usable) {
if (!musthavemodel || func0f0b28d0(g_WeaponSlots[i].base.model, filedata)) {
if ((g_WeaponSlots[i].base.prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0 && sp40 < 0) {
if ((g_WeaponSlots[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0 && sp40 < 0) {
sp40 = i;
}
@@ -65357,7 +65357,7 @@ struct hatobj *hatCreate(bool musthaveprop, bool musthavemodel, struct modelfile
} else if ((g_HatSlots[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& g_HatSlots[i].base.prop->parent == NULL
&& (!musthavemodel || func0f0b28d0(g_HatSlots[i].base.model, filedata))) {
if ((g_HatSlots[i].base.prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0 && sp40 < 0) {
if ((g_HatSlots[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0 && sp40 < 0) {
sp40 = i;
}
@@ -65442,7 +65442,7 @@ struct ammocrateobj *ammocrateAllocate(void)
if ((g_AmmoCrates[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& (g_AmmoCrates[i].base.hidden2 & OBJH2FLAG_CANREGEN) == 0
&& g_AmmoCrates[i].base.prop->parent == NULL
&& (g_AmmoCrates[i].base.prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0) {
&& (g_AmmoCrates[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0) {
objFreePermanently(&g_AmmoCrates[i].base, true);
return &g_AmmoCrates[i];
}
@@ -69499,7 +69499,7 @@ bool doorTestForInteract(struct prop *prop)
if ((door->base.flags & OBJFLAG_CANNOT_ACTIVATE) == 0
&& door->maxfrac > 0
&& (prop->flags & PROPFLAG_ONSCREEN)) {
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
bool maybe = false;
bool usingeyespy = g_Vars.currentplayer->eyespy && g_Vars.currentplayer->eyespy->active;
struct prop *playerprop = usingeyespy ? g_Vars.currentplayer->eyespy->prop : g_Vars.currentplayer->prop;
@@ -69994,7 +69994,7 @@ void func0f091030(void)
while (prop) {
if (prop->type == PROPTYPE_OBJ
&& (prop->flags & (PROPFLAG_ONSCREEN | PROPFLAG_40 | PROPFLAG_80)) == 0
&& (prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0
&& (prop->obj->hidden2 & OBJH2FLAG_DESTROYED)
&& (prop->obj->hidden2 & OBJH2FLAG_80)) {
objFreePermanently(prop->obj, true);
+1 -1
View File
@@ -2045,7 +2045,7 @@ u32 smokeTick(struct prop *prop)
prop->z -= 100;
}
prop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN;
prop->flags |= PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK;
return TICKOP_NONE;
}
+8 -8
View File
@@ -3241,14 +3241,14 @@
#define PROJECTILEFLAG_00004000 0x00004000
#define PROJECTILEFLAG_FREE 0x80000000
#define PROPFLAG_01 0x01
#define PROPFLAG_ONSCREEN 0x02
#define PROPFLAG_ENABLED 0x04
#define PROPFLAG_08 0x08
#define PROPFLAG_DONTPAUSE 0x10
#define PROPFLAG_20 0x20
#define PROPFLAG_40 0x40
#define PROPFLAG_80 0x80
#define PROPFLAG_01 0x01
#define PROPFLAG_ONTHISSCREENTHISTICK 0x02
#define PROPFLAG_ENABLED 0x04
#define PROPFLAG_08 0x08
#define PROPFLAG_DONTPAUSE 0x10
#define PROPFLAG_20 0x20
#define PROPFLAG_ONANYSCREENTHISTICK 0x40
#define PROPFLAG_ONANYSCREENPREVTICK 0x80
#define PROPTYPE_OBJ 1
#define PROPTYPE_DOOR 2