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:
@@ -570,23 +570,24 @@ CheckObjectCollision (COUNT index)
|
||||
for (; index != END_OF_LIST; index = GetPredLink (GetPrimLinks (pPrim)))
|
||||
{
|
||||
INTERSECT_CONTROL ElementControl;
|
||||
HELEMENT hElement, hNextElement;
|
||||
|
||||
pPrim = &DisplayArray[index];
|
||||
ElementControl.IntersectStamp = pPrim->Object.Stamp;
|
||||
ElementControl.EndPoint =
|
||||
ElementControl.IntersectStamp.origin;
|
||||
ElementControl.EndPoint = ElementControl.IntersectStamp.origin;
|
||||
|
||||
if (GetFrameHandle (
|
||||
ElementControl.IntersectStamp.frame
|
||||
) == LanderHandle)
|
||||
CheckObjectCollision (index);
|
||||
else if (DrawablesIntersect (&LanderControl,
|
||||
&ElementControl, MAX_TIME_VALUE))
|
||||
if (GetFrameHandle (ElementControl.IntersectStamp.frame)
|
||||
== LanderHandle)
|
||||
{
|
||||
HELEMENT hElement, hNextElement;
|
||||
CheckObjectCollision (index);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (hElement = GetHeadElement ();
|
||||
hElement; hElement = hNextElement)
|
||||
if (!DrawablesIntersect (&LanderControl,
|
||||
&ElementControl, MAX_TIME_VALUE))
|
||||
continue;
|
||||
|
||||
for (hElement = GetHeadElement (); hElement; hElement = hNextElement)
|
||||
{
|
||||
ELEMENTPTR ElementPtr;
|
||||
|
||||
@@ -597,11 +598,16 @@ CheckObjectCollision (COUNT index)
|
||||
{
|
||||
ElementPtr->state_flags |= DISAPPEARING;
|
||||
UnlockElement (hElement);
|
||||
|
||||
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;
|
||||
SIZE which_node;
|
||||
@@ -613,9 +619,9 @@ CheckObjectCollision (COUNT index)
|
||||
|| pPSD->InTransit)
|
||||
break;
|
||||
|
||||
/* if a natural disaster */
|
||||
if (ElementPtr->state_flags & FINITE_LIFE)
|
||||
{
|
||||
/* A natural disaster */
|
||||
scan = ElementPtr->mass_points;
|
||||
switch (scan)
|
||||
{
|
||||
@@ -635,7 +641,7 @@ CheckObjectCollision (COUNT index)
|
||||
{
|
||||
DWORD TimeIn;
|
||||
|
||||
/* ran into Spathi on Pluto */
|
||||
/* Ran into Spathi on Pluto */
|
||||
TimeIn = GetTimeCounter ();
|
||||
which_node = 8;
|
||||
do
|
||||
@@ -671,14 +677,14 @@ CheckObjectCollision (COUNT index)
|
||||
{
|
||||
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[
|
||||
(CreatureData[
|
||||
ElementPtr->mass_points
|
||||
& ~CREATURE_AWARE
|
||||
].Attributes & DANGER_MASK)
|
||||
>> DANGER_SHIFT
|
||||
])
|
||||
if (((COUNT)TFB_Random () & 127) <
|
||||
danger_vals[dangerLevel])
|
||||
{
|
||||
PlaySound (SetAbsSoundIndex (
|
||||
LanderSounds, BIOLOGICAL_DISASTER
|
||||
@@ -745,7 +751,9 @@ CheckObjectCollision (COUNT index)
|
||||
SetPrimColor (pPrim, WHITE_COLOR);
|
||||
|
||||
PlaySound (SetAbsSoundIndex (
|
||||
LanderSounds, LANDER_HITS), NotPositional (), NULL, GAME_SOUND_PRIORITY);
|
||||
LanderSounds, LANDER_HITS),
|
||||
NotPositional (), NULL,
|
||||
GAME_SOUND_PRIORITY);
|
||||
}
|
||||
UnlockElement (hElement);
|
||||
break;
|
||||
@@ -856,11 +864,6 @@ CheckObjectCollision (COUNT index)
|
||||
}
|
||||
UnlockElement (hElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
UnlockElement (hElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user