mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-05-09 20:18:17 +03:00
Fixed DetectSmokeGrenades and LookAt crash
This commit is contained in:
parent
3486b590eb
commit
f82b6b75ff
1 changed files with 32 additions and 30 deletions
|
@ -4493,8 +4493,10 @@ Change current look entity.
|
||||||
void Actor::LookAt(Listener *l)
|
void Actor::LookAt(Listener *l)
|
||||||
{
|
{
|
||||||
ClearLookEntity();
|
ClearLookEntity();
|
||||||
if (!l && (g_showlookat->integer == entnum || g_showlookat->integer == -1)) {
|
if (!l) {
|
||||||
Com_Printf("Script lookat: %i %i %s cleared lookat\n", entnum, radnum, TargetName().c_str());
|
if (g_showlookat->integer == entnum || g_showlookat->integer == -1) {
|
||||||
|
Com_Printf("Script lookat: %i %i %s cleared lookat\n", entnum, radnum, TargetName().c_str());
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4856,7 +4858,7 @@ Give weapon to actor.
|
||||||
*/
|
*/
|
||||||
void Actor::EventGiveWeapon(Event *ev)
|
void Actor::EventGiveWeapon(Event *ev)
|
||||||
{
|
{
|
||||||
Event e1(EV_Listener_ExecuteScript);
|
Event event(EV_Listener_ExecuteScript);
|
||||||
|
|
||||||
str weapName = ev->GetString(1);
|
str weapName = ev->GetString(1);
|
||||||
weapName.tolower();
|
weapName.tolower();
|
||||||
|
@ -4871,14 +4873,10 @@ void Actor::EventGiveWeapon(Event *ev)
|
||||||
|
|
||||||
setModel();
|
setModel();
|
||||||
|
|
||||||
e1.AddConstString(STRING_GLOBAL_WEAPON_SCR);
|
event.AddConstString(STRING_GLOBAL_WEAPON_SCR);
|
||||||
e1.AddString(weapName);
|
event.AddString(weapName);
|
||||||
gi.Printf(
|
|
||||||
"EventGiveWeapon script: %s weapName: %s \n",
|
ExecuteScript(&event);
|
||||||
Director.GetString(STRING_GLOBAL_WEAPON_SCR).c_str(),
|
|
||||||
weapName.c_str()
|
|
||||||
);
|
|
||||||
ExecuteScript(&e1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -6433,26 +6431,30 @@ void Actor::DetectSmokeGrenades(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite = G_GetRandomSmokeSprite();
|
sprite = G_GetRandomSmokeSprite();
|
||||||
if (!sprite || !sprite->owner || sprite->owner->m_Team == m_Team) {
|
if (!sprite || !sprite->owner) {
|
||||||
Vector eyePos;
|
return;
|
||||||
float fDistSquared;
|
}
|
||||||
|
|
||||||
eyePos = VirtualEyePosition();
|
if (sprite->owner->m_Team != m_Team) {
|
||||||
fDistSquared = (sprite->origin - eyePos).lengthSquared();
|
return;
|
||||||
if (fDistSquared > 65536 || InFOV(sprite->origin) == true) {
|
}
|
||||||
if (G_SightTrace(
|
|
||||||
eyePos,
|
const Vector eyePos = VirtualEyePosition();
|
||||||
vec_zero,
|
const float fDistSquared = (sprite->origin - eyePos).lengthSquared();
|
||||||
vec_zero,
|
|
||||||
sprite->origin,
|
if (fDistSquared > Square(256) || InFOV(sprite->origin)) {
|
||||||
this,
|
if (G_SightTrace(
|
||||||
NULL,
|
eyePos,
|
||||||
MASK_CANSEE,
|
vec_zero,
|
||||||
qfalse,
|
vec_zero,
|
||||||
"Actor::DetectSmokeGrenades"
|
sprite->origin,
|
||||||
)) {
|
this,
|
||||||
m_PotentialEnemies.ConfirmEnemy(this, sprite->owner);
|
NULL,
|
||||||
}
|
MASK_CANSEE,
|
||||||
|
qfalse,
|
||||||
|
"Actor::DetectSmokeGrenades"
|
||||||
|
)) {
|
||||||
|
m_PotentialEnemies.ConfirmEnemy(this, sprite->owner);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue