Some cleanups. Room for many more.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1860 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2005-08-24 23:48:09 +00:00
parent 26ad842cd4
commit 2ff1972afb
+32 -29
View File
@@ -570,23 +570,24 @@ CheckObjectCollision (COUNT index)
for (; index != END_OF_LIST; index = GetPredLink (GetPrimLinks (pPrim))) for (; index != END_OF_LIST; index = GetPredLink (GetPrimLinks (pPrim)))
{ {
INTERSECT_CONTROL ElementControl; INTERSECT_CONTROL ElementControl;
HELEMENT hElement, hNextElement;
pPrim = &DisplayArray[index]; pPrim = &DisplayArray[index];
ElementControl.IntersectStamp = pPrim->Object.Stamp; ElementControl.IntersectStamp = pPrim->Object.Stamp;
ElementControl.EndPoint = ElementControl.EndPoint = ElementControl.IntersectStamp.origin;
ElementControl.IntersectStamp.origin;
if (GetFrameHandle ( if (GetFrameHandle (ElementControl.IntersectStamp.frame)
ElementControl.IntersectStamp.frame == LanderHandle)
) == LanderHandle)
CheckObjectCollision (index);
else if (DrawablesIntersect (&LanderControl,
&ElementControl, MAX_TIME_VALUE))
{ {
HELEMENT hElement, hNextElement; CheckObjectCollision (index);
continue;
}
for (hElement = GetHeadElement (); if (!DrawablesIntersect (&LanderControl,
hElement; hElement = hNextElement) &ElementControl, MAX_TIME_VALUE))
continue;
for (hElement = GetHeadElement (); hElement; hElement = hNextElement)
{ {
ELEMENTPTR ElementPtr; ELEMENTPTR ElementPtr;
@@ -597,11 +598,16 @@ CheckObjectCollision (COUNT index)
{ {
ElementPtr->state_flags |= DISAPPEARING; ElementPtr->state_flags |= DISAPPEARING;
UnlockElement (hElement); UnlockElement (hElement);
continue; continue;
} }
else if (&DisplayArray[ElementPtr->PrimIndex] == pPrim
&& (ElementPtr->state_flags & BAD_GUY)) if (&DisplayArray[ElementPtr->PrimIndex] != pPrim
|| !(ElementPtr->state_flags & BAD_GUY))
{
UnlockElement (hElement);
continue;
}
{ {
COUNT scan, NumRetrieved; COUNT scan, NumRetrieved;
SIZE which_node; SIZE which_node;
@@ -613,9 +619,9 @@ CheckObjectCollision (COUNT index)
|| pPSD->InTransit) || pPSD->InTransit)
break; break;
/* if a natural disaster */
if (ElementPtr->state_flags & FINITE_LIFE) if (ElementPtr->state_flags & FINITE_LIFE)
{ {
/* A natural disaster */
scan = ElementPtr->mass_points; scan = ElementPtr->mass_points;
switch (scan) switch (scan)
{ {
@@ -635,7 +641,7 @@ CheckObjectCollision (COUNT index)
{ {
DWORD TimeIn; DWORD TimeIn;
/* ran into Spathi on Pluto */ /* Ran into Spathi on Pluto */
TimeIn = GetTimeCounter (); TimeIn = GetTimeCounter ();
which_node = 8; which_node = 8;
do do
@@ -671,14 +677,14 @@ CheckObjectCollision (COUNT index)
{ {
0, 6, 13, 26 0, 6, 13, 26
}; };
int creatureIndex = ElementPtr->mass_points
& ~CREATURE_AWARE;
int dangerLevel =
(CreatureData[creatureIndex].Attributes &
DANGER_MASK) >> DANGER_SHIFT;
if (((COUNT)TFB_Random () & 127) < danger_vals[ if (((COUNT)TFB_Random () & 127) <
(CreatureData[ danger_vals[dangerLevel])
ElementPtr->mass_points
& ~CREATURE_AWARE
].Attributes & DANGER_MASK)
>> DANGER_SHIFT
])
{ {
PlaySound (SetAbsSoundIndex ( PlaySound (SetAbsSoundIndex (
LanderSounds, BIOLOGICAL_DISASTER LanderSounds, BIOLOGICAL_DISASTER
@@ -745,7 +751,9 @@ CheckObjectCollision (COUNT index)
SetPrimColor (pPrim, WHITE_COLOR); SetPrimColor (pPrim, WHITE_COLOR);
PlaySound (SetAbsSoundIndex ( PlaySound (SetAbsSoundIndex (
LanderSounds, LANDER_HITS), NotPositional (), NULL, GAME_SOUND_PRIORITY); LanderSounds, LANDER_HITS),
NotPositional (), NULL,
GAME_SOUND_PRIORITY);
} }
UnlockElement (hElement); UnlockElement (hElement);
break; break;
@@ -856,11 +864,6 @@ CheckObjectCollision (COUNT index)
} }
UnlockElement (hElement); UnlockElement (hElement);
} }
else
{
UnlockElement (hElement);
}
}
} }
} }
} }