Migrated the GraphicsLock to an ordinary mutex; it is used exclusively
for maintaining critical sections. git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1253 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
Changes towards version 0.4:
|
Changes towards version 0.4:
|
||||||
|
- Downgraded the GraphicsLock to an ordinary Mutex -Michael
|
||||||
- Extra fallback for the unlikely situation that $HOME isn't set on a
|
- Extra fallback for the unlikely situation that $HOME isn't set on a
|
||||||
unix system. (#493) - SvdB
|
unix system. (#493) - SvdB
|
||||||
- Accept spaces in --contentdir argument (#492) - SvdB
|
- Accept spaces in --contentdir argument (#492) - SvdB
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ Battle (void)
|
|||||||
extern SIZE InitShips (void);
|
extern SIZE InitShips (void);
|
||||||
void UninitShips (void);
|
void UninitShips (void);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetResourceIndex (hResIndex);
|
SetResourceIndex (hResIndex);
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ Battle (void)
|
|||||||
ScreenTransition (3, &r);
|
ScreenTransition (3, &r);
|
||||||
}
|
}
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
if (nth_frame)
|
if (nth_frame)
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
else
|
else
|
||||||
@@ -231,7 +231,7 @@ Battle (void)
|
|||||||
NextTime = GetTimeCounter ();
|
NextTime = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
ProcessInput ();
|
ProcessInput ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
} while (GLOBAL (CurrentActivity) & IN_BATTLE);
|
} while (GLOBAL (CurrentActivity) & IN_BATTLE);
|
||||||
|
|
||||||
AbortBattle:
|
AbortBattle:
|
||||||
@@ -242,7 +242,7 @@ AbortBattle:
|
|||||||
UninitShips ();
|
UninitShips ();
|
||||||
FreeBattleSong ();
|
FreeBattleSong ();
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (num_ships < 0);
|
return (num_ships < 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ DrawSISFrame (void)
|
|||||||
{
|
{
|
||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
|
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
@@ -186,6 +186,6 @@ DrawSISFrame (void)
|
|||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -205,10 +205,10 @@ ActivateStarShip (COUNT which_ship, SIZE state)
|
|||||||
|
|
||||||
if (ShipRemoved)
|
if (ShipRemoved)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (UNDEFINED_DELTA,
|
DeltaSISGauges (UNDEFINED_DELTA,
|
||||||
UNDEFINED_DELTA, UNDEFINED_DELTA);
|
UNDEFINED_DELTA, UNDEFINED_DELTA);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -293,10 +293,10 @@ ActivateStarShip (COUNT which_ship, SIZE state)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (UNDEFINED_DELTA,
|
DeltaSISGauges (UNDEFINED_DELTA,
|
||||||
UNDEFINED_DELTA, UNDEFINED_DELTA);
|
UNDEFINED_DELTA, UNDEFINED_DELTA);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (i);
|
return (i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ int clock_task_func(void* data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
{
|
{
|
||||||
HEVENT hEvent;
|
HEVENT hEvent;
|
||||||
@@ -114,7 +114,7 @@ int clock_task_func(void* data)
|
|||||||
FreeEvent (hEvent);
|
FreeEvent (hEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
OnAutoPilot = (BOOLEAN)(
|
OnAutoPilot = (BOOLEAN)(
|
||||||
@@ -126,7 +126,7 @@ int clock_task_func(void* data)
|
|||||||
{
|
{
|
||||||
DWORD num_ticks;
|
DWORD num_ticks;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
num_ticks = GetTimeCounter () - LastTime;
|
num_ticks = GetTimeCounter () - LastTime;
|
||||||
if (!OnAutoPilot)
|
if (!OnAutoPilot)
|
||||||
{
|
{
|
||||||
@@ -159,7 +159,7 @@ int clock_task_func(void* data)
|
|||||||
cycle_index = (cycle_index + 1) % NUM_CYCLES;
|
cycle_index = (cycle_index + 1) % NUM_CYCLES;
|
||||||
delay_count = NUM_DELAYS;
|
delay_count = NUM_DELAYS;
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LastPilot = OnAutoPilot;
|
LastPilot = OnAutoPilot;
|
||||||
LastTime += num_ticks;
|
LastTime += num_ticks;
|
||||||
|
|||||||
+64
-64
@@ -870,10 +870,10 @@ int ambient_anim_task(void* data)
|
|||||||
while ((CommFrame = CommData.AlienFrame) == 0 && !Task_ReadState (task, TASK_EXIT))
|
while ((CommFrame = CommData.AlienFrame) == 0 && !Task_ReadState (task, TASK_EXIT))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
memset ((PSTR)&DisplayArray[0], 0, sizeof (DisplayArray));
|
memset ((PSTR)&DisplayArray[0], 0, sizeof (DisplayArray));
|
||||||
SetUpSequence (Sequencer);
|
SetUpSequence (Sequencer);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
ActiveMask = 0;
|
ActiveMask = 0;
|
||||||
TalkAlarm = 0;
|
TalkAlarm = 0;
|
||||||
@@ -902,7 +902,7 @@ int ambient_anim_task(void* data)
|
|||||||
|
|
||||||
SleepThreadUntil (LastTime + ONE_SECOND / 120);
|
SleepThreadUntil (LastTime + ONE_SECOND / 120);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
CurTime = GetTimeCounter ();
|
CurTime = GetTimeCounter ();
|
||||||
ElapsedTicks = CurTime - LastTime;
|
ElapsedTicks = CurTime - LastTime;
|
||||||
@@ -1288,7 +1288,7 @@ int ambient_anim_task(void* data)
|
|||||||
UpdateSpeechGraphics (FALSE);
|
UpdateSpeechGraphics (FALSE);
|
||||||
}
|
}
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
xform_PLUT_step(ElapsedTicks);
|
xform_PLUT_step(ElapsedTicks);
|
||||||
}
|
}
|
||||||
FinishTask (task);
|
FinishTask (task);
|
||||||
@@ -1320,15 +1320,15 @@ SpewPhrases (COUNT wait_track)
|
|||||||
if (wait_track == 1 || wait_track == (COUNT)~0)
|
if (wait_track == 1 || wait_track == (COUNT)~0)
|
||||||
{
|
{
|
||||||
ResumeTrack ();
|
ResumeTrack ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
which_track = PlayingTrack ();
|
which_track = PlayingTrack ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
} while (!which_track);
|
} while (!which_track);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (which_track <= wait_track)
|
else if (which_track <= wait_track)
|
||||||
@@ -1339,7 +1339,7 @@ SpewPhrases (COUNT wait_track)
|
|||||||
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
/* FIXME: is this a ramnant of 128-tick clock?
|
/* FIXME: is this a ramnant of 128-tick clock?
|
||||||
* with 120-tick clock this will sleep for 1 tick --
|
* with 120-tick clock this will sleep for 1 tick --
|
||||||
* for 1/120th of a second; if ONE_SECOND is upgraded
|
* for 1/120th of a second; if ONE_SECOND is upgraded
|
||||||
@@ -1354,7 +1354,7 @@ SpewPhrases (COUNT wait_track)
|
|||||||
UpdateInputState ();
|
UpdateInputState ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (CurrentMenuState.cancel)
|
if (CurrentMenuState.cancel)
|
||||||
{
|
{
|
||||||
SetSliderImage (SetAbsFrameIndex (ActivityFrame, 8));
|
SetSliderImage (SetAbsFrameIndex (ActivityFrame, 8));
|
||||||
@@ -1443,7 +1443,7 @@ AlienTalkSegue (COUNT wait_track)
|
|||||||
if ((GLOBAL (CurrentActivity) & CHECK_ABORT)
|
if ((GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
|| (CommData.AlienTransitionDesc.AnimFlags & TALK_INTRO))
|
|| (CommData.AlienTransitionDesc.AnimFlags & TALK_INTRO))
|
||||||
return;
|
return;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (!pCurInputState->Initialized)
|
if (!pCurInputState->Initialized)
|
||||||
{
|
{
|
||||||
@@ -1505,9 +1505,9 @@ AlienTalkSegue (COUNT wait_track)
|
|||||||
pCurInputState->AnimTask = AssignTask (ambient_anim_task,
|
pCurInputState->AnimTask = AssignTask (ambient_anim_task,
|
||||||
3072, "ambient animations");
|
3072, "ambient animations");
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeOut);
|
SleepThreadUntil (TimeOut);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
LastActivity &= ~CHECK_LOAD;
|
LastActivity &= ~CHECK_LOAD;
|
||||||
@@ -1526,9 +1526,9 @@ AlienTalkSegue (COUNT wait_track)
|
|||||||
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
||||||
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1544,7 +1544,7 @@ AlienTalkSegue (COUNT wait_track)
|
|||||||
CommData.AlienTalkDesc.AnimFlags |= PAUSE_TALKING;
|
CommData.AlienTalkDesc.AnimFlags |= PAUSE_TALKING;
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
while (AnyButtonPress (TRUE))
|
while (AnyButtonPress (TRUE))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
@@ -1579,7 +1579,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
if (CurrentMenuState.left)
|
if (CurrentMenuState.left)
|
||||||
{
|
{
|
||||||
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
||||||
if (CommData.AlienTalkDesc.NumFrames)
|
if (CommData.AlienTalkDesc.NumFrames)
|
||||||
{
|
{
|
||||||
@@ -1595,9 +1595,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
||||||
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1610,7 +1610,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
CommData.AlienTalkDesc.AnimFlags |= PAUSE_TALKING;
|
CommData.AlienTalkDesc.AnimFlags |= PAUSE_TALKING;
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
while (AnyButtonPress (TRUE))
|
while (AnyButtonPress (TRUE))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
@@ -1632,9 +1632,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
if (pES->top_response == (BYTE)~0)
|
if (pES->top_response == (BYTE)~0)
|
||||||
{
|
{
|
||||||
pES->top_response = 0;
|
pES->top_response = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RefreshResponses (pES);
|
RefreshResponses (pES);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentMenuState.select)
|
if (CurrentMenuState.select)
|
||||||
@@ -1646,11 +1646,11 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
pES->phrase_buf_index);
|
pES->phrase_buf_index);
|
||||||
pES->phrase_buf[pES->phrase_buf_index++] = '\0';
|
pES->phrase_buf[pES->phrase_buf_index++] = '\0';
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
FeedbackPlayerPhrase (pES->phrase_buf);
|
FeedbackPlayerPhrase (pES->phrase_buf);
|
||||||
StopTrack ();
|
StopTrack ();
|
||||||
SetSliderImage (SetAbsFrameIndex (ActivityFrame, 2));
|
SetSliderImage (SetAbsFrameIndex (ActivityFrame, 2));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
||||||
|
|
||||||
@@ -1676,21 +1676,21 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
DWORD CurTime;
|
DWORD CurTime;
|
||||||
FONT fLast;
|
FONT fLast;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawSISComWindow ();
|
DrawSISComWindow ();
|
||||||
FeedbackPlayerPhrase (pES->phrase_buf);
|
FeedbackPlayerPhrase (pES->phrase_buf);
|
||||||
summary = TRUE;
|
summary = TRUE;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
CurTime = GetTimeCounter ();
|
CurTime = GetTimeCounter ();
|
||||||
SleepThreadUntil (CurTime + ONE_SECOND / 30);
|
SleepThreadUntil (CurTime + ONE_SECOND / 30);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
r.corner.x = 0;
|
r.corner.x = 0;
|
||||||
r.corner.y = 0;
|
r.corner.y = 0;
|
||||||
r.extent.width = SIS_SCREEN_WIDTH;
|
r.extent.width = SIS_SCREEN_WIDTH;
|
||||||
r.extent.height = SIS_SCREEN_HEIGHT - SLIDER_Y - SLIDER_HEIGHT + 2;
|
r.extent.height = SIS_SCREEN_HEIGHT - SLIDER_Y - SLIDER_HEIGHT + 2;
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContextBackGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
SetContextBackGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
||||||
@@ -1727,9 +1727,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
buffer[i] = '\0';
|
buffer[i] = '\0';
|
||||||
temp++;
|
temp++;
|
||||||
t.pStr = buffer;
|
t.pStr = buffer;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
t.baseline.y += DELTA_Y_SUMMARY;
|
t.baseline.y += DELTA_Y_SUMMARY;
|
||||||
col++;
|
col++;
|
||||||
if (col > MAX_COLS)
|
if (col > MAX_COLS)
|
||||||
@@ -1738,9 +1738,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
t.align = ALIGN_CENTER;
|
t.align = ALIGN_CENTER;
|
||||||
t.pStr = "_MORE_";
|
t.pStr = "_MORE_";
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x17, 0x00), 0x01));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x17, 0x00), 0x01));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
col = 0;
|
col = 0;
|
||||||
t.baseline.x = SAFE_X + 2;
|
t.baseline.x = SAFE_X + 2;
|
||||||
t.align = ALIGN_LEFT;
|
t.align = ALIGN_LEFT;
|
||||||
@@ -1748,10 +1748,10 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
|
|
||||||
WaitAnyButtonOrQuit (TRUE);
|
WaitAnyButtonOrQuit (TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1760,9 +1760,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
t.pStr = temp;
|
t.pStr = temp;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
t.baseline.y += DELTA_Y_SUMMARY;
|
t.baseline.y += DELTA_Y_SUMMARY;
|
||||||
col++;
|
col++;
|
||||||
if (col > MAX_COLS && curr->next != NULL)
|
if (col > MAX_COLS && curr->next != NULL)
|
||||||
@@ -1772,9 +1772,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
t.align = ALIGN_CENTER;
|
t.align = ALIGN_CENTER;
|
||||||
t.pStr = "_MORE_";
|
t.pStr = "_MORE_";
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x17, 0x00), 0x01));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x17, 0x00), 0x01));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
col = 0;
|
col = 0;
|
||||||
t.baseline.x = SAFE_X + 2;
|
t.baseline.x = SAFE_X + 2;
|
||||||
t.align = ALIGN_LEFT;
|
t.align = ALIGN_LEFT;
|
||||||
@@ -1782,22 +1782,22 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
|
|
||||||
WaitAnyButtonOrQuit (TRUE);
|
WaitAnyButtonOrQuit (TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x05, 0x00), 0x6E));
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x10, 0x00), 0x6B));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitAnyButtonOrQuit (TRUE);
|
WaitAnyButtonOrQuit (TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContextFont (fLast);
|
SetContextFont (fLast);
|
||||||
RefreshResponses (pES);
|
RefreshResponses (pES);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x00), 0x00));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x00), 0x00));
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SummaryChange = TRUE;
|
SummaryChange = TRUE;
|
||||||
summary = FALSE;
|
summary = FALSE;
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
@@ -1810,7 +1810,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
if (CurrentMenuState.left)
|
if (CurrentMenuState.left)
|
||||||
{
|
{
|
||||||
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
FadeMusic (BACKGROUND_VOL, ONE_SECOND);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
FeedbackPlayerPhrase (pES->phrase_buf);
|
FeedbackPlayerPhrase (pES->phrase_buf);
|
||||||
|
|
||||||
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
||||||
@@ -1828,9 +1828,9 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
CommData.AlienTalkDesc.AnimFlags |= WAIT_TALKING;
|
||||||
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
while (CommData.AlienTalkDesc.AnimFlags & TALK_INTRO)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1847,7 +1847,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
RefreshResponses (pES);
|
RefreshResponses (pES);
|
||||||
FadeMusic (FOREGROUND_VOL, ONE_SECOND);
|
FadeMusic (FOREGROUND_VOL, ONE_SECOND);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
while (AnyButtonPress (TRUE))
|
while (AnyButtonPress (TRUE))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
@@ -1866,7 +1866,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
{
|
{
|
||||||
COORD y;
|
COORD y;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
add_text (-2, &pES->response_list[pES->cur_response].response_text);
|
add_text (-2, &pES->response_list[pES->cur_response].response_text);
|
||||||
|
|
||||||
@@ -1884,20 +1884,20 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
RefreshResponses (pES);
|
RefreshResponses (pES);
|
||||||
}
|
}
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (pES->AnimTask)
|
if (pES->AnimTask)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
ConcludeTask (pES->AnimTask);
|
ConcludeTask (pES->AnimTask);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pES->AnimTask = 0;
|
pES->AnimTask = 0;
|
||||||
}
|
}
|
||||||
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE);
|
||||||
@@ -1906,7 +1906,7 @@ DoCommunication (PENCOUNTER_STATE pES)
|
|||||||
DestroyContext (ReleaseContext (TaskContext));
|
DestroyContext (ReleaseContext (TaskContext));
|
||||||
TaskContext = 0;
|
TaskContext = 0;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
FlushPLUTXForms ();
|
FlushPLUTXForms ();
|
||||||
ColorChange = FALSE;
|
ColorChange = FALSE;
|
||||||
@@ -2020,15 +2020,15 @@ HailAlien (void)
|
|||||||
if (pMenuState == 0)
|
if (pMenuState == 0)
|
||||||
{
|
{
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings ((BYTE)~0, 1);
|
DrawMenuStateStrings ((BYTE)~0, 1);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else /* in starbase */
|
else /* in starbase */
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (GET_GAME_STATE (STARBASE_AVAILABLE))
|
if (GET_GAME_STATE (STARBASE_AVAILABLE))
|
||||||
{
|
{
|
||||||
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 1));
|
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 1));
|
||||||
@@ -2045,7 +2045,7 @@ HailAlien (void)
|
|||||||
DrawSISComWindow ();
|
DrawSISComWindow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LastActivity |= CHECK_LOAD; /* prevent spurious input */
|
LastActivity |= CHECK_LOAD; /* prevent spurious input */
|
||||||
(*CommData.init_encounter_func) ();
|
(*CommData.init_encounter_func) ();
|
||||||
@@ -2053,7 +2053,7 @@ HailAlien (void)
|
|||||||
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
||||||
(*CommData.uninit_encounter_func) ();
|
(*CommData.uninit_encounter_func) ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DestroyStringTable (ReleaseStringTable (CommData.ConversationPhrases));
|
DestroyStringTable (ReleaseStringTable (CommData.ConversationPhrases));
|
||||||
DestroyMusic ((MUSIC_REF)CommData.AlienSong);
|
DestroyMusic ((MUSIC_REF)CommData.AlienSong);
|
||||||
@@ -2078,7 +2078,7 @@ InitCommunication (RESOURCE which_comm)
|
|||||||
|
|
||||||
last_subtitle = NULL;
|
last_subtitle = NULL;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (LastActivity & CHECK_LOAD)
|
if (LastActivity & CHECK_LOAD)
|
||||||
{
|
{
|
||||||
@@ -2087,9 +2087,9 @@ InitCommunication (RESOURCE which_comm)
|
|||||||
{
|
{
|
||||||
if (LOBYTE (LastActivity) == 0)
|
if (LOBYTE (LastActivity) == 0)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2147,7 +2147,7 @@ InitCommunication (RESOURCE which_comm)
|
|||||||
CommData = *LocDataPtr;
|
CommData = *LocDataPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (GET_GAME_STATE (BATTLE_SEGUE) == 0)
|
if (GET_GAME_STATE (BATTLE_SEGUE) == 0)
|
||||||
status = HAIL;
|
status = HAIL;
|
||||||
@@ -2161,7 +2161,7 @@ InitCommunication (RESOURCE which_comm)
|
|||||||
SET_GAME_STATE (BATTLE_SEGUE, 1);
|
SET_GAME_STATE (BATTLE_SEGUE, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (status == HAIL)
|
if (status == HAIL)
|
||||||
{
|
{
|
||||||
@@ -2175,7 +2175,7 @@ InitCommunication (RESOURCE which_comm)
|
|||||||
SetResourceIndex (hOldIndex);
|
SetResourceIndex (hOldIndex);
|
||||||
CloseResourceIndex (hIndex);
|
CloseResourceIndex (hIndex);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
status = 0;
|
status = 0;
|
||||||
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
||||||
|
|||||||
@@ -216,10 +216,10 @@ NoRadioactives (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (LANDERS_LOST, 1);
|
SET_GAME_STATE (LANDERS_LOST, 1);
|
||||||
}
|
}
|
||||||
@@ -227,26 +227,26 @@ NoRadioactives (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel))
|
else if (PLAYER_SAID (R, need_fuel))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL);
|
NPCPhrase (GIVE_FUEL);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel_again))
|
else if (PLAYER_SAID (R, need_fuel_again))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL_AGAIN);
|
NPCPhrase (GIVE_FUEL_AGAIN);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GLOBAL_SIS (ElementAmounts[RADIOACTIVE]))
|
if (GLOBAL_SIS (ElementAmounts[RADIOACTIVE]))
|
||||||
@@ -284,10 +284,10 @@ AskAfterRadios (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (LANDERS_LOST, 1);
|
SET_GAME_STATE (LANDERS_LOST, 1);
|
||||||
}
|
}
|
||||||
@@ -295,26 +295,26 @@ AskAfterRadios (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel))
|
else if (PLAYER_SAID (R, need_fuel))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL);
|
NPCPhrase (GIVE_FUEL);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel_again))
|
else if (PLAYER_SAID (R, need_fuel_again))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL_AGAIN);
|
NPCPhrase (GIVE_FUEL_AGAIN);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, where_get_radios))
|
else if (PLAYER_SAID (R, where_get_radios))
|
||||||
{
|
{
|
||||||
@@ -384,10 +384,10 @@ TellMoonBase (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
NPCPhrase (HERE_IS_A_NEW_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (LANDERS_LOST, 1);
|
SET_GAME_STATE (LANDERS_LOST, 1);
|
||||||
}
|
}
|
||||||
@@ -395,26 +395,26 @@ TellMoonBase (RESPONSE_REF R)
|
|||||||
{
|
{
|
||||||
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
NPCPhrase (HERE_IS_ANOTHER_LANDER);
|
||||||
++GLOBAL_SIS (NumLanders);
|
++GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
DeltaSISGauges (4, 0, 0);
|
DeltaSISGauges (4, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel))
|
else if (PLAYER_SAID (R, need_fuel))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL);
|
NPCPhrase (GIVE_FUEL);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, need_fuel_again))
|
else if (PLAYER_SAID (R, need_fuel_again))
|
||||||
{
|
{
|
||||||
NPCPhrase (GIVE_FUEL_AGAIN);
|
NPCPhrase (GIVE_FUEL_AGAIN);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (PLAYER_SAID (R, we_are_here_to_help))
|
else if (PLAYER_SAID (R, we_are_here_to_help))
|
||||||
{
|
{
|
||||||
@@ -576,9 +576,9 @@ GiveRadios (RESPONSE_REF R)
|
|||||||
NPCPhrase (FUEL_UP1);
|
NPCPhrase (FUEL_UP1);
|
||||||
AlienTalkSegue (1);
|
AlienTalkSegue (1);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
CommData.AlienAmbientArray[2].AnimFlags |= ANIM_DISABLED;
|
CommData.AlienAmbientArray[2].AnimFlags |= ANIM_DISABLED;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
XFormPLUT (GetColorMapAddress (
|
XFormPLUT (GetColorMapAddress (
|
||||||
SetAbsColorMapIndex (CommData.AlienColorMap, 0)
|
SetAbsColorMapIndex (CommData.AlienColorMap, 0)
|
||||||
|
|||||||
@@ -230,9 +230,9 @@ Buy (RESPONSE_REF Response)
|
|||||||
NPCPhrase (NOT_ENOUGH_ROOM);
|
NPCPhrase (NOT_ENOUGH_ROOM);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-SHIP_CREW_COST, 0, 0);
|
DeltaSISGauges (-SHIP_CREW_COST, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SlaveryCount += SHIP_CREW_COST;
|
SlaveryCount += SHIP_CREW_COST;
|
||||||
ActivateStarShip (DRUUGE_SHIP, 1);
|
ActivateStarShip (DRUUGE_SHIP, 1);
|
||||||
|
|
||||||
@@ -246,9 +246,9 @@ Buy (RESPONSE_REF Response)
|
|||||||
NPCPhrase (NOT_ENOUGH_CREW);
|
NPCPhrase (NOT_ENOUGH_CREW);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SlaveryCount += ARTIFACT_CREW_COST;
|
SlaveryCount += ARTIFACT_CREW_COST;
|
||||||
SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1);
|
SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1);
|
||||||
SET_GAME_STATE (ROSY_SPHERE, 1);
|
SET_GAME_STATE (ROSY_SPHERE, 1);
|
||||||
@@ -262,9 +262,9 @@ Buy (RESPONSE_REF Response)
|
|||||||
NPCPhrase (NOT_ENOUGH_CREW);
|
NPCPhrase (NOT_ENOUGH_CREW);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SlaveryCount += ARTIFACT_CREW_COST;
|
SlaveryCount += ARTIFACT_CREW_COST;
|
||||||
SET_GAME_STATE (ARTIFACT_2_ON_SHIP, 1);
|
SET_GAME_STATE (ARTIFACT_2_ON_SHIP, 1);
|
||||||
|
|
||||||
@@ -277,9 +277,9 @@ Buy (RESPONSE_REF Response)
|
|||||||
NPCPhrase (NOT_ENOUGH_CREW);
|
NPCPhrase (NOT_ENOUGH_CREW);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SlaveryCount += ARTIFACT_CREW_COST;
|
SlaveryCount += ARTIFACT_CREW_COST;
|
||||||
SET_GAME_STATE (ARTIFACT_3_ON_SHIP, 1);
|
SET_GAME_STATE (ARTIFACT_3_ON_SHIP, 1);
|
||||||
|
|
||||||
@@ -293,10 +293,10 @@ Buy (RESPONSE_REF Response)
|
|||||||
NPCPhrase (NOT_ENOUGH_CREW);
|
NPCPhrase (NOT_ENOUGH_CREW);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-FUEL_CREW_COST,
|
DeltaSISGauges (-FUEL_CREW_COST,
|
||||||
FUEL_CREW_COST * FUEL_TANK_SCALE, 0);
|
FUEL_CREW_COST * FUEL_TANK_SCALE, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SlaveryCount += FUEL_CREW_COST;
|
SlaveryCount += FUEL_CREW_COST;
|
||||||
|
|
||||||
NPCPhrase (BOUGHT_FUEL);
|
NPCPhrase (BOUGHT_FUEL);
|
||||||
@@ -452,14 +452,14 @@ DoTransaction (RESPONSE_REF R)
|
|||||||
capacity -= GLOBAL_SIS (FuelOnBoard);
|
capacity -= GLOBAL_SIS (FuelOnBoard);
|
||||||
f = (COUNT)((capacity + (FUEL_TANK_SCALE >> 1)) / FUEL_TANK_SCALE);
|
f = (COUNT)((capacity + (FUEL_TANK_SCALE >> 1)) / FUEL_TANK_SCALE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
while (capacity > 0x3FFFL)
|
while (capacity > 0x3FFFL)
|
||||||
{
|
{
|
||||||
DeltaSISGauges (0, 0x3FFF, 0);
|
DeltaSISGauges (0, 0x3FFF, 0);
|
||||||
capacity -= 0x3FFF;
|
capacity -= 0x3FFF;
|
||||||
}
|
}
|
||||||
DeltaSISGauges (0, (SIZE)capacity, 0);
|
DeltaSISGauges (0, (SIZE)capacity, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
NPCPhrase (FUEL0);
|
NPCPhrase (FUEL0);
|
||||||
NPCPhrase (-(int)f);
|
NPCPhrase (-(int)f);
|
||||||
|
|||||||
@@ -250,9 +250,9 @@ StripShip (COUNT fuel_required)
|
|||||||
if (fuel_required == 0)
|
if (fuel_required == 0)
|
||||||
{
|
{
|
||||||
GlobData.SIS_state = SIS_copy;
|
GlobData.SIS_state = SIS_copy;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (UNDEFINED_DELTA, rescue_fuel, UNDEFINED_DELTA);
|
DeltaSISGauges (UNDEFINED_DELTA, rescue_fuel, UNDEFINED_DELTA);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (fuel_required == (COUNT)~0)
|
else if (fuel_required == (COUNT)~0)
|
||||||
{
|
{
|
||||||
@@ -276,9 +276,9 @@ StripShip (COUNT fuel_required)
|
|||||||
GLOBAL_SIS (ModuleSlots[i]) = EMPTY_SLOT + 2;
|
GLOBAL_SIS (ModuleSlots[i]) = EMPTY_SLOT + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (UNDEFINED_DELTA, UNDEFINED_DELTA, UNDEFINED_DELTA);
|
DeltaSISGauges (UNDEFINED_DELTA, UNDEFINED_DELTA, UNDEFINED_DELTA);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (fuel_required)
|
else if (fuel_required)
|
||||||
{
|
{
|
||||||
@@ -384,9 +384,9 @@ StripShip (COUNT fuel_required)
|
|||||||
if (total == 0)
|
if (total == 0)
|
||||||
{
|
{
|
||||||
NPCPhrase (CHARITY);
|
NPCPhrase (CHARITY);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, fuel_required, 0);
|
DeltaSISGauges (0, fuel_required, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -567,9 +567,9 @@ DeltaCredit (SIZE delta_credit)
|
|||||||
Credit += delta_credit;
|
Credit += delta_credit;
|
||||||
SET_GAME_STATE (MELNORME_CREDIT0, LOBYTE (Credit));
|
SET_GAME_STATE (MELNORME_CREDIT0, LOBYTE (Credit));
|
||||||
SET_GAME_STATE (MELNORME_CREDIT1, HIBYTE (Credit));
|
SET_GAME_STATE (MELNORME_CREDIT1, HIBYTE (Credit));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage ((UNICODE *)~0);
|
DrawStatusMessage ((UNICODE *)~0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -810,14 +810,14 @@ DoBuy (RESPONSE_REF R)
|
|||||||
NPCPhrase (GOT_FUEL);
|
NPCPhrase (GOT_FUEL);
|
||||||
|
|
||||||
f = (DWORD)needed_credit * FUEL_TANK_SCALE;
|
f = (DWORD)needed_credit * FUEL_TANK_SCALE;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
while (f > 0x3FFFL)
|
while (f > 0x3FFFL)
|
||||||
{
|
{
|
||||||
DeltaSISGauges (0, 0x3FFF, 0);
|
DeltaSISGauges (0, 0x3FFF, 0);
|
||||||
f -= 0x3FFF;
|
f -= 0x3FFF;
|
||||||
}
|
}
|
||||||
DeltaSISGauges (0, (SIZE)f, 0);
|
DeltaSISGauges (0, (SIZE)f, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
needed_credit *= (BIO_CREDIT_VALUE / 2);
|
needed_credit *= (BIO_CREDIT_VALUE / 2);
|
||||||
}
|
}
|
||||||
@@ -1204,9 +1204,9 @@ DoSell (RESPONSE_REF R)
|
|||||||
} while (GLOBAL_SIS (TotalBioMass));
|
} while (GLOBAL_SIS (TotalBioMass));
|
||||||
SleepThread (ONE_SECOND / 2);
|
SleepThread (ONE_SECOND / 2);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else /* if (R == sell_rainbow_locations) */
|
else /* if (R == sell_rainbow_locations) */
|
||||||
{
|
{
|
||||||
@@ -1836,9 +1836,9 @@ Intro (void)
|
|||||||
static COUNT
|
static COUNT
|
||||||
uninit_melnorme (void)
|
uninit_melnorme (void)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (0);
|
DrawStatusMessage (0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,9 +208,9 @@ CombatIsInevitable (RESPONSE_REF R)
|
|||||||
|
|
||||||
NPCPhrase (DESTRUCT_SEQUENCE);
|
NPCPhrase (DESTRUCT_SEQUENCE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 0, race_bounty[SLYLANDRO_SHIP] >> 3);
|
DeltaSISGauges (0, 0, race_bounty[SLYLANDRO_SHIP] >> 3);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SET_GAME_STATE (BATTLE_SEGUE, 0);
|
SET_GAME_STATE (BATTLE_SEGUE, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1654,9 +1654,9 @@ NormalStarbase (RESPONSE_REF R)
|
|||||||
NPCPhrase (GLOBAL_SHIP_NAME);
|
NPCPhrase (GLOBAL_SHIP_NAME);
|
||||||
NPCPhrase (STARBASE_IS_READY_C);
|
NPCPhrase (STARBASE_IS_READY_C);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 0, 2500);
|
DeltaSISGauges (0, 0, 2500);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SET_GAME_STATE (STARBASE_MONTH,
|
SET_GAME_STATE (STARBASE_MONTH,
|
||||||
GLOBAL (GameClock.month_index));
|
GLOBAL (GameClock.month_index));
|
||||||
SET_GAME_STATE (STARBASE_DAY,
|
SET_GAME_STATE (STARBASE_DAY,
|
||||||
@@ -1765,9 +1765,9 @@ SellMinerals (RESPONSE_REF R)
|
|||||||
Sleepy = FALSE;
|
Sleepy = FALSE;
|
||||||
GLOBAL_SIS (ElementAmounts[i]) = 0;
|
GLOBAL_SIS (ElementAmounts[i]) = 0;
|
||||||
GLOBAL_SIS (TotalElementMass) -= amount;
|
GLOBAL_SIS (TotalElementMass) -= amount;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, 0, amount * GLOBAL (ElementWorth[i]));
|
DeltaSISGauges (0, 0, amount * GLOBAL (ElementWorth[i]));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1776,10 +1776,10 @@ SellMinerals (RESPONSE_REF R)
|
|||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
DrawCargoStrings ((BYTE)i, (BYTE)i);
|
DrawCargoStrings ((BYTE)i, (BYTE)i);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ShowRemainingCapacity ();
|
ShowRemainingCapacity ();
|
||||||
DeltaSISGauges (0, 0, GLOBAL (ElementWorth[i]));
|
DeltaSISGauges (0, 0, GLOBAL (ElementWorth[i]));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
} while (--amount);
|
} while (--amount);
|
||||||
}
|
}
|
||||||
if (Sleepy) {
|
if (Sleepy) {
|
||||||
@@ -1789,9 +1789,9 @@ SellMinerals (RESPONSE_REF R)
|
|||||||
}
|
}
|
||||||
SleepThread (ONE_SECOND / 2);
|
SleepThread (ONE_SECOND / 2);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
// DrawStorageBays (FALSE);
|
// DrawStorageBays (FALSE);
|
||||||
|
|
||||||
if (total < 1000)
|
if (total < 1000)
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ DoConfirmExit (void)
|
|||||||
if (CommData.ConversationPhrases && PlayingTrack ())
|
if (CommData.ConversationPhrases && PlayingTrack ())
|
||||||
PauseTrack ();
|
PauseTrack ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (in_confirm)
|
if (in_confirm)
|
||||||
{
|
{
|
||||||
result = FALSE;
|
result = FALSE;
|
||||||
@@ -134,9 +134,9 @@ DoConfirmExit (void)
|
|||||||
// Releasing the lock lets the rotate_planet_task
|
// Releasing the lock lets the rotate_planet_task
|
||||||
// draw a frame. PauseRotate can still allow one more frame
|
// draw a frame. PauseRotate can still allow one more frame
|
||||||
// to be drawn, so it is safer to just not release the lock
|
// to be drawn, so it is safer to just not release the lock
|
||||||
//UnlockCrossThreadMutex (GraphicsLock);
|
//UnlockMutex (GraphicsLock);
|
||||||
FlushGraphics ();
|
FlushGraphics ();
|
||||||
//LockCrossThreadMutex (GraphicsLock);
|
//LockMutex (GraphicsLock);
|
||||||
|
|
||||||
GLOBAL (CurrentActivity) |= CHECK_ABORT;
|
GLOBAL (CurrentActivity) |= CHECK_ABORT;
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
@@ -181,7 +181,7 @@ DoConfirmExit (void)
|
|||||||
FlushInput ();
|
FlushInput ();
|
||||||
SetContext (oldContext);
|
SetContext (oldContext);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (LOBYTE (GLOBAL (CurrentActivity)) != SUPER_MELEE)
|
if (LOBYTE (GLOBAL (CurrentActivity)) != SUPER_MELEE)
|
||||||
ResumeGameClock ();
|
ResumeGameClock ();
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ Credits (void)
|
|||||||
if (hMusic)
|
if (hMusic)
|
||||||
PlayMusic (hMusic, TRUE, 1);
|
PlayMusic (hMusic, TRUE, 1);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
GetContextClipRect (&r);
|
GetContextClipRect (&r);
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
@@ -81,19 +81,19 @@ Credits (void)
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
DestroyDrawable (ReleaseDrawable (f[i]));
|
DestroyDrawable (ReleaseDrawable (f[i]));
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
while ((GetTimeCounter () - TimeIn < ONE_SECOND * 5) &&
|
while ((GetTimeCounter () - TimeIn < ONE_SECOND * 5) &&
|
||||||
!(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
!(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
||||||
{
|
{
|
||||||
UpdateInputState ();
|
UpdateInputState ();
|
||||||
SleepThreadUntil (ONE_SECOND / 20);
|
SleepThreadUntil (ONE_SECOND / 20);
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
|
|
||||||
DestroyDrawable (ReleaseDrawable (f[0]));
|
DestroyDrawable (ReleaseDrawable (f[0]));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
WaitAnyButtonOrQuit (FALSE);
|
WaitAnyButtonOrQuit (FALSE);
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@ OutTakes (void)
|
|||||||
optSubtitles = TRUE;
|
optSubtitles = TRUE;
|
||||||
sliderDisabled = TRUE;
|
sliderDisabled = TRUE;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x0, 0x0, 0x0), 0x00));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x0, 0x0, 0x0), 0x00));
|
||||||
fade_buf[0] = FadeAllToColor;
|
fade_buf[0] = FadeAllToColor;
|
||||||
@@ -149,7 +149,7 @@ OutTakes (void)
|
|||||||
r.extent.width = SCREEN_WIDTH;
|
r.extent.width = SCREEN_WIDTH;
|
||||||
r.extent.height = SCREEN_HEIGHT;
|
r.extent.height = SCREEN_HEIGHT;
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
for (i = 0; (i < NUM_OUTTAKES) &&
|
for (i = 0; (i < NUM_OUTTAKES) &&
|
||||||
!(GLOBAL (CurrentActivity) & CHECK_ABORT); i++)
|
!(GLOBAL (CurrentActivity) & CHECK_ABORT); i++)
|
||||||
|
|||||||
+28
-28
@@ -47,9 +47,9 @@ DoSelectAction (PMENU_STATE pMS)
|
|||||||
if (pMS->Initialized)
|
if (pMS->Initialized)
|
||||||
{
|
{
|
||||||
DrawMenuStateStrings (PM_CONVERSE, pMS->CurState);
|
DrawMenuStateStrings (PM_CONVERSE, pMS->CurState);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
return ((BOOLEAN)pMS->Initialized);
|
return ((BOOLEAN)pMS->Initialized);
|
||||||
default:
|
default:
|
||||||
@@ -173,7 +173,7 @@ InitEncounter (void)
|
|||||||
extern FRAME planet[];
|
extern FRAME planet[];
|
||||||
MUSIC_REF MR;
|
MUSIC_REF MR;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
hOldIndex = SetResourceIndex (hResIndex);
|
hOldIndex = SetResourceIndex (hResIndex);
|
||||||
|
|
||||||
@@ -183,12 +183,12 @@ InitEncounter (void)
|
|||||||
MR = LoadMusicInstance (REDALERT_MUSIC);
|
MR = LoadMusicInstance (REDALERT_MUSIC);
|
||||||
PlayMusic (MR, FALSE, 1);
|
PlayMusic (MR, FALSE, 1);
|
||||||
SegueFrame = CaptureDrawable (LoadGraphic (SEGUE_PMAP_ANIM));
|
SegueFrame = CaptureDrawable (LoadGraphic (SEGUE_PMAP_ANIM));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
while (PLRPlaying (MR))
|
while (PLRPlaying (MR))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
StopMusic ();
|
StopMusic ();
|
||||||
DestroyMusic (MR);
|
DestroyMusic (MR);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
|
|
||||||
SetTransitionSource (NULL);
|
SetTransitionSource (NULL);
|
||||||
@@ -300,7 +300,7 @@ InitEncounter (void)
|
|||||||
|
|
||||||
SetResourceIndex (hOldIndex);
|
SetResourceIndex (hOldIndex);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
{
|
{
|
||||||
MENU_STATE MenuState;
|
MENU_STATE MenuState;
|
||||||
@@ -309,15 +309,15 @@ InitEncounter (void)
|
|||||||
MenuState.Initialized = FALSE;
|
MenuState.Initialized = FALSE;
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_CONVERSE, MenuState.CurState = HAIL);
|
DrawMenuStateStrings (PM_CONVERSE, MenuState.CurState = HAIL);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (MenuState.CurState);
|
return (MenuState.CurState);
|
||||||
}
|
}
|
||||||
@@ -357,10 +357,10 @@ DrawFadeText (UNICODE *str1, UNICODE *str2, BOOLEAN fade_in, PRECT
|
|||||||
{
|
{
|
||||||
for (i = 0; i < (SIZE) NUM_FADES; ++i)
|
for (i = 0; i < (SIZE) NUM_FADES; ++i)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
if (AnyButtonPress (TRUE))
|
if (AnyButtonPress (TRUE))
|
||||||
i = NUM_FADES - 1;
|
i = NUM_FADES - 1;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContextForeGroundColor (fade_cycle[i]);
|
SetContextForeGroundColor (fade_cycle[i]);
|
||||||
font_DrawText (&t1);
|
font_DrawText (&t1);
|
||||||
@@ -373,10 +373,10 @@ DrawFadeText (UNICODE *str1, UNICODE *str2, BOOLEAN fade_in, PRECT
|
|||||||
{
|
{
|
||||||
for (i = NUM_FADES - 1; i >= 0; --i)
|
for (i = NUM_FADES - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
if (AnyButtonPress (TRUE))
|
if (AnyButtonPress (TRUE))
|
||||||
i = 0;
|
i = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContextForeGroundColor (fade_cycle[i]);
|
SetContextForeGroundColor (fade_cycle[i]);
|
||||||
font_DrawText (&t1);
|
font_DrawText (&t1);
|
||||||
@@ -397,7 +397,7 @@ UninitEncounter (void)
|
|||||||
|
|
||||||
ships_killed = 0;
|
ships_killed = 0;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
free_gravity_well ();
|
free_gravity_well ();
|
||||||
|
|
||||||
if ((GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD))
|
if ((GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD))
|
||||||
@@ -478,9 +478,9 @@ UninitEncounter (void)
|
|||||||
VictoryState = 0;
|
VictoryState = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawSISMessage (NULL_PTR);
|
DrawSISMessage (NULL_PTR);
|
||||||
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE)
|
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE)
|
||||||
@@ -601,9 +601,9 @@ UninitEncounter (void)
|
|||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
for (j = 0; j < NUM_SHIP_FADES; ++j)
|
for (j = 0; j < NUM_SHIP_FADES; ++j)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
Sleepy = (BOOLEAN)!AnyButtonPress (TRUE);
|
Sleepy = (BOOLEAN)!AnyButtonPress (TRUE);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (!Sleepy)
|
if (!Sleepy)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -637,10 +637,10 @@ UninitEncounter (void)
|
|||||||
|
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
Time = GetTimeCounter () + (ONE_SECOND * 3);
|
Time = GetTimeCounter () + (ONE_SECOND * 3);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
while (!(AnyButtonPress (TRUE)) && GetTimeCounter () < Time)
|
while (!(AnyButtonPress (TRUE)) && GetTimeCounter () < Time)
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (!CurrentInputState.p1_escape)
|
if (!CurrentInputState.p1_escape)
|
||||||
{
|
{
|
||||||
DrawFadeText (str1, str2, FALSE, &scavenge_r);
|
DrawFadeText (str1, str2, FALSE, &scavenge_r);
|
||||||
@@ -668,11 +668,11 @@ UninitEncounter (void)
|
|||||||
&scavenge_r
|
&scavenge_r
|
||||||
);
|
);
|
||||||
Time = GetTimeCounter () + ONE_SECOND * 2;
|
Time = GetTimeCounter () + ONE_SECOND * 2;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
while (!(AnyButtonPress (TRUE))
|
while (!(AnyButtonPress (TRUE))
|
||||||
&& GetTimeCounter () < Time)
|
&& GetTimeCounter () < Time)
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (!CurrentInputState.p1_escape)
|
if (!CurrentInputState.p1_escape)
|
||||||
DrawFadeText (str1, str2, FALSE, &scavenge_r);
|
DrawFadeText (str1, str2, FALSE, &scavenge_r);
|
||||||
}
|
}
|
||||||
@@ -691,7 +691,7 @@ UninitEncounter (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ExitUninitEncounter:
|
ExitUninitEncounter:
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (ships_killed);
|
return (ships_killed);
|
||||||
}
|
}
|
||||||
@@ -705,7 +705,7 @@ EncounterBattle (void)
|
|||||||
extern BOOLEAN LoadSC2Data (void);
|
extern BOOLEAN LoadSC2Data (void);
|
||||||
extern BOOLEAN FreeSC2Data (void);
|
extern BOOLEAN FreeSC2Data (void);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (BATTLE_SEGUE, 1);
|
SET_GAME_STATE (BATTLE_SEGUE, 1);
|
||||||
|
|
||||||
@@ -741,9 +741,9 @@ EncounterBattle (void)
|
|||||||
|
|
||||||
GameSounds = CaptureSound (LoadSound (GAME_SOUNDS));
|
GameSounds = CaptureSound (LoadSound (GAME_SOUNDS));
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
Battle ();
|
Battle ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DestroySound (ReleaseSound (GameSounds));
|
DestroySound (ReleaseSound (GameSounds));
|
||||||
GameSounds = 0;
|
GameSounds = 0;
|
||||||
@@ -769,6 +769,6 @@ EncounterBattle (void)
|
|||||||
|
|
||||||
SetResourceIndex (hLastIndex);
|
SetResourceIndex (hLastIndex);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,13 +79,13 @@ Introduction (void)
|
|||||||
xform_buf[0] = FadeAllToBlack;
|
xform_buf[0] = FadeAllToBlack;
|
||||||
SleepThreadUntil (XFormColorMap (
|
SleepThreadUntil (XFormColorMap (
|
||||||
(COLORMAPPTR) xform_buf, ONE_SECOND / 120));
|
(COLORMAPPTR) xform_buf, ONE_SECOND / 120));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
s.frame = CaptureDrawable (LoadGraphic (TITLE_ANIM));
|
s.frame = CaptureDrawable (LoadGraphic (TITLE_ANIM));
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
DestroyDrawable (ReleaseDrawable (s.frame));
|
DestroyDrawable (ReleaseDrawable (s.frame));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
xform_buf[0] = FadeAllToColor;
|
xform_buf[0] = FadeAllToColor;
|
||||||
TimeOut = XFormColorMap ((COLORMAPPTR)xform_buf, ONE_SECOND / 2);
|
TimeOut = XFormColorMap ((COLORMAPPTR)xform_buf, ONE_SECOND / 2);
|
||||||
|
|||||||
+26
-26
@@ -163,9 +163,9 @@ FeedbackSetting (BYTE which_setting)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (buf);
|
DrawStatusMessage (buf);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
static void
|
static void
|
||||||
FeedbackQuit (BYTE which_setting)
|
FeedbackQuit (BYTE which_setting)
|
||||||
@@ -182,9 +182,9 @@ FeedbackQuit (BYTE which_setting)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (buf);
|
DrawStatusMessage (buf);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN DoSettings (PMENU_STATE pMS);
|
static BOOLEAN DoSettings (PMENU_STATE pMS);
|
||||||
@@ -199,7 +199,7 @@ DrawDescriptionString (PMENU_STATE pMS, COUNT which_string, SIZE state)
|
|||||||
FONT Font;
|
FONT Font;
|
||||||
static BOOLEAN DoNaming (PMENU_STATE pMS);
|
static BOOLEAN DoNaming (PMENU_STATE pMS);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
rel_index = (COUNT)(which_string - pMS->first_item.y);
|
rel_index = (COUNT)(which_string - pMS->first_item.y);
|
||||||
|
|
||||||
@@ -276,7 +276,7 @@ DrawDescriptionString (PMENU_STATE pMS, COUNT which_string, SIZE state)
|
|||||||
TextRect (&lf, &text_r, char_deltas);
|
TextRect (&lf, &text_r, char_deltas);
|
||||||
if ((text_r.extent.width + 2) >= r.extent.width)
|
if ((text_r.extent.width + 2) >= r.extent.width)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,7 +310,7 @@ DrawDescriptionString (PMENU_STATE pMS, COUNT which_string, SIZE state)
|
|||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -436,9 +436,9 @@ DoNaming (PMENU_STATE pMS)
|
|||||||
pMS->CurString = (STRING)&GD[0];
|
pMS->CurString = (STRING)&GD[0];
|
||||||
DrawDescriptionString (pMS, pMS->CurState, 1);
|
DrawDescriptionString (pMS, pMS->CurState, 1);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (GAME_STRING (NAMING_STRING_BASE + 0));
|
DrawStatusMessage (GAME_STRING (NAMING_STRING_BASE + 0));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
EnableCharacterMode ();
|
EnableCharacterMode ();
|
||||||
DoInput (pMS, TRUE);
|
DoInput (pMS, TRUE);
|
||||||
@@ -513,9 +513,9 @@ DoSettings (PMENU_STATE pMS)
|
|||||||
|| (CurrentMenuState.select
|
|| (CurrentMenuState.select
|
||||||
&& pMS->CurState == EXIT_MENU_SETTING))
|
&& pMS->CurState == EXIT_MENU_SETTING))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->CurState = SETTINGS;
|
pMS->CurState = SETTINGS;
|
||||||
pMS->InputFunc = DoGameOptions;
|
pMS->InputFunc = DoGameOptions;
|
||||||
@@ -582,9 +582,9 @@ DoQuitMenu (PMENU_STATE pMS)
|
|||||||
|| (CurrentMenuState.select
|
|| (CurrentMenuState.select
|
||||||
&& pMS->CurState == NO_QUIT_MENU))
|
&& pMS->CurState == NO_QUIT_MENU))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->CurState = QUIT_GAME;
|
pMS->CurState = QUIT_GAME;
|
||||||
pMS->InputFunc = DoGameOptions;
|
pMS->InputFunc = DoGameOptions;
|
||||||
@@ -858,9 +858,9 @@ ShowSummary (SUMMARY_DESC *pSD)
|
|||||||
r.corner.y = SIS_ORG_Y + 84;
|
r.corner.y = SIS_ORG_Y + 84;
|
||||||
r.extent = OldRect.extent;
|
r.extent = OldRect.extent;
|
||||||
SetContextClipRect (&r);
|
SetContextClipRect (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
InitLander ((unsigned char)(pSD->Flags | OVERRIDE_LANDER_FLAGS));
|
InitLander ((unsigned char)(pSD->Flags | OVERRIDE_LANDER_FLAGS));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContextClipRect (&OldRect);
|
SetContextClipRect (&OldRect);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
@@ -1002,7 +1002,7 @@ DoPickGame (PMENU_STATE pMS)
|
|||||||
pMS->ModuleFrame = SetAbsFrameIndex (PlayFrame, 41);
|
pMS->ModuleFrame = SetAbsFrameIndex (PlayFrame, 41);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetTransitionSource (NULL);
|
SetTransitionSource (NULL);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
Restart:
|
Restart:
|
||||||
@@ -1037,7 +1037,7 @@ Restart:
|
|||||||
prev_save = pMS->CurState;
|
prev_save = pMS->CurState;
|
||||||
if (pMS->delta_item == SAVE_GAME || pSD->year_index)
|
if (pMS->delta_item == SAVE_GAME || pSD->year_index)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (pMS->delta_item == SAVE_GAME)
|
if (pMS->delta_item == SAVE_GAME)
|
||||||
{
|
{
|
||||||
STAMP MsgStamp;
|
STAMP MsgStamp;
|
||||||
@@ -1056,13 +1056,13 @@ Restart:
|
|||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
DrawStamp (&MsgStamp);
|
DrawStamp (&MsgStamp);
|
||||||
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SaveProblem ();
|
SaveProblem ();
|
||||||
|
|
||||||
pMS->Initialized = FALSE;
|
pMS->Initialized = FALSE;
|
||||||
NewState = pMS->CurState;
|
NewState = pMS->CurState;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
goto Restart;
|
goto Restart;
|
||||||
}
|
}
|
||||||
@@ -1088,7 +1088,7 @@ Restart:
|
|||||||
GLOBAL (CurrentActivity) |= CHECK_LOAD;
|
GLOBAL (CurrentActivity) |= CHECK_LOAD;
|
||||||
}
|
}
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->ModuleFrame = 0;
|
pMS->ModuleFrame = 0;
|
||||||
pMS->CurState = (BYTE)pMS->delta_item;
|
pMS->CurState = (BYTE)pMS->delta_item;
|
||||||
@@ -1137,7 +1137,7 @@ Restart:
|
|||||||
TEXT t;
|
TEXT t;
|
||||||
BYTE i, SHIFT;
|
BYTE i, SHIFT;
|
||||||
UNICODE buf[80],buf2[15];
|
UNICODE buf[80],buf2[15];
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
if (((SUMMARY_DESC *)pMS->CurString)[NewState].year_index != 0)
|
if (((SUMMARY_DESC *)pMS->CurString)[NewState].year_index != 0)
|
||||||
@@ -1245,7 +1245,7 @@ ChangeGameSelection:
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
}
|
}
|
||||||
SetFlashRect (0, (FRAME)0);
|
SetFlashRect (0, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1268,7 +1268,7 @@ PickGame (PMENU_STATE pMS)
|
|||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
|
|
||||||
DlgStamp.origin.x = 0;
|
DlgStamp.origin.x = 0;
|
||||||
@@ -1284,11 +1284,11 @@ PickGame (PMENU_STATE pMS)
|
|||||||
pMS->Initialized = FALSE;
|
pMS->Initialized = FALSE;
|
||||||
pMS->InputFunc = DoPickGame;
|
pMS->InputFunc = DoPickGame;
|
||||||
pMS->CurString = (STRING)&desc_array[0];
|
pMS->CurString = (STRING)&desc_array[0];
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DoInput (pMS, TRUE);
|
DoInput (pMS, TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pMS->Initialized = -1;
|
pMS->Initialized = -1;
|
||||||
pMS->InputFunc = DoGameOptions;
|
pMS->InputFunc = DoGameOptions;
|
||||||
|
|
||||||
@@ -1340,7 +1340,7 @@ PickGame (PMENU_STATE pMS)
|
|||||||
DestroyDrawable (ReleaseDrawable (DlgStamp.frame));
|
DestroyDrawable (ReleaseDrawable (DlgStamp.frame));
|
||||||
|
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (retval);
|
return (retval);
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -322,9 +322,9 @@ LoadHyperspace (void)
|
|||||||
{
|
{
|
||||||
if (LOBYTE (LastActivity) == 0)
|
if (LOBYTE (LastActivity) == 0)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -360,9 +360,9 @@ LoadHyperspace (void)
|
|||||||
BOOLEAN
|
BOOLEAN
|
||||||
FreeHyperspace (void)
|
FreeHyperspace (void)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SuspendGameClock ();
|
SuspendGameClock ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
{
|
{
|
||||||
FRAME F;
|
FRAME F;
|
||||||
@@ -1601,7 +1601,7 @@ UnbatchGraphics ();
|
|||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
OldColor = SetContextBackGroundColor (BLACK_COLOR);
|
OldColor = SetContextBackGroundColor (BLACK_COLOR);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SuspendGameClock ();
|
SuspendGameClock ();
|
||||||
|
|
||||||
memset ((PMENU_STATE)&MenuState, 0, sizeof (MenuState));
|
memset ((PMENU_STATE)&MenuState, 0, sizeof (MenuState));
|
||||||
@@ -1610,13 +1610,13 @@ UnbatchGraphics ();
|
|||||||
MenuState.CurState = STARMAP + 1;
|
MenuState.CurState = STARMAP + 1;
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_STARMAP, STARMAP);
|
DrawMenuStateStrings (PM_STARMAP, STARMAP);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
|
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
@@ -1624,10 +1624,10 @@ UnbatchGraphics ();
|
|||||||
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
||||||
{
|
{
|
||||||
ClearSISRect (CLEAR_SIS_RADAR);
|
ClearSISRect (CLEAR_SIS_RADAR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
WaitForNoInput (ONE_SECOND / 2);
|
WaitForNoInput (ONE_SECOND / 2);
|
||||||
ResumeGameClock ();
|
ResumeGameClock ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetContextBackGroundColor (OldColor);
|
SetContextBackGroundColor (OldColor);
|
||||||
|
|||||||
@@ -51,13 +51,13 @@ Introduction (void)
|
|||||||
xform_buf[0] = FadeAllToBlack;
|
xform_buf[0] = FadeAllToBlack;
|
||||||
SleepThreadUntil (XFormColorMap (
|
SleepThreadUntil (XFormColorMap (
|
||||||
(COLORMAPPTR)xform_buf, ONE_SECOND / 120));
|
(COLORMAPPTR)xform_buf, ONE_SECOND / 120));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
s.frame = CaptureDrawable (LoadGraphic (TITLE_ANIM));
|
s.frame = CaptureDrawable (LoadGraphic (TITLE_ANIM));
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
DestroyDrawable (ReleaseDrawable (s.frame));
|
DestroyDrawable (ReleaseDrawable (s.frame));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
|
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ VidPlay (VIDEO_REF VidRef, char *loopname, BOOLEAN uninit)
|
|||||||
|
|
||||||
TFB_FadeClearScreen ();
|
TFB_FadeClearScreen ();
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
// play video in the center of the screen
|
// play video in the center of the screen
|
||||||
if (TFB_PlayVideo (VidRef, (SCREEN_WIDTH - vid->w) / 2,
|
if (TFB_PlayVideo (VidRef, (SCREEN_WIDTH - vid->w) / 2,
|
||||||
@@ -96,7 +96,7 @@ VidPlay (VIDEO_REF VidRef, char *loopname, BOOLEAN uninit)
|
|||||||
{
|
{
|
||||||
ret = NO_FMV;
|
ret = NO_FMV;
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
/* dodge compiler warnings */
|
/* dodge compiler warnings */
|
||||||
(void) loopname;
|
(void) loopname;
|
||||||
|
|||||||
@@ -69,12 +69,12 @@ TFB_FadeClearScreen ()
|
|||||||
(COLORMAPPTR) xform_buf, ONE_SECOND / 2));
|
(COLORMAPPTR) xform_buf, ONE_SECOND / 2));
|
||||||
|
|
||||||
// paint black rect over screen
|
// paint black rect over screen
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
SetContextForeGroundColor (BUILD_COLOR (
|
SetContextForeGroundColor (BUILD_COLOR (
|
||||||
MAKE_RGB15 (0x0, 0x0, 0x0), 0x00));
|
MAKE_RGB15 (0x0, 0x0, 0x0), 0x00));
|
||||||
DrawFilledRectangle (&r);
|
DrawFilledRectangle (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
// fade in black rect instantly
|
// fade in black rect instantly
|
||||||
xform_buf[0] = FadeAllToColor;
|
xform_buf[0] = FadeAllToColor;
|
||||||
@@ -152,12 +152,12 @@ ac_video_play_task (void* data)
|
|||||||
// draw the frame
|
// draw the frame
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
TFB_DrawScreen_Image (vid->frame,
|
TFB_DrawScreen_Image (vid->frame,
|
||||||
vid->dst_rect.corner.x, vid->dst_rect.corner.y,
|
vid->dst_rect.corner.x, vid->dst_rect.corner.y,
|
||||||
GSCALE_IDENTITY, NULL, TFB_SCREEN_MAIN);
|
GSCALE_IDENTITY, NULL, TFB_SCREEN_MAIN);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushGraphics (); // needed to prevent half-frame updates
|
FlushGraphics (); // needed to prevent half-frame updates
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,12 +209,12 @@ video_play_task (void* data)
|
|||||||
SleepThreadUntil (vid->frame_time);
|
SleepThreadUntil (vid->frame_time);
|
||||||
vid->cur_frame = vid->decoder->cur_frame;
|
vid->cur_frame = vid->decoder->cur_frame;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
TFB_DrawScreen_Image (vid->frame,
|
TFB_DrawScreen_Image (vid->frame,
|
||||||
vid->dst_rect.corner.x, vid->dst_rect.corner.y,
|
vid->dst_rect.corner.x, vid->dst_rect.corner.y,
|
||||||
GSCALE_IDENTITY, NULL, TFB_SCREEN_MAIN);
|
GSCALE_IDENTITY, NULL, TFB_SCREEN_MAIN);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushGraphics (); // needed to prevent half-frame updates
|
FlushGraphics (); // needed to prevent half-frame updates
|
||||||
|
|
||||||
ret = VideoDecoder_Decode (vid->decoder);
|
ret = VideoDecoder_Decode (vid->decoder);
|
||||||
|
|||||||
+49
-49
@@ -224,9 +224,9 @@ DrawPickFrame (PMELEE_STATE pMS)
|
|||||||
+ (ship_r.extent.height - r.extent.height));
|
+ (ship_r.extent.height - r.extent.height));
|
||||||
SetFrameHot (F, MAKE_HOT_SPOT (r.corner.x, r.corner.y));
|
SetFrameHot (F, MAKE_HOT_SPOT (r.corner.x, r.corner.y));
|
||||||
DrawMeleeIcon (27);
|
DrawMeleeIcon (27);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMeleeShipStrings (pMS, (BYTE)pMS->CurIndex);
|
DrawMeleeShipStrings (pMS, (BYTE)pMS->CurIndex);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -518,19 +518,19 @@ int flash_selection_func(void* data)
|
|||||||
#define FLASH_RATE (ONE_SECOND / 8)
|
#define FLASH_RATE (ONE_SECOND / 8)
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
Deselect (pMeleeState->MeleeOption);
|
Deselect (pMeleeState->MeleeOption);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeIn + FLASH_RATE);
|
SleepThreadUntil (TimeIn + FLASH_RATE);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
Select (pMeleeState->MeleeOption);
|
Select (pMeleeState->MeleeOption);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeIn + FLASH_RATE);
|
SleepThreadUntil (TimeIn + FLASH_RATE);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
@@ -571,7 +571,7 @@ DrawMeleeShipStrings (PMELEE_STATE pMS, BYTE NewStarShip)
|
|||||||
STARSHIPPTR StarShipPtr;
|
STARSHIPPTR StarShipPtr;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
OldContext = SetContext (StatusContext);
|
OldContext = SetContext (StatusContext);
|
||||||
GetContextClipRect (&OldRect);
|
GetContextClipRect (&OldRect);
|
||||||
@@ -630,7 +630,7 @@ DrawMeleeShipStrings (PMELEE_STATE pMS, BYTE NewStarShip)
|
|||||||
SetContextClipRect (&OldRect);
|
SetContextClipRect (&OldRect);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static COUNT
|
static COUNT
|
||||||
@@ -846,7 +846,7 @@ DoLoadTeam (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (!pMS->Initialized)
|
if (!pMS->Initialized)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Select (pMS->MeleeOption);
|
Select (pMS->MeleeOption);
|
||||||
if ((pMS->TopTeamIndex = pMS->CurIndex) == (COUNT)~0)
|
if ((pMS->TopTeamIndex = pMS->CurIndex) == (COUNT)~0)
|
||||||
pMS->TopTeamIndex = pMS->CurIndex = 0;
|
pMS->TopTeamIndex = pMS->CurIndex = 0;
|
||||||
@@ -858,7 +858,7 @@ DoLoadTeam (PMELEE_STATE pMS)
|
|||||||
DrawFileStrings (pMS, -1);
|
DrawFileStrings (pMS, -1);
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
pMS->InputFunc = DoLoadTeam;
|
pMS->InputFunc = DoLoadTeam;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (CurrentMenuState.select | CurrentMenuState.cancel)
|
else if (CurrentMenuState.select | CurrentMenuState.cancel)
|
||||||
{
|
{
|
||||||
@@ -876,9 +876,9 @@ DoLoadTeam (PMELEE_STATE pMS)
|
|||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
GetFrameRect (SetAbsFrameIndex (MeleeFrame, 28), &r);
|
GetFrameRect (SetAbsFrameIndex (MeleeFrame, 28), &r);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairMeleeFrame (&r);
|
RepairMeleeFrame (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
InTime = GetTimeCounter ();
|
InTime = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
@@ -932,7 +932,7 @@ DoLoadTeam (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (index != old_index)
|
if (index != old_index)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if ((int)NewTop == (int)pMS->TopTeamIndex)
|
if ((int)NewTop == (int)pMS->TopTeamIndex)
|
||||||
Deselect (pMS->MeleeOption);
|
Deselect (pMS->MeleeOption);
|
||||||
else
|
else
|
||||||
@@ -941,7 +941,7 @@ DoLoadTeam (PMELEE_STATE pMS)
|
|||||||
DrawFileStrings (pMS, -1);
|
DrawFileStrings (pMS, -1);
|
||||||
}
|
}
|
||||||
pMS->CurIndex = index;
|
pMS->CurIndex = index;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1076,7 +1076,7 @@ DoSaveTeam (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
sprintf (file, "%s.mle", pMS->TeamImage[pMS->side].TeamName);
|
sprintf (file, "%s.mle", pMS->TeamImage[pMS->side].TeamName);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (ScreenContext);
|
OldContext = SetContext (ScreenContext);
|
||||||
ConfirmSaveLoad (&MsgStamp);
|
ConfirmSaveLoad (&MsgStamp);
|
||||||
save_fp = res_OpenResFile (meleeDir, file, "wb");
|
save_fp = res_OpenResFile (meleeDir, file, "wb");
|
||||||
@@ -1097,7 +1097,7 @@ DoSaveTeam (PMELEE_STATE pMS)
|
|||||||
DrawStamp (&MsgStamp);
|
DrawStamp (&MsgStamp);
|
||||||
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DeleteResFile (meleeDir, file);
|
DeleteResFile (meleeDir, file);
|
||||||
SaveProblem ();
|
SaveProblem ();
|
||||||
@@ -1110,7 +1110,7 @@ DoSaveTeam (PMELEE_STATE pMS)
|
|||||||
DrawStamp (&MsgStamp);
|
DrawStamp (&MsgStamp);
|
||||||
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
DestroyDrawable (ReleaseDrawable (MsgStamp.frame));
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (save_fp != 0);
|
return (save_fp != 0);
|
||||||
@@ -1135,12 +1135,12 @@ DeleteCurrentShip (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col] = (BYTE)~0;
|
pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col] = (BYTE)~0;
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
GetShipBox (&r, pMS->side, pMS->row, pMS->col);
|
GetShipBox (&r, pMS->side, pMS->row, pMS->col);
|
||||||
RepairMeleeFrame (&r);
|
RepairMeleeFrame (&r);
|
||||||
|
|
||||||
DrawTeamString (pMS, 4);
|
DrawTeamString (pMS, 4);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1177,12 +1177,12 @@ DoEdit (PMELEE_STATE pMS)
|
|||||||
|| (CurrentMenuState.right
|
|| (CurrentMenuState.right
|
||||||
&& (pMS->col == NUM_MELEE_COLUMNS - 1 || pMS->row == NUM_MELEE_ROWS))))
|
&& (pMS->col == NUM_MELEE_COLUMNS - 1 || pMS->row == NUM_MELEE_ROWS))))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (EDIT_MELEE);
|
Deselect (EDIT_MELEE);
|
||||||
pMS->CurIndex = (COUNT)~0;
|
pMS->CurIndex = (COUNT)~0;
|
||||||
pMS->MeleeOption = START_MELEE;
|
pMS->MeleeOption = START_MELEE;
|
||||||
pMS->InputFunc = DoMelee;
|
pMS->InputFunc = DoMelee;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
InTime = GetTimeCounter ();
|
InTime = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
else if (pMS->row < NUM_MELEE_ROWS
|
else if (pMS->row < NUM_MELEE_ROWS
|
||||||
@@ -1213,7 +1213,7 @@ DoEdit (PMELEE_STATE pMS)
|
|||||||
if (pMS->CurIndex != (BYTE)~0)
|
if (pMS->CurIndex != (BYTE)~0)
|
||||||
{
|
{
|
||||||
UNICODE ch;
|
UNICODE ch;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (pMS->Initialized == 1)
|
if (pMS->Initialized == 1)
|
||||||
{
|
{
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
@@ -1226,15 +1226,15 @@ DoEdit (PMELEE_STATE pMS)
|
|||||||
pMS->Initialized = 1;
|
pMS->Initialized = 1;
|
||||||
DisableCharacterMode ();
|
DisableCharacterMode ();
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
else if (CurrentMenuState.select)
|
else if (CurrentMenuState.select)
|
||||||
{
|
{
|
||||||
pMS->CurIndex = 0;
|
pMS->CurIndex = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawTeamString (pMS, 1);
|
DrawTeamString (pMS, 1);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
EnableCharacterMode ();
|
EnableCharacterMode ();
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
@@ -1282,7 +1282,7 @@ DoEdit (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (col != pMS->col || row != pMS->row || side != pMS->side)
|
if (col != pMS->col || row != pMS->row || side != pMS->side)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (EDIT_MELEE);
|
Deselect (EDIT_MELEE);
|
||||||
pMS->side = side;
|
pMS->side = side;
|
||||||
pMS->row = row;
|
pMS->row = row;
|
||||||
@@ -1291,7 +1291,7 @@ DoEdit (PMELEE_STATE pMS)
|
|||||||
pMS->CurIndex = (BYTE)~0;
|
pMS->CurIndex = (BYTE)~0;
|
||||||
else
|
else
|
||||||
pMS->CurIndex = pMS->TeamImage[side].ShipList[row][col];
|
pMS->CurIndex = pMS->TeamImage[side].ShipList[row][col];
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawMeleeShipStrings (pMS, (BYTE)(pMS->CurIndex));
|
DrawMeleeShipStrings (pMS, (BYTE)(pMS->CurIndex));
|
||||||
}
|
}
|
||||||
@@ -1319,21 +1319,21 @@ DoPickShip (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (pMS->Initialized == 0)
|
if (pMS->Initialized == 0)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (EDIT_MELEE);
|
Deselect (EDIT_MELEE);
|
||||||
pMS->InputFunc = DoPickShip;
|
pMS->InputFunc = DoPickShip;
|
||||||
DrawPickFrame (pMS);
|
DrawPickFrame (pMS);
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (EDIT_MELEE);
|
Deselect (EDIT_MELEE);
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
AdvanceCursor (pMS);
|
AdvanceCursor (pMS);
|
||||||
pMS->CurIndex = pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col];
|
pMS->CurIndex = pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col];
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawMeleeShipStrings (pMS, (BYTE)(pMS->CurIndex));
|
DrawMeleeShipStrings (pMS, (BYTE)(pMS->CurIndex));
|
||||||
}
|
}
|
||||||
@@ -1353,10 +1353,10 @@ DoPickShip (PMELEE_STATE pMS)
|
|||||||
UnlockStarShip (&master_q, hStarShip);
|
UnlockStarShip (&master_q, hStarShip);
|
||||||
|
|
||||||
pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col] = pMS->CurIndex;
|
pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col] = pMS->CurIndex;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawTeamString (pMS, 4);
|
DrawTeamString (pMS, 4);
|
||||||
DrawShipBox (pMS, FALSE);
|
DrawShipBox (pMS, FALSE);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
AdvanceCursor (pMS);
|
AdvanceCursor (pMS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1364,9 +1364,9 @@ DoPickShip (PMELEE_STATE pMS)
|
|||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
GetFrameRect (SetAbsFrameIndex (MeleeFrame, 27), &r);
|
GetFrameRect (SetAbsFrameIndex (MeleeFrame, 27), &r);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairMeleeFrame (&r);
|
RepairMeleeFrame (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
pMS->CurIndex = pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col];
|
pMS->CurIndex = pMS->TeamImage[pMS->side].ShipList[pMS->row][pMS->col];
|
||||||
@@ -1416,10 +1416,10 @@ DoPickShip (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (NewStarShip != pMS->CurIndex)
|
if (NewStarShip != pMS->CurIndex)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (EDIT_MELEE);
|
Deselect (EDIT_MELEE);
|
||||||
pMS->CurIndex = NewStarShip;
|
pMS->CurIndex = NewStarShip;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMeleeShipStrings (pMS, NewStarShip);
|
DrawMeleeShipStrings (pMS, NewStarShip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1469,9 +1469,9 @@ FreeMeleeInfo (PMELEE_STATE pMS)
|
|||||||
{
|
{
|
||||||
if (pMS->flash_task)
|
if (pMS->flash_task)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Task_SetState (pMS->flash_task, TASK_EXIT);
|
Task_SetState (pMS->flash_task, TASK_EXIT);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMS->flash_task = 0;
|
pMS->flash_task = 0;
|
||||||
}
|
}
|
||||||
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->TeamDE));
|
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->TeamDE));
|
||||||
@@ -1591,9 +1591,9 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
{
|
{
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
pMS->MeleeOption = START_MELEE;
|
pMS->MeleeOption = START_MELEE;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
InitMelee (pMS);
|
InitMelee (pMS);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
{
|
{
|
||||||
BYTE clut_buf[] = {FadeAllToColor};
|
BYTE clut_buf[] = {FadeAllToColor};
|
||||||
|
|
||||||
@@ -1603,10 +1603,10 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
}
|
}
|
||||||
else if (CurrentMenuState.cancel || CurrentMenuState.left)
|
else if (CurrentMenuState.cancel || CurrentMenuState.left)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
InTime = GetTimeCounter ();
|
InTime = GetTimeCounter ();
|
||||||
Deselect (pMS->MeleeOption);
|
Deselect (pMS->MeleeOption);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMS->MeleeOption = EDIT_MELEE;
|
pMS->MeleeOption = EDIT_MELEE;
|
||||||
pMS->Initialized = FALSE;
|
pMS->Initialized = FALSE;
|
||||||
if (CurrentMenuState.cancel)
|
if (CurrentMenuState.cancel)
|
||||||
@@ -1644,11 +1644,11 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (NewMeleeOption != pMS->MeleeOption)
|
if (NewMeleeOption != pMS->MeleeOption)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Deselect (pMS->MeleeOption);
|
Deselect (pMS->MeleeOption);
|
||||||
pMS->MeleeOption = NewMeleeOption;
|
pMS->MeleeOption = NewMeleeOption;
|
||||||
Select (pMS->MeleeOption);
|
Select (pMS->MeleeOption);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentMenuState.select || force_select)
|
if (CurrentMenuState.select || force_select)
|
||||||
@@ -1665,9 +1665,9 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
|
|
||||||
if (pMS->flash_task)
|
if (pMS->flash_task)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
Task_SetState (pMS->flash_task, TASK_EXIT);
|
Task_SetState (pMS->flash_task, TASK_EXIT);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMS->flash_task = 0;
|
pMS->flash_task = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1681,9 +1681,9 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
}
|
}
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BuildAndDrawShipList (pMS);
|
BuildAndDrawShipList (pMS);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
WaitForSoundEnd (TFBSOUND_WAIT_ALL);
|
WaitForSoundEnd (TFBSOUND_WAIT_ALL);
|
||||||
|
|
||||||
|
|||||||
@@ -516,7 +516,7 @@ DrawMenuStateStrings (BYTE beg_index, SWORD NewState)
|
|||||||
if (NewState <= end_index - beg_index)
|
if (NewState <= end_index - beg_index)
|
||||||
s.frame = SetAbsFrameIndex (PlayFrame, beg_index + NewState);
|
s.frame = SetAbsFrameIndex (PlayFrame, beg_index + NewState);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (StatusContext);
|
OldContext = SetContext (StatusContext);
|
||||||
GetContextClipRect (&r);
|
GetContextClipRect (&r);
|
||||||
s.origin.x = RADAR_X - r.corner.x;
|
s.origin.x = RADAR_X - r.corner.x;
|
||||||
@@ -631,6 +631,6 @@ DrawMenuStateStrings (BYTE beg_index, SWORD NewState)
|
|||||||
&& flash_rect.extent.height == RADAR_HEIGHT)
|
&& flash_rect.extent.height == RADAR_HEIGHT)
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+25
-25
@@ -220,7 +220,7 @@ DoInstallModule (PMENU_STATE pMS)
|
|||||||
|
|
||||||
pMS->InputFunc = DoInstallModule;
|
pMS->InputFunc = DoInstallModule;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
ClearSISRect (CLEAR_SIS_RADAR);
|
ClearSISRect (CLEAR_SIS_RADAR);
|
||||||
@@ -270,7 +270,7 @@ DoInstallModule (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
@@ -354,15 +354,15 @@ DoInstallModule (PMENU_STATE pMS)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_FUEL, pMS->CurState = OUTFIT_MODULES);
|
DrawMenuStateStrings (PM_FUEL, pMS->CurState = OUTFIT_MODULES);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
|
|
||||||
pMS->InputFunc = DoOutfit;
|
pMS->InputFunc = DoOutfit;
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (motion)
|
else if (motion)
|
||||||
{
|
{
|
||||||
@@ -408,7 +408,7 @@ DoInstallModule (PMENU_STATE pMS)
|
|||||||
|| (NewItem >= GUN_WEAPON && NewItem <= CANNON_WEAPON
|
|| (NewItem >= GUN_WEAPON && NewItem <= CANNON_WEAPON
|
||||||
&& pMS->delta_item > 0 && pMS->delta_item < 13)));
|
&& pMS->delta_item > 0 && pMS->delta_item < 13)));
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (NewState < EMPTY_SLOT)
|
if (NewState < EMPTY_SLOT)
|
||||||
{
|
{
|
||||||
if (NewItem != pMS->CurState)
|
if (NewItem != pMS->CurState)
|
||||||
@@ -505,7 +505,7 @@ InitFlash:
|
|||||||
else
|
else
|
||||||
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
@@ -519,7 +519,7 @@ ChangeFuelQuantity ()
|
|||||||
|
|
||||||
if (CurrentMenuState.up)
|
if (CurrentMenuState.up)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
if (GetFTankCapacity (&r.corner) > GLOBAL_SIS (FuelOnBoard)
|
if (GetFTankCapacity (&r.corner) > GLOBAL_SIS (FuelOnBoard)
|
||||||
&& GLOBAL_SIS (ResUnits) >=
|
&& GLOBAL_SIS (ResUnits) >=
|
||||||
@@ -541,11 +541,11 @@ ChangeFuelQuantity ()
|
|||||||
GetGaugeRect (&r, FALSE);
|
GetGaugeRect (&r, FALSE);
|
||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (CurrentMenuState.down)
|
else if (CurrentMenuState.down)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
if (GLOBAL_SIS (FuelOnBoard))
|
if (GLOBAL_SIS (FuelOnBoard))
|
||||||
{
|
{
|
||||||
@@ -563,7 +563,7 @@ ChangeFuelQuantity ()
|
|||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
GetGaugeRect (&r, FALSE);
|
GetGaugeRect (&r, FALSE);
|
||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -600,7 +600,7 @@ DoOutfit (PMENU_STATE pMS)
|
|||||||
SetTransitionSource (NULL);
|
SetTransitionSource (NULL);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 2));
|
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 2));
|
||||||
DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE));
|
DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE));
|
||||||
|
|
||||||
@@ -656,13 +656,13 @@ DoOutfit (PMENU_STATE pMS)
|
|||||||
DrawStamp ((PSTAMP)&s);
|
DrawStamp ((PSTAMP)&s);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_FUEL, pMS->CurState);
|
DrawMenuStateStrings (PM_FUEL, pMS->CurState);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawFlagshipName (FALSE);
|
DrawFlagshipName (FALSE);
|
||||||
if (optWhichFonts == OPT_PC)
|
if (optWhichFonts == OPT_PC)
|
||||||
DrawFlagshipStats ();
|
DrawFlagshipStats ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
{
|
{
|
||||||
RECT r;
|
RECT r;
|
||||||
@@ -676,9 +676,9 @@ DoOutfit (PMENU_STATE pMS)
|
|||||||
PlayMusic (pMS->hMusic, TRUE, 1);
|
PlayMusic (pMS->hMusic, TRUE, 1);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
GLOBAL_SIS (FuelOnBoard) =
|
GLOBAL_SIS (FuelOnBoard) =
|
||||||
(GLOBAL_SIS (FuelOnBoard)
|
(GLOBAL_SIS (FuelOnBoard)
|
||||||
@@ -695,9 +695,9 @@ DoOutfit (PMENU_STATE pMS)
|
|||||||
if (pMS->CurState == OUTFIT_DOFUEL)
|
if (pMS->CurState == OUTFIT_DOFUEL)
|
||||||
{
|
{
|
||||||
pMS->CurState = OUTFIT_FUEL;
|
pMS->CurState = OUTFIT_FUEL;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -719,18 +719,18 @@ ExitOutfit:
|
|||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
pMS->CurState = OUTFIT_DOFUEL;
|
pMS->CurState = OUTFIT_DOFUEL;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
GetGaugeRect (&r, FALSE);
|
GetGaugeRect (&r, FALSE);
|
||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OUTFIT_DOFUEL:
|
case OUTFIT_DOFUEL:
|
||||||
pMS->CurState = OUTFIT_FUEL;
|
pMS->CurState = OUTFIT_FUEL;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
case OUTFIT_MODULES:
|
case OUTFIT_MODULES:
|
||||||
pMS->CurState = EMPTY_SLOT + 2;
|
pMS->CurState = EMPTY_SLOT + 2;
|
||||||
@@ -746,9 +746,9 @@ ExitOutfit:
|
|||||||
if (GameOptions () == 0)
|
if (GameOptions () == 0)
|
||||||
goto ExitOutfit;
|
goto ExitOutfit;
|
||||||
DrawMenuStateStrings (PM_FUEL, pMS->CurState);
|
DrawMenuStateStrings (PM_FUEL, pMS->CurState);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ GetMeleeStarShip (STARSHIPPTR LastStarShipPtr, COUNT which_player)
|
|||||||
|
|
||||||
TimeOut = GetTimeCounter () + (ONE_SECOND * 4);
|
TimeOut = GetTimeCounter () + (ONE_SECOND * 4);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
UpdateInputState ();
|
UpdateInputState ();
|
||||||
PressState = AnyButtonPress (TRUE);
|
PressState = AnyButtonPress (TRUE);
|
||||||
@@ -142,7 +142,7 @@ GetMeleeStarShip (STARSHIPPTR LastStarShipPtr, COUNT which_player)
|
|||||||
ConfirmExit ();
|
ConfirmExit ();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@@ -243,7 +243,7 @@ GetMeleeStarShip (STARSHIPPTR LastStarShipPtr, COUNT which_player)
|
|||||||
col = new_col;
|
col = new_col;
|
||||||
|
|
||||||
PlaySoundEffect (MenuSounds, 0, NotPositional (), NULL, 0);
|
PlaySoundEffect (MenuSounds, 0, NotPositional (), NULL, 0);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ChangeSelection:
|
ChangeSelection:
|
||||||
flash_rect.corner.x = PICK_X_OFFS
|
flash_rect.corner.x = PICK_X_OFFS
|
||||||
+ ((ICON_WIDTH + 2) * col);
|
+ ((ICON_WIDTH + 2) * col);
|
||||||
@@ -293,12 +293,12 @@ ChangeSelection:
|
|||||||
UnlockStarShip (&race_q[which_player], hBattleShip);
|
UnlockStarShip (&race_q[which_player], hBattleShip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
|
|
||||||
if (hBattleShip == 0)
|
if (hBattleShip == 0)
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ DoPickBattleShip (PMENU_STATE pMS)
|
|||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
pMS->InputFunc = DoPickBattleShip;
|
pMS->InputFunc = DoPickBattleShip;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
goto ChangeSelection;
|
goto ChangeSelection;
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,7 @@ DoPickBattleShip (PMENU_STATE pMS)
|
|||||||
else if (new_row == NUM_PICK_SHIP_ROWS)
|
else if (new_row == NUM_PICK_SHIP_ROWS)
|
||||||
new_row = 0;
|
new_row = 0;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
#ifdef NEVER
|
#ifdef NEVER
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0xA, 0xA, 0xA), 0x1D));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0xA, 0xA, 0xA), 0x1D));
|
||||||
@@ -211,7 +211,7 @@ ChangeSelection:
|
|||||||
|
|
||||||
SetFlashRect ((RECT *)0, (FRAME)0);
|
SetFlashRect ((RECT *)0, (FRAME)0);
|
||||||
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,11 +247,11 @@ OldContext = SetContext (SpaceContext);
|
|||||||
MenuState.flash_rect1.corner = pick_r.corner;
|
MenuState.flash_rect1.corner = pick_r.corner;
|
||||||
MenuState.flash_rect1.extent.width = 0;
|
MenuState.flash_rect1.extent.width = 0;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMenuState = &MenuState;
|
pMenuState = &MenuState;
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
pMenuState = 0;
|
pMenuState = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ DrawCargoStrings (BYTE OldElement, BYTE NewElement)
|
|||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
UNICODE rt_amount_buf[10];
|
UNICODE rt_amount_buf[10];
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
OldContext = SetContext (StatusContext);
|
OldContext = SetContext (StatusContext);
|
||||||
SetContextFont (TinyFont);
|
SetContextFont (TinyFont);
|
||||||
@@ -272,7 +272,7 @@ DrawCargoStrings (BYTE OldElement, BYTE NewElement)
|
|||||||
|
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
@@ -299,9 +299,9 @@ DoDiscardCargo (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
else if (cancel)
|
else if (cancel)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
@@ -312,10 +312,10 @@ DoDiscardCargo (PMENU_STATE pMS)
|
|||||||
--GLOBAL_SIS (ElementAmounts[pMS->CurState - 1]);
|
--GLOBAL_SIS (ElementAmounts[pMS->CurState - 1]);
|
||||||
DrawCargoStrings ((BYTE)(pMS->CurState - 1), (BYTE)(pMS->CurState - 1));
|
DrawCargoStrings ((BYTE)(pMS->CurState - 1), (BYTE)(pMS->CurState - 1));
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
--GLOBAL_SIS (TotalElementMass);
|
--GLOBAL_SIS (TotalElementMass);
|
||||||
ShowRemainingCapacity ();
|
ShowRemainingCapacity ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -336,9 +336,9 @@ DoDiscardCargo (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
SelectCargo:
|
SelectCargo:
|
||||||
DrawCargoStrings ((BYTE)(pMS->CurState - 1), (BYTE)(NewState - 1));
|
DrawCargoStrings ((BYTE)(pMS->CurState - 1), (BYTE)(NewState - 1));
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (GAME_STRING (NewState - 1 + (CARGO_STRING_BASE + 2)));
|
DrawStatusMessage (GAME_STRING (NewState - 1 + (CARGO_STRING_BASE + 2)));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->CurState = NewState;
|
pMS->CurState = NewState;
|
||||||
}
|
}
|
||||||
@@ -354,9 +354,9 @@ Cargo (PMENU_STATE pMS)
|
|||||||
--pMS->Initialized;
|
--pMS->Initialized;
|
||||||
pMS->CurState = 1;
|
pMS->CurState = 1;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage ((UNICODE *)~0);
|
DrawStatusMessage ((UNICODE *)~0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DoInput ((PVOID)pMS, TRUE);
|
DoInput ((PVOID)pMS, TRUE);
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ DrawDevices (PMENU_STATE pMS, BYTE OldDevice, BYTE NewDevice)
|
|||||||
RECT r;
|
RECT r;
|
||||||
PBYTE pDeviceMap;
|
PBYTE pDeviceMap;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
SetContextFont (TinyFont);
|
SetContextFont (TinyFont);
|
||||||
@@ -174,7 +174,7 @@ DrawDevices (PMENU_STATE pMS, BYTE OldDevice, BYTE NewDevice)
|
|||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static UWORD
|
static UWORD
|
||||||
@@ -450,7 +450,7 @@ DoManipulateDevices (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
UWORD status;
|
UWORD status;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
status = DeviceFailed (
|
status = DeviceFailed (
|
||||||
((PBYTE)pMS->CurFrame)[pMS->CurState - 1]
|
((PBYTE)pMS->CurFrame)[pMS->CurState - 1]
|
||||||
);
|
);
|
||||||
@@ -461,7 +461,7 @@ DoManipulateDevices (PMENU_STATE pMS)
|
|||||||
else if (HIBYTE (status) == 0)
|
else if (HIBYTE (status) == 0)
|
||||||
PlaySoundEffect (SetAbsSoundIndex (MenuSounds, 3),
|
PlaySoundEffect (SetAbsSoundIndex (MenuSounds, 3),
|
||||||
0, NotPositional (), NULL, GAME_SOUND_PRIORITY);
|
0, NotPositional (), NULL, GAME_SOUND_PRIORITY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return ((BOOLEAN)NewState);
|
return ((BOOLEAN)NewState);
|
||||||
}
|
}
|
||||||
@@ -634,9 +634,9 @@ Devices (PMENU_STATE pMS)
|
|||||||
if (GLOBAL_SIS (CrewEnlisted) != (COUNT)~0
|
if (GLOBAL_SIS (CrewEnlisted) != (COUNT)~0
|
||||||
&& !(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
&& !(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (!GET_GAME_STATE (PORTAL_COUNTER)
|
if (!GET_GAME_STATE (PORTAL_COUNTER)
|
||||||
&& !(GLOBAL (CurrentActivity) & START_ENCOUNTER)
|
&& !(GLOBAL (CurrentActivity) & START_ENCOUNTER)
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ GenerateChmmr (BYTE control)
|
|||||||
{
|
{
|
||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
pSolarSysState->SysInfo.PlanetInfo.LanderFont =
|
pSolarSysState->SysInfo.PlanetInfo.LanderFont =
|
||||||
CaptureFont (
|
CaptureFont (
|
||||||
@@ -130,7 +130,7 @@ GenerateChmmr (BYTE control)
|
|||||||
));
|
));
|
||||||
pSolarSysState->SysInfo.PlanetInfo.LanderFont = 0;
|
pSolarSysState->SysInfo.PlanetInfo.LanderFont = 0;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -172,9 +172,9 @@ GenerateMycon (BYTE control)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
SET_GAME_STATE (SUN_DEVICE_UNGUARDED, 1);
|
SET_GAME_STATE (SUN_DEVICE_UNGUARDED, 1);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,9 +333,9 @@ GenerateOrz (BYTE control)
|
|||||||
if (OrzSurvivors)
|
if (OrzSurvivors)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ ZapToUrquanEncounter (void)
|
|||||||
dx = (SIZE)square_root ((long)dx * dx + (long)dy * dy)
|
dx = (SIZE)square_root ((long)dx * dx + (long)dy * dy)
|
||||||
+ (FUEL_TANK_SCALE >> 1);
|
+ (FUEL_TANK_SCALE >> 1);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, -dx, 0);
|
DeltaSISGauges (0, -dx, 0);
|
||||||
if (GLOBAL_SIS (FuelOnBoard) < 5 * FUEL_TANK_SCALE)
|
if (GLOBAL_SIS (FuelOnBoard) < 5 * FUEL_TANK_SCALE)
|
||||||
{
|
{
|
||||||
@@ -95,7 +95,7 @@ ZapToUrquanEncounter (void)
|
|||||||
}
|
}
|
||||||
DrawSISMessage (NULL_PTR);
|
DrawSISMessage (NULL_PTR);
|
||||||
DrawHyperCoords (EncounterPtr->SD.star_pt);
|
DrawHyperCoords (EncounterPtr->SD.star_pt);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
UnlockEncounter (hEncounter);
|
UnlockEncounter (hEncounter);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,9 +166,9 @@ GenerateThradd (BYTE control)
|
|||||||
|| (!GET_GAME_STATE (HELIX_UNPROTECTED)
|
|| (!GET_GAME_STATE (HELIX_UNPROTECTED)
|
||||||
&& (BYTE)(GET_GAME_STATE (THRADD_MISSION) - 1) >= 3))
|
&& (BYTE)(GET_GAME_STATE (THRADD_MISSION) - 1) >= 3))
|
||||||
break;
|
break;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurStarDescPtr->Index == AQUA_HELIX_DEFINED
|
if (CurStarDescPtr->Index == AQUA_HELIX_DEFINED
|
||||||
|
|||||||
@@ -200,9 +200,9 @@ GenerateUtwig (BYTE control)
|
|||||||
if (DruugeSurvivors)
|
if (DruugeSurvivors)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SET_GAME_STATE (BOMB_UNPROTECTED, 1);
|
SET_GAME_STATE (BOMB_UNPROTECTED, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -180,9 +180,9 @@ GenerateVUX (BYTE control)
|
|||||||
|| !GET_GAME_STATE (ZEX_IS_DEAD))
|
|| !GET_GAME_STATE (ZEX_IS_DEAD))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1215,7 +1215,7 @@ ScrollPlanetSide (SIZE dx, SIZE dy, SIZE CountDown)
|
|||||||
pSolarSysState->MenuState.flash_rect1.corner.y = HIWORD (TimeIn);
|
pSolarSysState->MenuState.flash_rect1.corner.y = HIWORD (TimeIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
|
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
@@ -1329,7 +1329,7 @@ ScrollPlanetSide (SIZE dx, SIZE dy, SIZE CountDown)
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
|
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1353,7 +1353,7 @@ AnimateLaunch (FRAME farray, BOOLEAN ShowPlanetSide)
|
|||||||
RepairBackRect (&r);
|
RepairBackRect (&r);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (ShowPlanetSide)
|
if (ShowPlanetSide)
|
||||||
@@ -1370,7 +1370,7 @@ AnimateLaunch (FRAME farray, BOOLEAN ShowPlanetSide)
|
|||||||
SleepThreadUntil (Time + (ONE_SECOND / 22));
|
SleepThreadUntil (Time + (ONE_SECOND / 22));
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
} while (--num_frames);
|
} while (--num_frames);
|
||||||
|
|
||||||
GetFrameRect (s.frame, &r);
|
GetFrameRect (s.frame, &r);
|
||||||
@@ -1386,9 +1386,9 @@ InitPlanetSide (void)
|
|||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
DWORD Time;
|
DWORD Time;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (RadarContext);
|
OldContext = SetContext (RadarContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
|
|
||||||
@@ -1397,9 +1397,9 @@ InitPlanetSide (void)
|
|||||||
s.frame = SetAbsFrameIndex (LanderFrame[0],
|
s.frame = SetAbsFrameIndex (LanderFrame[0],
|
||||||
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 1);
|
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 1);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SleepThread (ONE_SECOND / 15);
|
SleepThread (ONE_SECOND / 15);
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
@@ -1409,10 +1409,10 @@ InitPlanetSide (void)
|
|||||||
{
|
{
|
||||||
SleepThreadUntil (Time + ONE_SECOND / 30);
|
SleepThreadUntil (Time + ONE_SECOND / 30);
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (-1, 0, 0);
|
DeltaSISGauges (-1, 0, 0);
|
||||||
DeltaLanderCrew (1, 0);
|
DeltaLanderCrew (1, 0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
||||||
@@ -1423,9 +1423,9 @@ InitPlanetSide (void)
|
|||||||
else
|
else
|
||||||
s.frame = SetAbsFrameIndex (s.frame,
|
s.frame = SetAbsFrameIndex (s.frame,
|
||||||
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 2);
|
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 2);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
@@ -1436,18 +1436,18 @@ InitPlanetSide (void)
|
|||||||
{
|
{
|
||||||
s.frame = SetAbsFrameIndex (s.frame,
|
s.frame = SetAbsFrameIndex (s.frame,
|
||||||
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 3);
|
(ANGLE_TO_FACING (FULL_CIRCLE) << 1) + 3);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
|
|
||||||
s.frame = IncFrameIndex (s.frame);
|
s.frame = IncFrameIndex (s.frame);
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (GET_GAME_STATE (IMPROVED_LANDER_CARGO))
|
if (GET_GAME_STATE (IMPROVED_LANDER_CARGO))
|
||||||
{
|
{
|
||||||
@@ -1455,25 +1455,25 @@ InitPlanetSide (void)
|
|||||||
Time = GetTimeCounter ();
|
Time = GetTimeCounter ();
|
||||||
|
|
||||||
s.frame = SetAbsFrameIndex (s.frame, 59);
|
s.frame = SetAbsFrameIndex (s.frame, 59);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
#ifndef SPIN_ON_LAUNCH
|
#ifndef SPIN_ON_LAUNCH
|
||||||
pSolarSysState->PauseRotate = 1;
|
pSolarSysState->PauseRotate = 1;
|
||||||
#endif
|
#endif
|
||||||
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
SleepThreadUntil (Time + (ONE_SECOND / 15));
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PlaySound (SetAbsSoundIndex (LanderSounds, LANDER_DEPARTS),
|
PlaySound (SetAbsSoundIndex (LanderSounds, LANDER_DEPARTS),
|
||||||
NotPositional (), NULL, GAME_SOUND_PRIORITY + 1);
|
NotPositional (), NULL, GAME_SOUND_PRIORITY + 1);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
AnimateLaunch (LanderFrame[5], FALSE);
|
AnimateLaunch (LanderFrame[5], FALSE);
|
||||||
#ifdef SPIN_ON_LAUNCH
|
#ifdef SPIN_ON_LAUNCH
|
||||||
pSolarSysState->PauseRotate = 1;
|
pSolarSysState->PauseRotate = 1;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
#endif
|
#endif
|
||||||
// Adjust pSolarSysState->MenuState.first_item by a random jitter.
|
// Adjust pSolarSysState->MenuState.first_item by a random jitter.
|
||||||
#define RANDOM_MISS 64
|
#define RANDOM_MISS 64
|
||||||
@@ -1547,7 +1547,7 @@ InitPlanetSide (void)
|
|||||||
|
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SET_GAME_STATE (PLANETARY_LANDING, 1);
|
SET_GAME_STATE (PLANETARY_LANDING, 1);
|
||||||
}
|
}
|
||||||
@@ -1858,7 +1858,7 @@ ReturnToOrbit (PRECT pRect)
|
|||||||
{
|
{
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
SetContextClipRect (pRect);
|
SetContextClipRect (pRect);
|
||||||
|
|
||||||
@@ -1873,7 +1873,7 @@ ReturnToOrbit (PRECT pRect)
|
|||||||
|
|
||||||
LoadIntoExtraScreen (pRect);
|
LoadIntoExtraScreen (pRect);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
// SetPlanetTilt (0);
|
// SetPlanetTilt (0);
|
||||||
}
|
}
|
||||||
@@ -1994,9 +1994,9 @@ PlanetSide (PMENU_STATE pMS)
|
|||||||
#endif /* NEVER */
|
#endif /* NEVER */
|
||||||
|
|
||||||
--GLOBAL_SIS (NumLanders);
|
--GLOBAL_SIS (NumLanders);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawLanders ();
|
DrawLanders ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
ReturnToOrbit (&r);
|
ReturnToOrbit (&r);
|
||||||
}
|
}
|
||||||
@@ -2029,7 +2029,7 @@ PlanetSide (PMENU_STATE pMS)
|
|||||||
SleepThread (1);
|
SleepThread (1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
AnimateLaunch (LanderFrame[6], TRUE);
|
AnimateLaunch (LanderFrame[6], TRUE);
|
||||||
@@ -2047,7 +2047,7 @@ PlanetSide (PMENU_STATE pMS)
|
|||||||
DrawStorageBays (FALSE);
|
DrawStorageBays (FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
GLOBAL_SIS (TotalBioMass) += PSD.BiologicalLevel;
|
GLOBAL_SIS (TotalBioMass) += PSD.BiologicalLevel;
|
||||||
}
|
}
|
||||||
@@ -2090,7 +2090,7 @@ InitLander (BYTE LanderFlags)
|
|||||||
{
|
{
|
||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContext (RadarContext);
|
SetContext (RadarContext);
|
||||||
|
|
||||||
@@ -2182,5 +2182,5 @@ InitLander (BYTE LanderFlags)
|
|||||||
|
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,16 +74,17 @@ RotatePlanet (int x, int dx, int dy, COUNT scale_amt, UBYTE zoom_from, PRECT zoo
|
|||||||
dy += ((zoom_from & 0x02) ? 1 : -1) * dy * (base - scale_amt) / base;
|
dy += ((zoom_from & 0x02) ? 1 : -1) * dy * (base - scale_amt) / base;
|
||||||
}
|
}
|
||||||
|
|
||||||
//LockCrossThreadMutex (GraphicsLock);
|
//LockMutex (GraphicsLock);
|
||||||
|
|
||||||
|
// PauseRotate needs to be checked twice. It is first checked
|
||||||
|
// at the rotate_planet_task function to bypass rendering the
|
||||||
|
// planet (and thus slowinng down other parts of te code. It
|
||||||
|
// is checked here because it is possile that PauseRotate was
|
||||||
|
// set between then and now, and we don't want too push
|
||||||
|
// anything onto the DrawQueue in that case. If the locking
|
||||||
|
// operation is moved before the RenderLevelMasks call, one of
|
||||||
|
// the two PauseRotate checks can be removed.
|
||||||
|
|
||||||
// PauseRotate needs to be checked twice. It is first
|
|
||||||
// checked at the rotate_planet_task function to bypass
|
|
||||||
// rendering the planet (and thus slowinng down other
|
|
||||||
// parts of te code. It is checked here because it is possile
|
|
||||||
// that PauseRotate was set between then and now, and we don't
|
|
||||||
// want too push anything onto the DrawQueue in that case.
|
|
||||||
// If the LockCrossThreadMutex is moved before the RenderLevelMasks call,
|
|
||||||
// one of the two PauseRotate checks can be removed.
|
|
||||||
//if (((PSOLARSYS_STATE volatile)pSolarSysState)->PauseRotate !=1)
|
//if (((PSOLARSYS_STATE volatile)pSolarSysState)->PauseRotate !=1)
|
||||||
{
|
{
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
@@ -103,7 +104,7 @@ RotatePlanet (int x, int dx, int dy, COUNT scale_amt, UBYTE zoom_from, PRECT zoo
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
}
|
}
|
||||||
//UnlockCrossThreadMutex (GraphicsLock);
|
//UnlockMutex (GraphicsLock);
|
||||||
if (scale_amt && scale_amt != base)
|
if (scale_amt && scale_amt != base)
|
||||||
{
|
{
|
||||||
GetFrameRect (pFrame[num_frames - 1], zoomr);
|
GetFrameRect (pFrame[num_frames - 1], zoomr);
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ void
|
|||||||
LoadPlanet (BOOLEAN IsDefined)
|
LoadPlanet (BOOLEAN IsDefined)
|
||||||
{
|
{
|
||||||
STAMP s;
|
STAMP s;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
SetTransitionSource (NULL);
|
SetTransitionSource (NULL);
|
||||||
@@ -106,9 +106,9 @@ LoadPlanet (BOOLEAN IsDefined)
|
|||||||
{
|
{
|
||||||
if (LOBYTE (LastActivity) == 0)
|
if (LOBYTE (LastActivity) == 0)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -146,7 +146,7 @@ LoadPlanet (BOOLEAN IsDefined)
|
|||||||
LoadIntoExtraScreen (&r);
|
LoadIntoExtraScreen (&r);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (!PLRPlaying ((MUSIC_REF)~0))
|
if (!PLRPlaying ((MUSIC_REF)~0))
|
||||||
{
|
{
|
||||||
@@ -173,7 +173,7 @@ LoadPlanet (BOOLEAN IsDefined)
|
|||||||
r.corner.y = SIS_ORG_Y;
|
r.corner.y = SIS_ORG_Y;
|
||||||
r.extent.width = SIS_SCREEN_WIDTH;
|
r.extent.width = SIS_SCREEN_WIDTH;
|
||||||
r.extent.height = SIS_SCREEN_HEIGHT;
|
r.extent.height = SIS_SCREEN_HEIGHT;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
oldContext = SetContext (SpaceContext);
|
oldContext = SetContext (SpaceContext);
|
||||||
DrawStarBackGround (TRUE);
|
DrawStarBackGround (TRUE);
|
||||||
SetContext (oldContext);
|
SetContext (oldContext);
|
||||||
@@ -183,7 +183,7 @@ LoadPlanet (BOOLEAN IsDefined)
|
|||||||
ScreenTransition (3, &r); // How does this work?
|
ScreenTransition (3, &r); // How does this work?
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
LoadIntoExtraScreen (&r);
|
LoadIntoExtraScreen (&r);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,7 +201,7 @@ FreePlanet (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
StopMusic ();
|
StopMusic ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
for (i = 0; i < sizeof (pSolarSysState->PlanetSideFrame)
|
for (i = 0; i < sizeof (pSolarSysState->PlanetSideFrame)
|
||||||
/ sizeof (pSolarSysState->PlanetSideFrame[0]); ++i)
|
/ sizeof (pSolarSysState->PlanetSideFrame[0]); ++i)
|
||||||
@@ -253,6 +253,6 @@ FreePlanet (void)
|
|||||||
pSolarSysState->SysInfo.PlanetInfo.LanderFont = 0;
|
pSolarSysState->SysInfo.PlanetInfo.LanderFont = 0;
|
||||||
pSolarSysState->PauseRotate = 0;
|
pSolarSysState->PauseRotate = 0;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1418,7 +1418,7 @@ rotate_planet_task (void *data)
|
|||||||
// The PauseRotate needs to be placed after the lock,
|
// The PauseRotate needs to be placed after the lock,
|
||||||
// to guarantee that PauseRotate doesn't change while waiting
|
// to guarantee that PauseRotate doesn't change while waiting
|
||||||
// to acquire the graphics lock
|
// to acquire the graphics lock
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (*(volatile UBYTE *)&pSS->PauseRotate !=1
|
if (*(volatile UBYTE *)&pSS->PauseRotate !=1
|
||||||
// if (((PSOLARSYS_STATE volatile)pSS)->MenuState.Initialized <= 3
|
// if (((PSOLARSYS_STATE volatile)pSS)->MenuState.Initialized <= 3
|
||||||
&& !(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
&& !(GLOBAL (CurrentActivity) & CHECK_ABORT))
|
||||||
@@ -1441,7 +1441,7 @@ rotate_planet_task (void *data)
|
|||||||
} else
|
} else
|
||||||
view_index++;
|
view_index++;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
// If this frame hasn't been generted, generate it
|
// If this frame hasn't been generted, generate it
|
||||||
if (! pSolarSysState->Orbit.isPFADefined[x]) {
|
if (! pSolarSysState->Orbit.isPFADefined[x]) {
|
||||||
RenderLevelMasks (x);
|
RenderLevelMasks (x);
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ flash_cursor_func(void *data)
|
|||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
|
|
||||||
if (c == 0x00 || c == 0x1A)
|
if (c == 0x00 || c == 0x1A)
|
||||||
@@ -86,7 +86,7 @@ flash_cursor_func(void *data)
|
|||||||
SetContextForeGroundColor (OldColor);
|
SetContextForeGroundColor (OldColor);
|
||||||
|
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeIn + (ONE_SECOND >> 4));
|
SleepThreadUntil (TimeIn + (ONE_SECOND >> 4));
|
||||||
}
|
}
|
||||||
FinishTask (task);
|
FinishTask (task);
|
||||||
@@ -254,7 +254,7 @@ DrawStarMap (COUNT race_update, PRECT pClipRect)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
draw_cursor = TRUE;
|
draw_cursor = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ wprintf ("%s\n", buf);
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (draw_cursor)
|
if (draw_cursor)
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -558,9 +558,9 @@ EraseCursor (COORD curs_x, COORD curs_y)
|
|||||||
#else /* NEW */
|
#else /* NEW */
|
||||||
r.extent.height += r.corner.y & 1;
|
r.extent.height += r.corner.y & 1;
|
||||||
r.corner.y &= ~1;
|
r.corner.y &= ~1;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawStarMap (0, &r);
|
DrawStarMap (0, &r);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
#endif /* OLD */
|
#endif /* OLD */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -730,11 +730,11 @@ DoMoveCursor (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
EraseCursor (pt.x, pt.y);
|
EraseCursor (pt.x, pt.y);
|
||||||
// ClearDrawable ();
|
// ClearDrawable ();
|
||||||
DrawCursor (s.origin.x, s.origin.y);
|
DrawCursor (s.origin.x, s.origin.y);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateCursorInfo:
|
UpdateCursorInfo:
|
||||||
@@ -798,7 +798,7 @@ UpdateCursorInfo:
|
|||||||
fuel_required = 0;
|
fuel_required = 0;
|
||||||
else
|
else
|
||||||
fuel_required = square_root (f) + (FUEL_TANK_SCALE >> 1);
|
fuel_required = square_root (f) + (FUEL_TANK_SCALE >> 1);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawHyperCoords (pMenuState->first_item);
|
DrawHyperCoords (pMenuState->first_item);
|
||||||
if (last_buf == (UNICODE) ~0
|
if (last_buf == (UNICODE) ~0
|
||||||
|| (buf[0] && !last_buf) || (!buf[0] && last_buf))
|
|| (buf[0] && !last_buf) || (!buf[0] && last_buf))
|
||||||
@@ -811,7 +811,7 @@ UpdateCursorInfo:
|
|||||||
fuel_required / FUEL_TANK_SCALE,
|
fuel_required / FUEL_TANK_SCALE,
|
||||||
(fuel_required % FUEL_TANK_SCALE) / 10);
|
(fuel_required % FUEL_TANK_SCALE) / 10);
|
||||||
DrawStatusMessage (buf);
|
DrawStatusMessage (buf);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1106,7 +1106,7 @@ DoStarMap (void)
|
|||||||
if (MenuState.first_item.x == ~0 && MenuState.first_item.y == ~0)
|
if (MenuState.first_item.x == ~0 && MenuState.first_item.y == ~0)
|
||||||
MenuState.first_item = universe;
|
MenuState.first_item = universe;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
|
|
||||||
MenuState.InputFunc = DoMoveCursor;
|
MenuState.InputFunc = DoMoveCursor;
|
||||||
@@ -1117,7 +1117,7 @@ DoStarMap (void)
|
|||||||
if (GET_GAME_STATE (ARILOU_SPACE_SIDE) <= 1)
|
if (GET_GAME_STATE (ARILOU_SPACE_SIDE) <= 1)
|
||||||
UpdateMap ();
|
UpdateMap ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawStarMap (0, (PRECT)-1);
|
DrawStarMap (0, (PRECT)-1);
|
||||||
transition_pending = FALSE;
|
transition_pending = FALSE;
|
||||||
@@ -1132,7 +1132,7 @@ DoStarMap (void)
|
|||||||
UNIVERSE_TO_DISPY (pMenuState->first_item.y)
|
UNIVERSE_TO_DISPY (pMenuState->first_item.y)
|
||||||
);
|
);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
OldMenuSounds = MenuSounds;
|
OldMenuSounds = MenuSounds;
|
||||||
MenuSounds = 0;
|
MenuSounds = 0;
|
||||||
@@ -1142,7 +1142,7 @@ DoStarMap (void)
|
|||||||
|
|
||||||
pMenuState = 0;
|
pMenuState = 0;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawHyperCoords (universe);
|
DrawHyperCoords (universe);
|
||||||
DrawSISMessage (NULL_PTR);
|
DrawSISMessage (NULL_PTR);
|
||||||
@@ -1166,7 +1166,7 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
BOOLEAN select = CurrentMenuState.select;
|
BOOLEAN select = CurrentMenuState.select;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
while (*(volatile BYTE *)&pMS->CurState == 0
|
while (*(volatile BYTE *)&pMS->CurState == 0
|
||||||
&& (*(volatile SIZE *)&pMS->Initialized & 1)
|
&& (*(volatile SIZE *)&pMS->Initialized & 1)
|
||||||
&& !(GLOBAL (CurrentActivity)
|
&& !(GLOBAL (CurrentActivity)
|
||||||
@@ -1174,11 +1174,11 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
| CHECK_ABORT | CHECK_LOAD))
|
| CHECK_ABORT | CHECK_LOAD))
|
||||||
&& GLOBAL_SIS (CrewEnlisted) != (COUNT)~0)
|
&& GLOBAL_SIS (CrewEnlisted) != (COUNT)~0)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (pMS->CurState)
|
if (pMS->CurState)
|
||||||
{
|
{
|
||||||
@@ -1199,9 +1199,9 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
if (NewState != SCAN + 1 && NewState != (GAME_MENU) + 1)
|
if (NewState != SCAN + 1 && NewState != (GAME_MENU) + 1)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (NewState - 1)
|
switch (NewState - 1)
|
||||||
@@ -1247,7 +1247,7 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
BOOLEAN AutoPilotSet;
|
BOOLEAN AutoPilotSet;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (++pMS->Initialized > 3) {
|
if (++pMS->Initialized > 3) {
|
||||||
pSolarSysState->PauseRotate = 1;
|
pSolarSysState->PauseRotate = 1;
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
@@ -1258,7 +1258,7 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE
|
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE
|
||||||
|| (GLOBAL (CurrentActivity) & CHECK_ABORT))
|
|| (GLOBAL (CurrentActivity) & CHECK_ABORT))
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
else if (pMS->Initialized <= 3)
|
else if (pMS->Initialized <= 3)
|
||||||
@@ -1266,16 +1266,16 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
ZoomSystem ();
|
ZoomSystem ();
|
||||||
--pMS->Initialized;
|
--pMS->Initialized;
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (!AutoPilotSet && pMS->Initialized >= 3)
|
if (!AutoPilotSet && pMS->Initialized >= 3)
|
||||||
{
|
{
|
||||||
LoadPlanet (FALSE);
|
LoadPlanet (FALSE);
|
||||||
--pMS->Initialized;
|
--pMS->Initialized;
|
||||||
pSolarSysState->PauseRotate = 0;
|
pSolarSysState->PauseRotate = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1291,17 +1291,17 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
else if (pMS->flash_task)
|
else if (pMS->flash_task)
|
||||||
{
|
{
|
||||||
FreePlanet ();
|
FreePlanet ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
LoadSolarSys ();
|
LoadSolarSys ();
|
||||||
ValidateOrbits ();
|
ValidateOrbits ();
|
||||||
ZoomSystem ();
|
ZoomSystem ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pMS->CurState = 0;
|
pMS->CurState = 0;
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1309,9 +1309,9 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
;
|
;
|
||||||
else if (pMS->CurState)
|
else if (pMS->CurState)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
if (select)
|
if (select)
|
||||||
{
|
{
|
||||||
if (optWhichMenu != OPT_PC)
|
if (optWhichMenu != OPT_PC)
|
||||||
@@ -1322,9 +1322,9 @@ DoFlagshipCommands (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_STARMAP, -NAVIGATION);
|
DrawMenuStateStrings (PM_STARMAP, -NAVIGATION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ MakeReport (SOUND ReadOutSounds, UNICODE *pStr, COUNT StrLen)
|
|||||||
last_c = *pStr;
|
last_c = *pStr;
|
||||||
|
|
||||||
Sleepy = TRUE;
|
Sleepy = TRUE;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
goto InitPageCell;
|
goto InitPageCell;
|
||||||
@@ -148,9 +148,9 @@ MakeReport (SOUND ReadOutSounds, UNICODE *pStr, COUNT StrLen)
|
|||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
PlaySound (ReadOutSounds, NotPositional (), NULL, GAME_SOUND_PRIORITY);
|
PlaySound (ReadOutSounds, NotPositional (), NULL, GAME_SOUND_PRIORITY);
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ MakeReport (SOUND ReadOutSounds, UNICODE *pStr, COUNT StrLen)
|
|||||||
else if (AnyButtonPress (TRUE))
|
else if (AnyButtonPress (TRUE))
|
||||||
{
|
{
|
||||||
Sleepy = FALSE;
|
Sleepy = FALSE;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -198,7 +198,7 @@ MakeReport (SOUND ReadOutSounds, UNICODE *pStr, COUNT StrLen)
|
|||||||
if (!Sleepy)
|
if (!Sleepy)
|
||||||
{
|
{
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WaitAnyButtonOrQuit (TRUE))
|
if (WaitAnyButtonOrQuit (TRUE))
|
||||||
@@ -210,17 +210,17 @@ InitPageCell:
|
|||||||
row_cells = 0;
|
row_cells = 0;
|
||||||
if (StrLen)
|
if (StrLen)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (!Sleepy)
|
if (!Sleepy)
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
ClearReportArea();
|
ClearReportArea();
|
||||||
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0, 0x1F, 0), 0xFF));
|
SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0, 0x1F, 0), 0xFF));
|
||||||
if (Sleepy)
|
if (Sleepy)
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -268,11 +268,11 @@ DoDiscoveryReport (SOUND ReadOutSounds)
|
|||||||
#endif /* OLD */
|
#endif /* OLD */
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
while (AnyButtonPress (TRUE))
|
while (AnyButtonPress (TRUE))
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (pMenuState)
|
if (pMenuState)
|
||||||
pMenuState->flash_rect0.corner = old_curs;
|
pMenuState->flash_rect0.corner = old_curs;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ flash_ship_task(void *data)
|
|||||||
COLOR OldColor;
|
COLOR OldColor;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
s.origin = pMenuState->first_item;
|
s.origin = pMenuState->first_item;
|
||||||
StarShipPtr = (SHIP_FRAGMENTPTR)LockStarShip (
|
StarShipPtr = (SHIP_FRAGMENTPTR)LockStarShip (
|
||||||
&GLOBAL (built_ship_q),
|
&GLOBAL (built_ship_q),
|
||||||
@@ -55,7 +55,7 @@ flash_ship_task(void *data)
|
|||||||
DrawFilledStamp (&s);
|
DrawFilledStamp (&s);
|
||||||
SetContextForeGroundColor (OldColor);
|
SetContextForeGroundColor (OldColor);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / 15);
|
SleepThreadUntil (TimeIn + ONE_SECOND / 15);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
@@ -212,9 +212,9 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
{
|
{
|
||||||
pMS->CurFrame = 0;
|
pMS->CurFrame = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RosterCleanup (pMS);
|
RosterCleanup (pMS);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
@@ -231,24 +231,24 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
|
|
||||||
pMS->CurState = NewState = 0;
|
pMS->CurState = NewState = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
goto SelectSupport;
|
goto SelectSupport;
|
||||||
}
|
}
|
||||||
else if (cancel && !(pMS->CurState & SHIP_TOGGLE))
|
else if (cancel && !(pMS->CurState & SHIP_TOGGLE))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
RosterCleanup (pMS);
|
RosterCleanup (pMS);
|
||||||
pMS->CurFrame = 0;
|
pMS->CurFrame = 0;
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
else if (select || cancel)
|
else if (select || cancel)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pMS->CurState ^= SHIP_TOGGLE;
|
pMS->CurState ^= SHIP_TOGGLE;
|
||||||
if (!(pMS->CurState & SHIP_TOGGLE))
|
if (!(pMS->CurState & SHIP_TOGGLE))
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
@@ -263,7 +263,7 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (pMS->CurState & SHIP_TOGGLE)
|
else if (pMS->CurState & SHIP_TOGGLE)
|
||||||
{
|
{
|
||||||
@@ -272,9 +272,9 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
sy = -1;
|
sy = -1;
|
||||||
if (GLOBAL_SIS (CrewEnlisted))
|
if (GLOBAL_SIS (CrewEnlisted))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSupportCrew (1);
|
DeltaSupportCrew (1);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (down)
|
else if (down)
|
||||||
@@ -283,9 +283,9 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
if (GLOBAL_SIS (CrewEnlisted)
|
if (GLOBAL_SIS (CrewEnlisted)
|
||||||
< GetCPodCapacity (NULL_PTR))
|
< GetCPodCapacity (NULL_PTR))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSupportCrew (-1);
|
DeltaSupportCrew (-1);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,7 +335,7 @@ DoModifyRoster (PMENU_STATE pMS)
|
|||||||
|
|
||||||
if (NewState != pMS->CurState)
|
if (NewState != pMS->CurState)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (StatusContext);
|
SetContext (StatusContext);
|
||||||
s.origin = pMS->first_item;
|
s.origin = pMS->first_item;
|
||||||
StarShipPtr = (SHIP_FRAGMENTPTR)LockStarShip (
|
StarShipPtr = (SHIP_FRAGMENTPTR)LockStarShip (
|
||||||
@@ -354,7 +354,7 @@ SelectSupport:
|
|||||||
pMS->CurFrame = (FRAME)MatchSupportShip (pMS);
|
pMS->CurFrame = (FRAME)MatchSupportShip (pMS);
|
||||||
|
|
||||||
DeltaSupportCrew (0);
|
DeltaSupportCrew (0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->CurState = NewState;
|
pMS->CurState = NewState;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ EraseCoarseScan (void)
|
|||||||
const int leftScanOffset = 5;
|
const int leftScanOffset = 5;
|
||||||
const int rightScanOffset = 50;
|
const int rightScanOffset = 50;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
r.corner.x = (SIS_SCREEN_WIDTH >> 1) - (160 >> 1);
|
r.corner.x = (SIS_SCREEN_WIDTH >> 1) - (160 >> 1);
|
||||||
@@ -88,7 +88,7 @@ EraseCoarseScan (void)
|
|||||||
r.extent.width = rightScanWidth;
|
r.extent.width = rightScanWidth;
|
||||||
RepairBackRect (&r);
|
RepairBackRect (&r);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -113,7 +113,7 @@ PrintCoarseScanPC (void)
|
|||||||
RECT r;
|
RECT r;
|
||||||
UNICODE buf[40];
|
UNICODE buf[40];
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
if (CurStarDescPtr->Index == SOL_DEFINED)
|
if (CurStarDescPtr->Index == SOL_DEFINED)
|
||||||
@@ -176,7 +176,7 @@ PrintCoarseScanPC (void)
|
|||||||
SetContextFont (MicroFont);
|
SetContextFont (MicroFont);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
SetContextFont (TinyFont);
|
SetContextFont (TinyFont);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
#define LEFT_SIDE_BASELINE_X_PC 5
|
#define LEFT_SIDE_BASELINE_X_PC 5
|
||||||
#define RIGHT_SIDE_BASELINE_X_PC (SIS_SCREEN_WIDTH - 75)
|
#define RIGHT_SIDE_BASELINE_X_PC (SIS_SCREEN_WIDTH - 75)
|
||||||
@@ -185,7 +185,7 @@ PrintCoarseScanPC (void)
|
|||||||
t.baseline.y = SCAN_BASELINE_Y_PC;
|
t.baseline.y = SCAN_BASELINE_Y_PC;
|
||||||
t.align = ALIGN_LEFT;
|
t.align = ALIGN_LEFT;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Orbit: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Orbit: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
||||||
@@ -197,9 +197,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Atmo: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Atmo: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
||||||
@@ -218,18 +218,18 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Temp: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Temp: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
wsprintf (buf, "%d^ c", pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
wsprintf (buf, "%d^ c", pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Weather: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Weather: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0)
|
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0)
|
||||||
@@ -239,9 +239,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Tectonics: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Tectonics: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
if (PLANSIZE (pSolarSysState->SysInfo.PlanetInfo.PlanDataPtr->Type) == GAS_GIANT)
|
if (PLANSIZE (pSolarSysState->SysInfo.PlanetInfo.PlanDataPtr->Type) == GAS_GIANT)
|
||||||
@@ -250,11 +250,11 @@ PrintCoarseScanPC (void)
|
|||||||
wsprintf (buf, "Class %u", pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1);
|
wsprintf (buf, "Class %u", pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
t.baseline.y = SCAN_BASELINE_Y_PC;
|
t.baseline.y = SCAN_BASELINE_Y_PC;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Mass: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Mass: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
{
|
{
|
||||||
@@ -274,9 +274,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Radius: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Radius: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius) >= 10 * 100)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius) >= 10 * 100)
|
||||||
@@ -286,9 +286,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Gravity: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Gravity: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity) >= 10 * 100)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity) >= 10 * 100)
|
||||||
@@ -302,9 +302,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Day: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Day: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
||||||
@@ -321,9 +321,9 @@ PrintCoarseScanPC (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING_PC;
|
t.baseline.y += SCAN_LEADING_PC;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
PrintScanTitlePC (&t, &r, "Tilt: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Tilt: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
||||||
@@ -331,7 +331,7 @@ PrintCoarseScanPC (void)
|
|||||||
wsprintf (buf, "%u^", temp);
|
wsprintf (buf, "%u^", temp);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -344,7 +344,7 @@ PrintCoarseScan3DO (void)
|
|||||||
UNICODE buf[40];
|
UNICODE buf[40];
|
||||||
extern FRAME SpaceJunkFrame;
|
extern FRAME SpaceJunkFrame;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
if (CurStarDescPtr->Index == SOL_DEFINED)
|
if (CurStarDescPtr->Index == SOL_DEFINED)
|
||||||
@@ -411,7 +411,7 @@ PrintCoarseScan3DO (void)
|
|||||||
s.frame = SetAbsFrameIndex (SpaceJunkFrame, 20);
|
s.frame = SetAbsFrameIndex (SpaceJunkFrame, 20);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
#define LEFT_SIDE_BASELINE_X (27 + (16 - SAFE_X))
|
#define LEFT_SIDE_BASELINE_X (27 + (16 - SAFE_X))
|
||||||
#define RIGHT_SIDE_BASELINE_X (SIS_SCREEN_WIDTH - LEFT_SIDE_BASELINE_X)
|
#define RIGHT_SIDE_BASELINE_X (SIS_SCREEN_WIDTH - LEFT_SIDE_BASELINE_X)
|
||||||
@@ -421,7 +421,7 @@ PrintCoarseScan3DO (void)
|
|||||||
t.baseline.y = SCAN_BASELINE_Y;
|
t.baseline.y = SCAN_BASELINE_Y;
|
||||||
t.align = ALIGN_LEFT;
|
t.align = ALIGN_LEFT;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
||||||
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
||||||
@@ -432,9 +432,9 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
||||||
wsprintf (buf, "\x7f");
|
wsprintf (buf, "\x7f");
|
||||||
@@ -450,26 +450,26 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "%d^", pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
wsprintf (buf, "%d^", pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "<%u>", pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0
|
wsprintf (buf, "<%u>", pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0
|
||||||
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Weather + 1));
|
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Weather + 1));
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "<%u>",
|
wsprintf (buf, "<%u>",
|
||||||
PLANSIZE (
|
PLANSIZE (
|
||||||
@@ -478,13 +478,13 @@ PrintCoarseScan3DO (void)
|
|||||||
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1));
|
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1));
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
t.baseline.x = RIGHT_SIDE_BASELINE_X;
|
t.baseline.x = RIGHT_SIDE_BASELINE_X;
|
||||||
t.baseline.y = SCAN_BASELINE_Y;
|
t.baseline.y = SCAN_BASELINE_Y;
|
||||||
t.align = ALIGN_RIGHT;
|
t.align = ALIGN_RIGHT;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
{
|
{
|
||||||
DWORD tr;
|
DWORD tr;
|
||||||
@@ -503,9 +503,9 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius) >= 10 * 100)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius) >= 10 * 100)
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
||||||
@@ -514,9 +514,9 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity) >= 10 * 100)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity) >= 10 * 100)
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
||||||
@@ -529,9 +529,9 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
||||||
temp = -temp;
|
temp = -temp;
|
||||||
@@ -539,9 +539,9 @@ PrintCoarseScan3DO (void)
|
|||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
||||||
{
|
{
|
||||||
@@ -556,7 +556,7 @@ PrintCoarseScan3DO (void)
|
|||||||
}
|
}
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -569,7 +569,7 @@ SetPlanetLoc (POINT new_pt)
|
|||||||
new_pt.x >>= MAG_SHIFT;
|
new_pt.x >>= MAG_SHIFT;
|
||||||
new_pt.y >>= MAG_SHIFT;
|
new_pt.y >>= MAG_SHIFT;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
s.origin.x = pMenuState->flash_rect0.corner.x - (FLASH_WIDTH >> 1);
|
s.origin.x = pMenuState->flash_rect0.corner.x - (FLASH_WIDTH >> 1);
|
||||||
s.origin.y = pMenuState->flash_rect0.corner.y - (FLASH_HEIGHT >> 1);
|
s.origin.y = pMenuState->flash_rect0.corner.y - (FLASH_HEIGHT >> 1);
|
||||||
@@ -583,7 +583,7 @@ SetPlanetLoc (POINT new_pt)
|
|||||||
r.extent.width = FLASH_WIDTH;
|
r.extent.width = FLASH_WIDTH;
|
||||||
r.extent.height = FLASH_HEIGHT;
|
r.extent.height = FLASH_HEIGHT;
|
||||||
LoadDisplayPixmap (&r, pMenuState->flash_frame0);
|
LoadDisplayPixmap (&r, pMenuState->flash_frame0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
}
|
}
|
||||||
@@ -609,7 +609,7 @@ flash_planet_loc_func(void *data)
|
|||||||
DWORD T;
|
DWORD T;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
T = GetTimeCounter ();
|
T = GetTimeCounter ();
|
||||||
if (p.Object.Stamp.origin.x != pMenuState->flash_rect0.corner.x
|
if (p.Object.Stamp.origin.x != pMenuState->flash_rect0.corner.x
|
||||||
|| p.Object.Stamp.origin.y != pMenuState->flash_rect0.corner.y)
|
|| p.Object.Stamp.origin.y != pMenuState->flash_rect0.corner.y)
|
||||||
@@ -621,7 +621,7 @@ flash_planet_loc_func(void *data)
|
|||||||
{
|
{
|
||||||
if (T < TimeIn)
|
if (T < TimeIn)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
@@ -639,7 +639,7 @@ flash_planet_loc_func(void *data)
|
|||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
|
|
||||||
TimeIn = T + (ONE_SECOND >> 4);
|
TimeIn = T + (ONE_SECOND >> 4);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
}
|
}
|
||||||
@@ -680,7 +680,7 @@ PickPlanetSide (PMENU_STATE pMS)
|
|||||||
|
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
pMenuState->flash_rect0.corner.x =
|
pMenuState->flash_rect0.corner.x =
|
||||||
pSolarSysState->MenuState.first_item.x >> MAG_SHIFT;
|
pSolarSysState->MenuState.first_item.x >> MAG_SHIFT;
|
||||||
@@ -694,7 +694,7 @@ PickPlanetSide (PMENU_STATE pMS)
|
|||||||
LoadDisplayPixmap (&r, pMenuState->flash_frame0);
|
LoadDisplayPixmap (&r, pMenuState->flash_frame0);
|
||||||
|
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
InitLander (0);
|
InitLander (0);
|
||||||
|
|
||||||
@@ -709,9 +709,9 @@ PickPlanetSide (PMENU_STATE pMS)
|
|||||||
MenuSounds = (SOUND)pMS->CurFrame;
|
MenuSounds = (SOUND)pMS->CurFrame;
|
||||||
pMS->CurFrame = 0;
|
pMS->CurFrame = 0;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
if (pMenuState->flash_task)
|
if (pMenuState->flash_task)
|
||||||
@@ -735,13 +735,13 @@ PickPlanetSide (PMENU_STATE pMS)
|
|||||||
|
|
||||||
EraseCoarseScan ();
|
EraseCoarseScan ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (0, -(SIZE)fuel_required, 0);
|
DeltaSISGauges (0, -(SIZE)fuel_required, 0);
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
s.origin = pMenuState->flash_rect0.corner;
|
s.origin = pMenuState->flash_rect0.corner;
|
||||||
s.frame = SetAbsFrameIndex (misc_data, FLASH_INDEX);
|
s.frame = SetAbsFrameIndex (misc_data, FLASH_INDEX);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
PlanetSide (pMS);
|
PlanetSide (pMS);
|
||||||
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
@@ -796,9 +796,9 @@ PickPlanetSide (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_MIN_SCAN, DISPATCH_SHUTTLE);
|
DrawMenuStateStrings (PM_MIN_SCAN, DISPATCH_SHUTTLE);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
ExitPlanetSide:
|
ExitPlanetSide:
|
||||||
if (pMS->CurFrame)
|
if (pMS->CurFrame)
|
||||||
@@ -962,12 +962,12 @@ DoScan (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
else if (cancel || (select && pMS->CurState == EXIT_SCAN))
|
else if (cancel || (select && pMS->CurState == EXIT_SCAN))
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawPlanet (SIS_SCREEN_WIDTH - MAP_WIDTH, SIS_SCREEN_HEIGHT - MAP_HEIGHT, 0, 0);
|
DrawPlanet (SIS_SCREEN_WIDTH - MAP_WIDTH, SIS_SCREEN_HEIGHT - MAP_HEIGHT, 0, 0);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
EraseCoarseScan ();
|
EraseCoarseScan ();
|
||||||
// DrawMenuStateStrings (PM_SCAN, SCAN);
|
// DrawMenuStateStrings (PM_SCAN, SCAN);
|
||||||
@@ -1004,18 +1004,18 @@ DoScan (PMENU_STATE pMS)
|
|||||||
GAME_STRING (NAVIGATION_STRING_BASE + 5),
|
GAME_STRING (NAVIGATION_STRING_BASE + 5),
|
||||||
fuel_required / FUEL_TANK_SCALE,
|
fuel_required / FUEL_TANK_SCALE,
|
||||||
((fuel_required % FUEL_TANK_SCALE) + 5) / 10);
|
((fuel_required % FUEL_TANK_SCALE) + 5) / 10);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (CLEAR_SIS_RADAR);
|
ClearSISRect (CLEAR_SIS_RADAR);
|
||||||
DrawStatusMessage (buf);
|
DrawStatusMessage (buf);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawPlanet (0, 0, 0, 0);
|
DrawPlanet (0, 0, 0, 0);
|
||||||
DrawScannedObjects (FALSE);
|
DrawScannedObjects (FALSE);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->Initialized = FALSE;
|
pMS->Initialized = FALSE;
|
||||||
pMS->CurFrame = 0;
|
pMS->CurFrame = 0;
|
||||||
@@ -1048,7 +1048,7 @@ DoScan (PMENU_STATE pMS)
|
|||||||
pMS->delta_item = (SIZE)pSolarSysState->CurNode;
|
pMS->delta_item = (SIZE)pSolarSysState->CurNode;
|
||||||
t.pStr = GAME_STRING (SCAN_STRING_BASE + min_scan);
|
t.pStr = GAME_STRING (SCAN_STRING_BASE + min_scan);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
r.corner.x = 0;
|
r.corner.x = 0;
|
||||||
r.corner.y = t.baseline.y - 10;
|
r.corner.y = t.baseline.y - 10;
|
||||||
@@ -1078,7 +1078,7 @@ DoScan (PMENU_STATE pMS)
|
|||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
|
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
{
|
{
|
||||||
DWORD rgb;
|
DWORD rgb;
|
||||||
@@ -1096,15 +1096,15 @@ DoScan (PMENU_STATE pMS)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawPlanet (0, 0, 0, 0);
|
DrawPlanet (0, 0, 0, 0);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
PressState = AnyButtonPress (TRUE);
|
PressState = AnyButtonPress (TRUE);
|
||||||
WaitTime = (ONE_SECOND << 1) / MAP_HEIGHT;
|
WaitTime = (ONE_SECOND << 1) / MAP_HEIGHT;
|
||||||
// LockCrossThreadMutex (GraphicsLock);
|
// LockMutex (GraphicsLock);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
for (i = 0; i < MAP_HEIGHT + NUM_FLASH_COLORS + 1; i++)
|
for (i = 0; i < MAP_HEIGHT + NUM_FLASH_COLORS + 1; i++)
|
||||||
{
|
{
|
||||||
@@ -1116,7 +1116,7 @@ DoScan (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
if (ButtonState)
|
if (ButtonState)
|
||||||
i = -i;
|
i = -i;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawPlanet (0, 0, i, rgb);
|
DrawPlanet (0, 0, i, rgb);
|
||||||
if (i < 0)
|
if (i < 0)
|
||||||
@@ -1124,19 +1124,19 @@ DoScan (PMENU_STATE pMS)
|
|||||||
if (pMS->delta_item)
|
if (pMS->delta_item)
|
||||||
DrawScannedStuff (i, min_scan);
|
DrawScannedStuff (i, min_scan);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
// FlushGraphics ();
|
// FlushGraphics ();
|
||||||
SleepThreadUntil (TimeIn + WaitTime);
|
SleepThreadUntil (TimeIn + WaitTime);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
// UnlockCrossThreadMutex (GraphicsLock);
|
// UnlockMutex (GraphicsLock);
|
||||||
pSolarSysState->Tint_rgb = 0;
|
pSolarSysState->Tint_rgb = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (++min_scan <= max_scan);
|
} while (++min_scan <= max_scan);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
r.corner.x = 0;
|
r.corner.x = 0;
|
||||||
r.corner.y = (SIS_SCREEN_HEIGHT - MAP_HEIGHT - 7) - 10;
|
r.corner.y = (SIS_SCREEN_HEIGHT - MAP_HEIGHT - 7) - 10;
|
||||||
@@ -1149,12 +1149,12 @@ DoScan (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
DrawPlanet (0, 0, 0, 0);
|
DrawPlanet (0, 0, 0, 0);
|
||||||
DrawScannedObjects (FALSE);
|
DrawScannedObjects (FALSE);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_MIN_SCAN, pMS->CurState = DISPATCH_SHUTTLE);
|
DrawMenuStateStrings (PM_MIN_SCAN, pMS->CurState = DISPATCH_SHUTTLE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pSolarSysState->MenuState.Initialized -= 4;
|
pSolarSysState->MenuState.Initialized -= 4;
|
||||||
pSolarSysState->PauseRotate = 0;
|
pSolarSysState->PauseRotate = 0;
|
||||||
@@ -1208,7 +1208,7 @@ ScanSystem (void)
|
|||||||
pSolarSysState->MenuState.first_item.x = (MAP_WIDTH >> 1) << MAG_SHIFT;
|
pSolarSysState->MenuState.first_item.x = (MAP_WIDTH >> 1) << MAG_SHIFT;
|
||||||
pSolarSysState->MenuState.first_item.y = (MAP_HEIGHT >> 1) << MAG_SHIFT;
|
pSolarSysState->MenuState.first_item.y = (MAP_HEIGHT >> 1) << MAG_SHIFT;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ScanContext = CaptureContext (CreateContext ());
|
ScanContext = CaptureContext (CreateContext ());
|
||||||
SetContext (ScanContext);
|
SetContext (ScanContext);
|
||||||
MenuState.flash_rect0.extent.width = FLASH_WIDTH;
|
MenuState.flash_rect0.extent.width = FLASH_WIDTH;
|
||||||
@@ -1224,7 +1224,7 @@ ScanSystem (void)
|
|||||||
r.extent.height = MAP_HEIGHT;
|
r.extent.height = MAP_HEIGHT;
|
||||||
SetContextClipRect (&r);
|
SetContextClipRect (&r);
|
||||||
DrawScannedObjects (FALSE);
|
DrawScannedObjects (FALSE);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_MIN_SCAN, MenuState.CurState);
|
DrawMenuStateStrings (PM_MIN_SCAN, MenuState.CurState);
|
||||||
@@ -1240,12 +1240,12 @@ ScanSystem (void)
|
|||||||
|
|
||||||
if (ScanContext)
|
if (ScanContext)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
DestroyDrawable (ReleaseDrawable (MenuState.flash_frame0));
|
DestroyDrawable (ReleaseDrawable (MenuState.flash_frame0));
|
||||||
DestroyContext (ReleaseContext (ScanContext));
|
DestroyContext (ReleaseContext (ScanContext));
|
||||||
ScanContext = 0;
|
ScanContext = 0;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -339,18 +339,18 @@ FreeSolarSys (void)
|
|||||||
{
|
{
|
||||||
ConcludeTask (pSolarSysState->MenuState.flash_task);
|
ConcludeTask (pSolarSysState->MenuState.flash_task);
|
||||||
pSolarSysState->MenuState.flash_task = 0;
|
pSolarSysState->MenuState.flash_task = 0;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))
|
||||||
{
|
{
|
||||||
extern void SaveFlagshipState (void);
|
extern void SaveFlagshipState (void);
|
||||||
|
|
||||||
SaveFlagshipState ();
|
SaveFlagshipState ();
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
@@ -358,7 +358,7 @@ FreeSolarSys (void)
|
|||||||
|
|
||||||
// FreeIPData ();
|
// FreeIPData ();
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1024,7 +1024,7 @@ int IPtask_func(void* data)
|
|||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
InnerSystem = FALSE;
|
InnerSystem = FALSE;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
while ((pSolarSysState->MenuState.Initialized > 1
|
while ((pSolarSysState->MenuState.Initialized > 1
|
||||||
|| (GLOBAL (CurrentActivity)
|
|| (GLOBAL (CurrentActivity)
|
||||||
& (START_ENCOUNTER | END_INTERPLANETARY
|
& (START_ENCOUNTER | END_INTERPLANETARY
|
||||||
@@ -1033,15 +1033,15 @@ int IPtask_func(void* data)
|
|||||||
&& !Task_ReadState (task, TASK_EXIT))
|
&& !Task_ReadState (task, TASK_EXIT))
|
||||||
{
|
{
|
||||||
select = cancel = FALSE;
|
select = cancel = FALSE;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
NextTime = GetTimeCounter ();
|
NextTime = GetTimeCounter ();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Task_ReadState (task, TASK_EXIT))
|
if (Task_ReadState (task, TASK_EXIT))
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1163,7 +1163,7 @@ TheMess:
|
|||||||
}
|
}
|
||||||
|
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (Task_ReadState (task, TASK_EXIT))
|
if (Task_ReadState (task, TASK_EXIT))
|
||||||
{
|
{
|
||||||
@@ -1190,20 +1190,20 @@ TheMess:
|
|||||||
MenuTransition = DEBOUNCE_DELAY;
|
MenuTransition = DEBOUNCE_DELAY;
|
||||||
SuspendGameClock ();
|
SuspendGameClock ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStatusMessage (NULL_PTR);
|
DrawStatusMessage (NULL_PTR);
|
||||||
if (LastActivity == CHECK_LOAD)
|
if (LastActivity == CHECK_LOAD)
|
||||||
pSolarSysState->MenuState.CurState = (ROSTER + 1) + 1;
|
pSolarSysState->MenuState.CurState = (ROSTER + 1) + 1;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_STARMAP, STARMAP);
|
DrawMenuStateStrings (PM_STARMAP, STARMAP);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pSolarSysState->MenuState.CurState = STARMAP + 1;
|
pSolarSysState->MenuState.CurState = STARMAP + 1;
|
||||||
}
|
}
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FinishTask (task);
|
FinishTask (task);
|
||||||
@@ -1213,10 +1213,10 @@ TheMess:
|
|||||||
static void
|
static void
|
||||||
DrawInnerSystem (void)
|
DrawInnerSystem (void)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawSISTitle (GLOBAL_SIS (PlanetName));
|
DrawSISTitle (GLOBAL_SIS (PlanetName));
|
||||||
DrawSystem (pSolarSysState->pBaseDesc->pPrevDesc->radius, TRUE);
|
DrawSystem (pSolarSysState->pBaseDesc->pPrevDesc->radius, TRUE);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
@@ -1276,7 +1276,7 @@ StartGroups:
|
|||||||
{
|
{
|
||||||
DrawMenuStateStrings (PM_STARMAP, -(PM_NAVIGATE - PM_SCAN));
|
DrawMenuStateStrings (PM_STARMAP, -(PM_NAVIGATE - PM_SCAN));
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
RepairSISBorder ();
|
RepairSISBorder ();
|
||||||
|
|
||||||
InitDisplayList ();
|
InitDisplayList ();
|
||||||
@@ -1293,7 +1293,7 @@ StartGroups:
|
|||||||
pSolarSysState->MenuState.flash_task =
|
pSolarSysState->MenuState.flash_task =
|
||||||
AssignTask (IPtask_func, 6144,
|
AssignTask (IPtask_func, 6144,
|
||||||
"flash solar system menu");
|
"flash solar system menu");
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (!PLRPlaying ((MUSIC_REF)~0) && LastActivity != CHECK_LOAD)
|
if (!PLRPlaying ((MUSIC_REF)~0) && LastActivity != CHECK_LOAD)
|
||||||
{
|
{
|
||||||
@@ -1308,14 +1308,14 @@ StartGroups:
|
|||||||
draw_sys_flags &= ~UNBATCH_SYS;
|
draw_sys_flags &= ~UNBATCH_SYS;
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
while (pSolarSysState->SunDesc[0].radius == (MAX_ZOOM_RADIUS << 1))
|
while (pSolarSysState->SunDesc[0].radius == (MAX_ZOOM_RADIUS << 1))
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2);
|
XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1368,11 +1368,11 @@ StartGroups:
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
DrawMenuStateStrings (PM_SCAN, SCAN);
|
DrawMenuStateStrings (PM_SCAN, SCAN);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
pSolarSysState->MenuState.CurState = SCAN + 1;
|
pSolarSysState->MenuState.CurState = SCAN + 1;
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1383,11 +1383,11 @@ InitSolarSys (void)
|
|||||||
BOOLEAN InnerSystem;
|
BOOLEAN InnerSystem;
|
||||||
BOOLEAN Reentry;
|
BOOLEAN Reentry;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
LoadIPData ();
|
LoadIPData ();
|
||||||
LoadLanderData ();
|
LoadLanderData ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pSolarSysState->MenuState.InputFunc = DoFlagshipCommands;
|
pSolarSysState->MenuState.InputFunc = DoFlagshipCommands;
|
||||||
|
|
||||||
@@ -1440,9 +1440,9 @@ InitSolarSys (void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
ClearSISRect (DRAW_SIS_DISPLAY);
|
ClearSISRect (DRAW_SIS_DISPLAY);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LastActivity &= ~CHECK_LOAD;
|
LastActivity &= ~CHECK_LOAD;
|
||||||
}
|
}
|
||||||
@@ -1451,12 +1451,12 @@ InitSolarSys (void)
|
|||||||
// Enabled graphics synchronization again, as in 3DO code originally.
|
// Enabled graphics synchronization again, as in 3DO code originally.
|
||||||
// This should fix the 'entering star' lockup/messed graphics problems.
|
// This should fix the 'entering star' lockup/messed graphics problems.
|
||||||
// 2002/11/30 by Mika
|
// 2002/11/30 by Mika
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawSISMessage (NULL_PTR);
|
DrawSISMessage (NULL_PTR);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
SetContextFGFrame (Screen);
|
SetContextFGFrame (Screen);
|
||||||
SetContextBackGroundColor (BLACK_COLOR);
|
SetContextBackGroundColor (BLACK_COLOR);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (InnerSystem)
|
if (InnerSystem)
|
||||||
{
|
{
|
||||||
@@ -1473,9 +1473,9 @@ InitSolarSys (void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawHyperCoords (CurStarDescPtr->star_pt); /* Adjust position */
|
DrawHyperCoords (CurStarDescPtr->star_pt); /* Adjust position */
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
/* force a redraw */
|
/* force a redraw */
|
||||||
pSolarSysState->SunDesc[0].radius = MAX_ZOOM_RADIUS << 1;
|
pSolarSysState->SunDesc[0].radius = MAX_ZOOM_RADIUS << 1;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ DrawRestartMenu (BYTE OldState, BYTE NewState, FRAME f)
|
|||||||
TEXT t;
|
TEXT t;
|
||||||
UNICODE buf[64];
|
UNICODE buf[64];
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
r.corner.x = r.corner.y = r.extent.width = r.extent.height = 0;
|
r.corner.x = r.corner.y = r.extent.width = r.extent.height = 0;
|
||||||
SetContextClipRect (&r);
|
SetContextClipRect (&r);
|
||||||
@@ -76,7 +76,7 @@ DrawRestartMenu (BYTE OldState, BYTE NewState, FRAME f)
|
|||||||
SetContextForeGroundColor (WHITE_COLOR);
|
SetContextForeGroundColor (WHITE_COLOR);
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
(void) OldState; /* Satisfying compiler (unused parameter) */
|
(void) OldState; /* Satisfying compiler (unused parameter) */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,9 +155,9 @@ else if (InputState & DEVICE_EXIT) return (FALSE);
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
@@ -282,18 +282,18 @@ LastActivity = WON_LAST_BATTLE;
|
|||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
ClearDrawable ();
|
ClearDrawable ();
|
||||||
FlushColorXForms ();
|
FlushColorXForms ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
|
|
||||||
FlushInput ();
|
FlushInput ();
|
||||||
GLOBAL (CurrentActivity) &= ~CHECK_ABORT;
|
GLOBAL (CurrentActivity) &= ~CHECK_ABORT;
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)0, (FRAME)0);
|
SetFlashRect ((PRECT)0, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DestroyDrawable (ReleaseDrawable (s.frame));
|
DestroyDrawable (ReleaseDrawable (s.frame));
|
||||||
|
|
||||||
if (GLOBAL (CurrentActivity) == (ACTIVITY)~0)
|
if (GLOBAL (CurrentActivity) == (ACTIVITY)~0)
|
||||||
|
|||||||
@@ -209,11 +209,11 @@ SaveProblem (void)
|
|||||||
STAMP s;
|
STAMP s;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
SaveProblemMessage (&s);
|
SaveProblemMessage (&s);
|
||||||
FlushGraphics ();
|
FlushGraphics ();
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
while (AnyButtonPress (FALSE));
|
while (AnyButtonPress (FALSE));
|
||||||
do
|
do
|
||||||
@@ -223,13 +223,13 @@ SaveProblem (void)
|
|||||||
} while (!(CurrentMenuState.select || CurrentMenuState.special ||
|
} while (!(CurrentMenuState.select || CurrentMenuState.special ||
|
||||||
(GLOBAL (CurrentActivity) & CHECK_ABORT)));
|
(GLOBAL (CurrentActivity) & CHECK_ABORT)));
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
DestroyDrawable (ReleaseDrawable (s.frame));
|
DestroyDrawable (ReleaseDrawable (s.frame));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ FONT StarConFont, MicroFont, TinyFont;
|
|||||||
QUEUE race_q[NUM_PLAYERS];
|
QUEUE race_q[NUM_PLAYERS];
|
||||||
SOUND MenuSounds, GameSounds;
|
SOUND MenuSounds, GameSounds;
|
||||||
FRAME ActivityFrame, status, flagship_status, misc_data;
|
FRAME ActivityFrame, status, flagship_status, misc_data;
|
||||||
CrossThreadMutex GraphicsLock;
|
Mutex GraphicsLock;
|
||||||
CondVar RenderingCond;
|
CondVar RenderingCond;
|
||||||
STRING GameStrings;
|
STRING GameStrings;
|
||||||
|
|
||||||
|
|||||||
@@ -200,10 +200,10 @@ ship_preprocess (PELEMENT ElementPtr)
|
|||||||
InitIntersectStartPoint (ElementPtr);
|
InitIntersectStartPoint (ElementPtr);
|
||||||
InitIntersectEndPoint (ElementPtr);
|
InitIntersectEndPoint (ElementPtr);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
ResumeGameClock ();
|
ResumeGameClock ();
|
||||||
SetGameClockRate (HYPERSPACE_CLOCK_RATE);
|
SetGameClockRate (HYPERSPACE_CLOCK_RATE);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
if (hyper_transition (ElementPtr))
|
if (hyper_transition (ElementPtr))
|
||||||
return;
|
return;
|
||||||
|
|||||||
+36
-36
@@ -92,7 +92,7 @@ int hangar_anim_func (void* data)
|
|||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
RECT OldClipRect;
|
RECT OldClipRect;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (ScreenContext);
|
OldContext = SetContext (ScreenContext);
|
||||||
GetContextClipRect (&OldClipRect);
|
GetContextClipRect (&OldClipRect);
|
||||||
SetContextClipRect (&ClipRect);
|
SetContextClipRect (&ClipRect);
|
||||||
@@ -103,7 +103,7 @@ int hangar_anim_func (void* data)
|
|||||||
|
|
||||||
SetContextClipRect (&OldClipRect);
|
SetContextClipRect (&OldClipRect);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / HANGAR_ANIM_RATE);
|
SleepThreadUntil (TimeIn + ONE_SECOND / HANGAR_ANIM_RATE);
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
@@ -207,7 +207,7 @@ DrawRaceStrings (BYTE NewRaceItem)
|
|||||||
STAMP s;
|
STAMP s;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
OldContext = SetContext (StatusContext);
|
OldContext = SetContext (StatusContext);
|
||||||
GetContextClipRect (&r);
|
GetContextClipRect (&r);
|
||||||
@@ -272,7 +272,7 @@ DrawRaceStrings (BYTE NewRaceItem)
|
|||||||
}
|
}
|
||||||
//SetFlashRect ((PRECT)~0L, (FRAME)0);
|
//SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SHIP_WIN_WIDTH 34
|
#define SHIP_WIN_WIDTH 34
|
||||||
@@ -497,7 +497,7 @@ ShowCombatShip (COUNT which_window, SHIP_FRAGMENTPTR YankedStarShipPtr)
|
|||||||
while (AnyButtonPress (FALSE))
|
while (AnyButtonPress (FALSE))
|
||||||
TaskSwitch();
|
TaskSwitch();
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (OffScreenContext);
|
OldContext = SetContext (OffScreenContext);
|
||||||
SetContextFGFrame (Screen);
|
SetContextFGFrame (Screen);
|
||||||
SetContextBackGroundColor (BLACK_COLOR);
|
SetContextBackGroundColor (BLACK_COLOR);
|
||||||
@@ -541,7 +541,7 @@ ShowCombatShip (COUNT which_window, SHIP_FRAGMENTPTR YankedStarShipPtr)
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
SetContextClipRect (NULL_PTR);
|
SetContextClipRect (NULL_PTR);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -571,9 +571,9 @@ CrewTransaction (SIZE crew_delta)
|
|||||||
{
|
{
|
||||||
GLOBAL (CrewCost) += 2;
|
GLOBAL (CrewCost) += 2;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -583,9 +583,9 @@ CrewTransaction (SIZE crew_delta)
|
|||||||
{
|
{
|
||||||
GLOBAL (CrewCost) -= 2;
|
GLOBAL (CrewCost) -= 2;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!(ActivateStarShip (
|
if (!(ActivateStarShip (
|
||||||
@@ -634,7 +634,7 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
pMS->CurState = MAKE_BYTE (0, 0xF);
|
pMS->CurState = MAKE_BYTE (0, 0xF);
|
||||||
pMS->delta_item = 0;
|
pMS->delta_item = 0;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
goto ChangeFlashRect;
|
goto ChangeFlashRect;
|
||||||
}
|
}
|
||||||
@@ -710,7 +710,7 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
#ifdef WANT_SHIP_SPINS
|
#ifdef WANT_SHIP_SPINS
|
||||||
if (special)
|
if (special)
|
||||||
@@ -745,7 +745,7 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
COUNT Index;
|
COUNT Index;
|
||||||
|
|
||||||
// SetFlashRect (NULL_PTR, (FRAME)0);
|
// SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
if (!(pMS->delta_item & MODIFY_CREW_FLAG))
|
if (!(pMS->delta_item & MODIFY_CREW_FLAG))
|
||||||
{
|
{
|
||||||
pMS->delta_item = MODIFY_CREW_FLAG;
|
pMS->delta_item = MODIFY_CREW_FLAG;
|
||||||
@@ -771,12 +771,12 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
ShowCombatShip ((COUNT)pMS->CurState, (SHIP_FRAGMENTPTR)0);
|
ShowCombatShip ((COUNT)pMS->CurState, (SHIP_FRAGMENTPTR)0);
|
||||||
//Reset flash rectangle
|
//Reset flash rectangle
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DeltaSISGauges (UNDEFINED_DELTA, UNDEFINED_DELTA,
|
DeltaSISGauges (UNDEFINED_DELTA, UNDEFINED_DELTA,
|
||||||
-((int)ShipCost[Index]));
|
-((int)ShipCost[Index]));
|
||||||
r.corner.x = pMS->flash_rect0.corner.x;
|
r.corner.x = pMS->flash_rect0.corner.x;
|
||||||
@@ -786,7 +786,7 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
r.extent.height = 5;
|
r.extent.height = 5;
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
SetFlashRect (&r, (FRAME)0);
|
SetFlashRect (&r, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
@@ -814,7 +814,7 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
goto ChangeFlashRect;
|
goto ChangeFlashRect;
|
||||||
}
|
}
|
||||||
else if (select || cancel)
|
else if (select || cancel)
|
||||||
@@ -824,9 +824,9 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
&& StarShipPtr->ShipInfo.crew_level == 0)
|
&& StarShipPtr->ShipInfo.crew_level == 0)
|
||||||
{
|
{
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
ShowCombatShip ((COUNT)pMS->CurState, StarShipPtr);
|
ShowCombatShip ((COUNT)pMS->CurState, StarShipPtr);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
UnlockStarShip (&GLOBAL (built_ship_q), hStarShip);
|
UnlockStarShip (&GLOBAL (built_ship_q), hStarShip);
|
||||||
RemoveQueue (&GLOBAL (built_ship_q), hStarShip);
|
RemoveQueue (&GLOBAL (built_ship_q), hStarShip);
|
||||||
FreeStarShip (&GLOBAL (built_ship_q), hStarShip);
|
FreeStarShip (&GLOBAL (built_ship_q), hStarShip);
|
||||||
@@ -998,13 +998,13 @@ DoModifyShips (PMENU_STATE pMS)
|
|||||||
}
|
}
|
||||||
else if (cancel)
|
else if (cancel)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
pMS->InputFunc = DoShipyard;
|
pMS->InputFunc = DoShipyard;
|
||||||
DrawMenuStateStrings (PM_CREW, pMS->CurState = SHIPYARD_CREW);
|
DrawMenuStateStrings (PM_CREW, pMS->CurState = SHIPYARD_CREW);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
@@ -1031,7 +1031,7 @@ ChangeFlashRect:
|
|||||||
}
|
}
|
||||||
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
SetFlashRect (&pMS->flash_rect0, (FRAME)0);
|
||||||
}
|
}
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1044,7 +1044,7 @@ DrawBluePrint (PMENU_STATE pMS)
|
|||||||
COUNT num_frames;
|
COUNT num_frames;
|
||||||
STAMP s;
|
STAMP s;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
|
|
||||||
pMS->ModuleFrame = CaptureDrawable (
|
pMS->ModuleFrame = CaptureDrawable (
|
||||||
@@ -1155,7 +1155,7 @@ DrawBluePrint (PMENU_STATE pMS)
|
|||||||
DestroyDrawable (ReleaseDrawable (pMS->ModuleFrame));
|
DestroyDrawable (ReleaseDrawable (pMS->ModuleFrame));
|
||||||
pMS->ModuleFrame = 0;
|
pMS->ModuleFrame = 0;
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -1220,16 +1220,16 @@ DoShipyard (PMENU_STATE pMS)
|
|||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
|
|
||||||
DrawSISFrame ();
|
DrawSISFrame ();
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 3));
|
DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 3));
|
||||||
DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE));
|
DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE));
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawBluePrint (pMS);
|
DrawBluePrint (pMS);
|
||||||
pMS->ModuleFrame = s.frame;
|
pMS->ModuleFrame = s.frame;
|
||||||
|
|
||||||
DrawMenuStateStrings (PM_CREW, pMS->CurState = SHIPYARD_CREW);
|
DrawMenuStateStrings (PM_CREW, pMS->CurState = SHIPYARD_CREW);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
#ifdef USE_3DO_HANGAR
|
#ifdef USE_3DO_HANGAR
|
||||||
@@ -1261,12 +1261,12 @@ DoShipyard (PMENU_STATE pMS)
|
|||||||
PlayMusic (pMS->hMusic, TRUE, 1);
|
PlayMusic (pMS->hMusic, TRUE, 1);
|
||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
BeginHangarAnim (pMS);
|
BeginHangarAnim (pMS);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
ShowCombatShip ((COUNT)~0, (SHIP_FRAGMENTPTR)0);
|
ShowCombatShip ((COUNT)~0, (SHIP_FRAGMENTPTR)0);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
@@ -1275,13 +1275,13 @@ DoShipyard (PMENU_STATE pMS)
|
|||||||
{
|
{
|
||||||
ExitShipyard:
|
ExitShipyard:
|
||||||
EndHangarAnim (pMS);
|
EndHangarAnim (pMS);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DestroyDrawable (ReleaseDrawable (pMS->ModuleFrame));
|
DestroyDrawable (ReleaseDrawable (pMS->ModuleFrame));
|
||||||
pMS->ModuleFrame = 0;
|
pMS->ModuleFrame = 0;
|
||||||
pMS->CurFrame = 0;
|
pMS->CurFrame = 0;
|
||||||
DestroyColorMap (ReleaseColorMap (pMS->CurString));
|
DestroyColorMap (ReleaseColorMap (pMS->CurString));
|
||||||
pMS->CurString = 0;
|
pMS->CurString = 0;
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
@@ -1298,10 +1298,10 @@ ExitShipyard:
|
|||||||
if (GameOptions () == 0)
|
if (GameOptions () == 0)
|
||||||
goto ExitShipyard;
|
goto ExitShipyard;
|
||||||
DrawMenuStateStrings (PM_CREW, pMS->CurState);
|
DrawMenuStateStrings (PM_CREW, pMS->CurState);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
SetFlashRect ((PRECT)~0L, (FRAME)0);
|
||||||
BeginHangarAnim (pMS);
|
BeginHangarAnim (pMS);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
+10
-10
@@ -73,9 +73,9 @@ ClearSISRect (BYTE ClearFlags)
|
|||||||
|
|
||||||
if (ClearFlags & CLEAR_SIS_RADAR)
|
if (ClearFlags & CLEAR_SIS_RADAR)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
DrawMenuStateStrings ((BYTE)~0, 1);
|
DrawMenuStateStrings ((BYTE)~0, 1);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
#ifdef NEVER
|
#ifdef NEVER
|
||||||
r.corner.x = RADAR_X - 1;
|
r.corner.x = RADAR_X - 1;
|
||||||
r.corner.y = RADAR_Y - 1;
|
r.corner.y = RADAR_Y - 1;
|
||||||
@@ -812,7 +812,7 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta)
|
|||||||
SUPPORT_SHIP_PTS
|
SUPPORT_SHIP_PTS
|
||||||
};
|
};
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
for (hStarShip = GetHeadLink (&GLOBAL (built_ship_q)),
|
for (hStarShip = GetHeadLink (&GLOBAL (built_ship_q)),
|
||||||
pship_pos = ship_pos;
|
pship_pos = ship_pos;
|
||||||
hStarShip; hStarShip = hNextShip, ++pship_pos)
|
hStarShip; hStarShip = hNextShip, ++pship_pos)
|
||||||
@@ -828,16 +828,16 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta)
|
|||||||
s.origin.x = pship_pos->x;
|
s.origin.x = pship_pos->x;
|
||||||
s.origin.y = pship_pos->y;
|
s.origin.y = pship_pos->y;
|
||||||
s.frame = StarShipPtr->ShipInfo.icons;
|
s.frame = StarShipPtr->ShipInfo.icons;
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
UnlockStarShip (
|
UnlockStarShip (
|
||||||
&GLOBAL (built_ship_q),
|
&GLOBAL (built_ship_q),
|
||||||
hStarShip
|
hStarShip
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1313,7 +1313,7 @@ int flash_rect_func(void *data)
|
|||||||
&tmp_rect, strength, 4);
|
&tmp_rect, strength, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (ScreenContext);
|
OldContext = SetContext (ScreenContext);
|
||||||
SetContextClipRect (&cached_rect);
|
SetContextClipRect (&cached_rect);
|
||||||
// flash changed_can't be modified while GraphicSem is held
|
// flash changed_can't be modified while GraphicSem is held
|
||||||
@@ -1321,7 +1321,7 @@ int flash_rect_func(void *data)
|
|||||||
DrawStamp (pStamp);
|
DrawStamp (pStamp);
|
||||||
SetContextClipRect (NULL_PTR); // this will flush whatever
|
SetContextClipRect (NULL_PTR); // this will flush whatever
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
FlushGraphics ();
|
FlushGraphics ();
|
||||||
SleepThreadUntil (TimeIn + WaitTime);
|
SleepThreadUntil (TimeIn + WaitTime);
|
||||||
@@ -1391,9 +1391,9 @@ SetFlashRect (PRECT pRect, FRAME f)
|
|||||||
flash_rect1.extent.width = 0;
|
flash_rect1.extent.width = 0;
|
||||||
if (flash_task)
|
if (flash_task)
|
||||||
{
|
{
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
ConcludeTask (flash_task);
|
ConcludeTask (flash_task);
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -256,12 +256,12 @@ s.origin.x = SAFE_X, s.origin.y = SAFE_Y + 4;
|
|||||||
{
|
{
|
||||||
//CONTEXT OldContext;
|
//CONTEXT OldContext;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawStamp (&s);
|
DrawStamp (&s);
|
||||||
s.frame = IncFrameIndex (s.frame);
|
s.frame = IncFrameIndex (s.frame);
|
||||||
if (s.frame == pMenuState->CurFrame)
|
if (s.frame == pMenuState->CurFrame)
|
||||||
s.frame = IncFrameIndex (s.frame);
|
s.frame = IncFrameIndex (s.frame);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + (ONE_SECOND / 20));
|
SleepThreadUntil (TimeIn + (ONE_SECOND / 20));
|
||||||
TimeIn = GetTimeCounter ();
|
TimeIn = GetTimeCounter ();
|
||||||
@@ -287,7 +287,7 @@ DoStarBase (PMENU_STATE pMS)
|
|||||||
LastActivity &= ~CHECK_LOAD;
|
LastActivity &= ~CHECK_LOAD;
|
||||||
pMS->InputFunc = DoStarBase;
|
pMS->InputFunc = DoStarBase;
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
|
|
||||||
if (pMS->hMusic)
|
if (pMS->hMusic)
|
||||||
@@ -306,7 +306,7 @@ DoStarBase (PMENU_STATE pMS)
|
|||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
SetContext (ScreenContext);
|
SetContext (ScreenContext);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
s.origin.x = s.origin.y = 0;
|
s.origin.x = s.origin.y = 0;
|
||||||
s.origin.x = SAFE_X, s.origin.y = SAFE_Y + 4;
|
s.origin.x = SAFE_X, s.origin.y = SAFE_Y + 4;
|
||||||
@@ -314,7 +314,7 @@ s.origin.x = SAFE_X, s.origin.y = SAFE_Y + 4;
|
|||||||
pMS->CurFrame = s.frame;
|
pMS->CurFrame = s.frame;
|
||||||
pMS->hMusic = LoadMusicInstance (STARBASE_MUSIC);
|
pMS->hMusic = LoadMusicInstance (STARBASE_MUSIC);
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetTransitionSource (NULL);
|
SetTransitionSource (NULL);
|
||||||
BatchGraphics ();
|
BatchGraphics ();
|
||||||
SetContextBackGroundColor (BLACK_COLOR);
|
SetContextBackGroundColor (BLACK_COLOR);
|
||||||
@@ -334,7 +334,7 @@ s.origin.x = SAFE_X, s.origin.y = SAFE_Y + 4;
|
|||||||
UnbatchGraphics ();
|
UnbatchGraphics ();
|
||||||
pMS->flash_task = AssignTask (rotate_starbase, 4096,
|
pMS->flash_task = AssignTask (rotate_starbase, 4096,
|
||||||
"rotate starbase");
|
"rotate starbase");
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
}
|
}
|
||||||
else if (CurrentMenuState.select
|
else if (CurrentMenuState.select
|
||||||
|| GET_GAME_STATE (MOONBASE_ON_SHIP)
|
|| GET_GAME_STATE (MOONBASE_ON_SHIP)
|
||||||
@@ -410,9 +410,9 @@ ExitStarBase:
|
|||||||
|
|
||||||
if (NewState != pMS->CurState)
|
if (NewState != pMS->CurState)
|
||||||
{
|
{
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
DrawBaseStateStrings (pMS->CurState, NewState);
|
DrawBaseStateStrings (pMS->CurState, NewState);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMS->CurState = NewState;
|
pMS->CurState = NewState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,9 +59,9 @@ int arilou_gate_task(void* data)
|
|||||||
counter = 0;
|
counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SET_GAME_STATE (ARILOU_SPACE_COUNTER, counter);
|
SET_GAME_STATE (ARILOU_SPACE_COUNTER, counter);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GLOBAL (GameClock.clock_lock));
|
UnlockCrossThreadMutex (GLOBAL (GameClock.clock_lock));
|
||||||
SleepThreadUntil (TimeIn + BATTLE_FRAME_RATE);
|
SleepThreadUntil (TimeIn + BATTLE_FRAME_RATE);
|
||||||
@@ -980,9 +980,9 @@ sc = _simple_count;
|
|||||||
(int)_simple_count - (int)sc);
|
(int)_simple_count - (int)sc);
|
||||||
#endif //TESTING
|
#endif //TESTING
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect (NULL_PTR, (FRAME)0);
|
SetFlashRect (NULL_PTR, (FRAME)0);
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
LastActivity = GLOBAL (CurrentActivity);
|
LastActivity = GLOBAL (CurrentActivity);
|
||||||
|
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ extern BOOLEAN PagingEnabled;
|
|||||||
extern FRAME ActivityFrame;
|
extern FRAME ActivityFrame;
|
||||||
extern SOUND MenuSounds, GameSounds;
|
extern SOUND MenuSounds, GameSounds;
|
||||||
extern QUEUE race_q[NUM_PLAYERS];
|
extern QUEUE race_q[NUM_PLAYERS];
|
||||||
extern CrossThreadMutex GraphicsLock;
|
extern Mutex GraphicsLock;
|
||||||
extern CondVar RenderingCond;
|
extern CondVar RenderingCond;
|
||||||
extern STRING GameStrings;
|
extern STRING GameStrings;
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ PauseGame (void)
|
|||||||
if (CommData.ConversationPhrases && PlayingTrack ())
|
if (CommData.ConversationPhrases && PlayingTrack ())
|
||||||
PauseTrack ();
|
PauseTrack ();
|
||||||
|
|
||||||
LockCrossThreadMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (ScreenContext);
|
OldContext = SetContext (ScreenContext);
|
||||||
OldHot = SetFrameHot (Screen, MAKE_HOT_SPOT (0, 0));
|
OldHot = SetFrameHot (Screen, MAKE_HOT_SPOT (0, 0));
|
||||||
|
|
||||||
@@ -174,9 +174,9 @@ PauseGame (void)
|
|||||||
// Releasing the lock lets the rotate_planet_task
|
// Releasing the lock lets the rotate_planet_task
|
||||||
// draw a frame. PauseRotate can still allow one more frame
|
// draw a frame. PauseRotate can still allow one more frame
|
||||||
// to be drawn, so it is safer to just not release the lock
|
// to be drawn, so it is safer to just not release the lock
|
||||||
//UnlockCrossThreadMutex (GraphicsLock);
|
//UnlockMutex (GraphicsLock);
|
||||||
FlushGraphics ();
|
FlushGraphics ();
|
||||||
//LockCrossThreadMutex (GraphicsLock);
|
//LockMutex (GraphicsLock);
|
||||||
|
|
||||||
while (ImmediateInputState.pause)
|
while (ImmediateInputState.pause)
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
@@ -208,7 +208,7 @@ PauseGame (void)
|
|||||||
do_subtitles ((void *)~0);
|
do_subtitles ((void *)~0);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockCrossThreadMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
GLOBAL (CurrentActivity) &= ~CHECK_PAUSE;
|
GLOBAL (CurrentActivity) &= ~CHECK_PAUSE;
|
||||||
|
|||||||
+1
-1
@@ -348,7 +348,7 @@ main (int argc, char *argv[])
|
|||||||
InitTimeSystem ();
|
InitTimeSystem ();
|
||||||
InitTaskSystem ();
|
InitTaskSystem ();
|
||||||
|
|
||||||
GraphicsLock = CreateCrossThreadMutex ("Graphics");
|
GraphicsLock = CreateMutex (/*"Graphics"*/);
|
||||||
RenderingCond = CreateCondVar ();
|
RenderingCond = CreateCondVar ();
|
||||||
|
|
||||||
TFB_InitGraphics (gfxdriver, gfxflags, width, height, bpp);
|
TFB_InitGraphics (gfxdriver, gfxflags, width, height, bpp);
|
||||||
|
|||||||
Reference in New Issue
Block a user