public EditorHAMFile(HAMFile baseFile, PIGFile piggyFile) { BaseFile = baseFile; this.piggyFile = piggyFile; EClipNameMapping = new Dictionary <string, EClip>(); ObjBitmapMapping = new Dictionary <string, int>(); Textures = new List <ushort>(); TMapInfo = new List <TMAPInfo>(); VClips = new List <VClip>(); EClips = new List <EClip>(); WClips = new List <WClip>(); Robots = new List <Robot>(); Joints = new List <JointPos>(); Weapons = new List <Weapon>(); Models = new List <Polymodel>(); Gauges = new List <ushort>(); GaugesHires = new List <ushort>(); ObjBitmaps = new List <ushort>(); ObjBitmapPointers = new List <ushort>(); Cockpits = new List <ushort>(); Reactors = new List <Reactor>(); Powerups = new List <Powerup>(); BitmapXLATData = new ushort[2620]; SoundNames = new List <string>(); }
public void fillOutTextureBox(HAMFile bmData) { /*int max = bmData.NumBitmaps; * for (int x = 0; x < max; x++) * { * Bitmap bm = bmData.LookUpImageByIndex(bmData.Textures[x]).GetPicture(); * imageList1.Images.Add(bm); * //bm.Dispose(); * string name = new String(bmData.TMapInfo[x].filename); * ListViewItem lvi = new ListViewItem(name); * lvi.ImageIndex = x; * listView1.Items.Add(lvi); * } * listView1.LargeImageList = imageList1;*/ }
public static EditorHAMFile TranslatePIGToHam(Descent1PIGFile pigfile, PIGFile convertedPigFile) { HAMFile file = new HAMFile(); foreach (ushort texture in pigfile.Textures) { file.Textures.Add(texture); } foreach (TMAPInfo tmapInfo in pigfile.TMapInfo) { file.TMapInfo.Add(tmapInfo); } for (int i = 0; i < pigfile.SoundIDs.Length; i++) { file.Sounds[i] = pigfile.SoundIDs[i]; } for (int i = 0; i < pigfile.AltSounds.Length; i++) { file.AltSounds[i] = pigfile.AltSounds[i]; } foreach (VClip clip in pigfile.VClips) { file.VClips.Add(clip); } foreach (EClip clip in pigfile.EClips) { file.EClips.Add(clip); } foreach (WClip clip in pigfile.WClips) { file.WClips.Add(clip); } foreach (Robot robot in pigfile.Robots) { file.Robots.Add(robot); } foreach (JointPos joint in pigfile.Joints) { file.Joints.Add(joint); } foreach (Weapon weapon in pigfile.Weapons) { if (weapon.ModelNum == 255) { weapon.ModelNum = 0; } if (weapon.ModelNumInner == 255) { weapon.ModelNumInner = 0; } file.Weapons.Add(weapon); } foreach (Polymodel model in pigfile.Models) { if (model != null) { file.Models.Add(model); } } foreach (ushort gauge in pigfile.Gauges) { file.Gauges.Add(gauge); file.GaugesHires.Add(gauge); } foreach (ushort cockpit in pigfile.Cockpits) { file.Cockpits.Add(cockpit); } for (int i = 0; i < pigfile.ObjBitmaps.Length; i++) { file.ObjBitmaps.Add(pigfile.ObjBitmaps[i]); file.ObjBitmapPointers.Add(pigfile.ObjBitmapPointers[i]); } foreach (Powerup powerup in pigfile.Powerups) { file.Powerups.Add(powerup); } file.PlayerShip = pigfile.PlayerShip; file.Reactors.Add(pigfile.reactor); file.FirstMultiBitmapNum = pigfile.FirstMultiBitmapNum; for (int i = 0; i < pigfile.BitmapXLATData.Length; i++) { file.BitmapXLATData[i] = pigfile.BitmapXLATData[i]; } EditorHAMFile res = new EditorHAMFile(file, convertedPigFile); res.CreateLocalLists(); res.GenerateDefaultNamelists(); res.TranslateData(); return(res); }