This is the cheat_spawn_warthog console command, in C++. This is reversed from assembly in Olly and is exactly how Halo does it. Some of the types you might not recognize, if you need them I'll post them. Address for Halo PC 1.08
Code:
typedef void(*SpawnObject_t)(TagReference*, int);
SpawnObject_t SpawnObject = (SpawnObject_t)0x0045A960;

int CheatSpawnWarthog(void)
{
  int LoopCount = 0;
  int VehicleIndex = 0;
  Globals* globals = *(Globals**)0x00746EC0;
  Globals_MultiplayerInformation* MPInfo;
  Globals_MultiplayerInformation_Vehicles* Vehicles;
  TagReference* Vehicle;
  if(globals->MultiplayerInformation.Count > 0)
  {
    MPInfo = (Globals_MultiplayerInformation*)globals->MultiplayerInformation.Address;
    VehicleIndex = MPInfo->Vehicles.Count;
    if(VehicleIndex > 0)
    {
      Vehicles = (Globals_MultiplayerInformation_Vehicles*)MPInfo->Vehicles.Address;
      Vehicle = (TagReference*)&Vehicles->Vehicle;
      while(!strstr(Vehicle->Name,"warthog"))
      {
        VehicleIndex = MPInfo->Vehicles.Count;
        LoopCount++;
    
        if(LoopCount > VehicleIndex)
          return VehicleIndex;
        Vehicle = (TagReference*)(MPInfo->Vehicles.Address + (LoopCount * 16));
      }
    SpawnObject(Vehicle,1);
    }
  }
  return VehicleIndex;
}
Needed structs:
Code:
struct Globals{
  char Unknown[248];
  TagBlock Sounds;
  TagBlock Camera;
  TagBlock PlayerControl;
  TagBlock Difficulty;
  TagBlock Grenades;
  TagBlock RasterizerData;
  TagBlock InterfaceBitmaps;
  TagBlock WeaponList;
  TagBlock CheatPowerups;
  TagBlock MultiplayerInformation;
  TagBlock PlayerInformation;
  TagBlock FirstPersonInterface;
  TagBlock FallingDamage;
  TagBlock Materials;
  TagBlock PlaylistMembers;
};
struct Globals_MultiplayerInformation{
  TagReference Flag;
  TagReference Unit;
  TagBlock Vehicles;
  TagReference HillShader;
  TagReference FlagShader;
  TagReference Ball;
  TagBlock Sounds;
};
struct Globals_MultiplayerInformation_Vehicles{
  TagReference Vehicle;
};
With a valid TagReference, you can spawn ANY object with SpawnObject() function, not just a warthog.