rem: SetSemaphore (&GLOBAL (GameClock.clock_sem)); DeleteTask (GLOBAL (GameClock.clock_task)); ClearSemaphore (&GLOBAL (GameClock.clock_sem));
add: SetSemaphore (GLOBAL (GameClock.clock_sem)); KillThread (GLOBAL (GameClock.clock_task)); ClearSemaphore (GLOBAL (GameClock.clock_sem));
context: UninitGameClock (void){	if (GLOBAL (GameClock.clock_task))	{		if (!GameClockRunning ())			ResumeGameClock ();		SetSemaphore (&GLOBAL (GameClock.clock_sem));		DeleteTask (GLOBAL (GameClock.clock_task));		ClearSemaphore (&GLOBAL (GameClock.clock_sem));		GLOBAL (GameClock.clock_task) = 0;	}	UninitQueue (&GLOBAL (GameClock.event_q));	return (TRUE);}