//
  // Load
  //
  void SquadFormation::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x7223612A: // "Formation"
          formation = StdLoad::TypeU32(sScope);
          break;

        case 0x693D5359: // "Location"
          StdLoad::TypeVector(sScope, location);
          break;

        case 0x04BC5B80: // "Direction"
          direction = StdLoad::TypeF32(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
//
// Load
//
void UnitExplore::Load(FScope *fScope)
{
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
        switch (sScope->NameCrc())
        {
        case 0x22C4A13F: // "StateMachine"
            inst.LoadState(sScope);
            break;

        case 0xD3D101D2: // "MoveHandle"
            moveHandle.LoadState(sScope);
            break;

        case 0x7BCDC81D: // "HangUntil"
            hangUntil = StdLoad::TypeU32(sScope);
            break;

        default:
            LoadTaskData(sScope);
            break;
        }
    }
}
  //
  // Load
  //
  void TransportPad::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x4DA42E38: // "Charge"
          charge = StdLoad::TypeF32(sScope);
          break;

        case 0x79D1E3E5: // "Portal"
          StdLoad::TypeReaper(sScope, portal);
          break;

        case 0x5FF45B95: // "PortalTimer"
          portalTimer.LoadState(sScope);
          break;

        case 0x693D5359: // "Location"
          StdLoad::TypeVector(sScope, location);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void SquadMoveTogether::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0xA302E408: // "Destination"
          StdLoad::TypeVector(sScope, destination);
          break;

        case 0x04BC5B80: // "Direction"
          direction = StdLoad::TypeF32(sScope);
          break;

        case 0x82698073: // "Trail"
          StdLoad::TypeReaper(sScope, trail);
          break;

        case 0xA3998582: // "TrailIndex"
          index = StdLoad::TypeU32(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }  
  }
  //
  // Load
  //
  void TransportUnload::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0xA302E408: // "Destination"
          StdLoad::TypeVector(sScope, destination);
          break;

        case 0xD3D101D2: // "MoveHandle"
          moveHandle.LoadState(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }    
  }
  //
  // Load
  //
  void UnitIdle::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x5AB44811: // "Timer"
          timer.LoadState(sScope);
          break;

        case 0xA7DAA62B: // "AnimationCrc"
          animationCrc = StdLoad::TypeU32(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void UnitConstruct::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x97522DEF: // "ProgressTotal"
          progressTotal = StdLoad::TypeF32(sScope);
          break;

        case 0xDA11482A: // "ProgressMax"
          progressMax = StdLoad::TypeF32(sScope);
          break;

        case 0xF5B25A80: // "ResourceRemoved"
          resourceRemoved = S32(StdLoad::TypeU32(sScope));
          break;

        case 0xE262D203: // "ResourceRemaining"
          resourceRemaining = S32(StdLoad::TypeU32(sScope));
          break;

        case 0x8BD8D5BA: // "HitPointsLeft"
          hitPointsLeft = S32(StdLoad::TypeU32(sScope));
          break;

        case 0xB73D3720: // "Constructor"
          StdLoad::TypeReaper(sScope, constructor);
          break;

        case 0x9574AB0C: // "ConstructListTeam"
          constructListTeam = Team::Name2Team(StdLoad::TypeString(sScope));
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }

    // Create the construction effect
    CreateEffect();
  }
  //
  // Load
  //
  void MapDeath::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void UnitRecycle::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x8DC42CB8: // "Refund"
          refund = S32(StdLoad::TypeU32(sScope));
          break;

        case 0x04869E21: // "TimeTotal"
          timeTotal = StdLoad::TypeF32(sScope);
          break;

        case 0xD7DA8832: // "TimeCurrent"
          timeCurrent = StdLoad::TypeF32(sScope);
          break;

        case 0x97522DEF: // "ProgressTotal"
          progressTotal = StdLoad::TypeF32(sScope);
          break;

        case 0xDA11482A: // "ProgressMax"
          progressMax = StdLoad::TypeF32(sScope);
          break;

        case 0x3E412225: // "Cancel"
          cancel = StdLoad::TypeU32(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void SquadAttack::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0xD6A8B702: // "Target"
          target.LoadState(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void UnitAnimate::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x928CDC71: // "CycleId"
          cycleId = StdLoad::TypeU32(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void ParasiteSight::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0x5AB44811: // "Timer"
          timer.LoadState(sScope);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }
  //
  // Load
  //
  void SquadBoard::Load(FScope *fScope)
  {
    FScope *sScope;

    while ((sScope = fScope->NextFunction()) != NULL)
    {
      switch (sScope->NameCrc())
      {
        case 0x22C4A13F: // "StateMachine"
          inst.LoadState(sScope);
          break;

        case 0xC2244521: // "Transports"
          StdLoad::TypeReaperList(sScope, transports);
          break;

        default:
          LoadTaskData(sScope);
          break;
      }
    }
  }