void GraphicsIdle(void)
{
	GraphicsIdleFrequencyTimer.Loop();

	StateProcess();

	StateGraphicsNext(State); // Safe to set graphics state at this point.
	if (TargetTestFlag)
	{
		GraphicsDisplayTargetTest();
	}
	else
	{
		GraphicsDisplay();
	}

	Sleep(0);
	/*
	// Text displaying force magnitude.
	if (RobotForceMagnitude > 0.0)
	{
		GRAPHICS_TextSet(STR_stringf("Force=%.1lfN", RobotForceMagnitude));
	}
	else
	{
		GRAPHICS_TextClear();
	}
	*/
}
  //
  // Processing state
  //
  void TransportPad::StateUnload()
  {
    // Process the process state (so that recharging occurs)
    StateProcess();

    // Get the cell position
    U32 x = WorldCtrl::MetresToCellX(location.x);
    U32 z = WorldCtrl::MetresToCellZ(location.z);

    // Can we unload
    if (subject->CheckUnload(x, z))
    {
      // Unload immediately
      Unload(location);

      // Notify the player that we're done
      subject->NotifyPlayer(0x5CA4B1C1); // "Transport::Unloaded"

      // Change to the process state
      NextState(0xBDF7C019); // "Process"
    }
  }