Exemplo n.º 1
0
        public static void ExportAnimatedModel(BMD model, BCA animation, string fileName)
        {
            AbstractModelLoader animatedLoader = new BCALoader(new BMDLoader(fileName, model).LoadModel(), animation);

            ModelBase loadedModel = animatedLoader.LoadModel();

            ExportModelToDAE(loadedModel, fileName);
        }
Exemplo n.º 2
0
        public static BCA ConvertAnimatedDAEToBCA(ref NitroFile animationFile, string fileName, BMDImporter.BCAImportationOptions bcaImportationOptions, bool save = true)
        {
            ModelBase loadedModel = new DAELoader(fileName).LoadModel();

            BCA importedAnimation = CallBCAWriter(ref animationFile, loadedModel, bcaImportationOptions, save);

            return(importedAnimation);
        }
Exemplo n.º 3
0
        public BCA ConvertICAToBCA(ref NitroFile animationFile, string fileName, Vector3 scale,
                                   BMDExtraImportOptions extraOptions, bool save = true)
        {
            m_LoadedModel = new NITROIntermediateCharacterAnimationLoader(m_LoadedModel, fileName).LoadModel(scale);

            BCA importedAnimation = CallBCAWriter(ref animationFile, m_LoadedModel, save);

            return(importedAnimation);
        }
Exemplo n.º 4
0
        public static BCA ConvertICAToBCA(ref NitroFile animationFile, string fileName, ModelBase loadedModel, float scale,
                                          BMDExtraImportOptions extraOptions, BMDImporter.BCAImportationOptions bcaImportationOptions, bool save = true)
        {
            ModelBase animatedModel = new NITROIntermediateCharacterAnimationLoader(loadedModel, fileName).LoadModel(scale);

            BCA importedAnimation = CallBCAWriter(ref animationFile, animatedModel, bcaImportationOptions, save);

            return(importedAnimation);
        }
Exemplo n.º 5
0
 public void SetBMD(MKDS_Course_Modifier.SM64DS.BMD Bmd)
 {
     this.file = Bmd;
     this.timer1.Stop();
     this.Bca        = (BCA)null;
     this.SelBcaAnim = 0;
     this.menuItem2.MenuItems.Clear();
     GlNitro2.glNitroBindTextures(this.file, 1);
     this.Render();
 }
Exemplo n.º 6
0
        public BCA ConvertAnimatedDAEToBCA(ref NitroFile animationFile, string fileName, bool save = true)
        {
            if (m_LoadedModel == null)
            {
                m_LoadedModel = new DAELoader(fileName).LoadModel();
            }

            BCA importedAnimation = CallBCAWriter(ref animationFile, m_LoadedModel, save);

            return(importedAnimation);
        }
Exemplo n.º 7
0
 public void SetBCA(BCA Bca)
 {
     this.Bca            = Bca;
     this.SelBcaAnim     = 0;
     this.BcaNumFrames   = (int)Bca.Header.NrFrames;
     this.BcaFrameNumber = 0;
     this.menuItem2.MenuItems.Clear();
     this.menuItem2.MenuItems.Add(LanguageHandler.GetString("3d.bindpose"), new EventHandler(this.menuItem2_Click));
     this.menuItem2.MenuItems.Add("-");
     this.menuItem2.MenuItems.Add("Animation", new EventHandler(this.menuItem2_Click));
     this.menuItem2.MenuItems[0].RadioCheck = true;
     this.menuItem2.MenuItems[2].Checked    = true;
     this.timer1.Start();
 }
Exemplo n.º 8
0
        public BlurayInfoViewModel([CanBeNull] byte[] blurayDiscInformation, [CanBeNull] byte[] blurayBurstCuttingArea,
                                   [CanBeNull] byte[] blurayDds, [CanBeNull] byte[] blurayCartridgeStatus,
                                   [CanBeNull] byte[] bluraySpareAreaInformation, [CanBeNull] byte[] blurayPowResources,
                                   [CanBeNull] byte[] blurayTrackResources, [CanBeNull] byte[] blurayRawDfl,
                                   [CanBeNull] byte[] blurayPac, Window view)
        {
            _view             = view;
            _discInformation  = blurayDiscInformation;
            _burstCuttingArea = blurayBurstCuttingArea;
            _dds                              = blurayDds;
            _cartridgeStatus                  = blurayCartridgeStatus;
            _spareAreaInformation             = bluraySpareAreaInformation;
            _powResources                     = blurayPowResources;
            _trackResources                   = blurayTrackResources;
            _rawDfl                           = blurayRawDfl;
            _pac                              = blurayPac;
            SaveBlurayDiscInformationCommand  = ReactiveCommand.Create(ExecuteSaveBlurayDiscInformationCommand);
            SaveBlurayBurstCuttingAreaCommand = ReactiveCommand.Create(ExecuteSaveBlurayBurstCuttingAreaCommand);
            SaveBlurayDdsCommand              = ReactiveCommand.Create(ExecuteSaveBlurayDdsCommand);
            SaveBlurayCartridgeStatusCommand  = ReactiveCommand.Create(ExecuteSaveBlurayCartridgeStatusCommand);

            SaveBluraySpareAreaInformationCommand =
                ReactiveCommand.Create(ExecuteSaveBluraySpareAreaInformationCommand);

            SaveBlurayPowResourcesCommand   = ReactiveCommand.Create(ExecuteSaveBlurayPowResourcesCommand);
            SaveBlurayTrackResourcesCommand = ReactiveCommand.Create(ExecuteSaveBlurayTrackResourcesCommand);
            SaveBlurayRawDflCommand         = ReactiveCommand.Create(ExecuteSaveBlurayRawDflCommand);
            SaveBlurayPacCommand            = ReactiveCommand.Create(ExecuteSaveBlurayPacCommand);

            if (blurayDiscInformation != null)
            {
                SaveBlurayDiscInformationVisible = true;
                BlurayDiscInformationText        = DI.Prettify(blurayDiscInformation);
            }

            if (blurayBurstCuttingArea != null)
            {
                SaveBlurayBurstCuttingAreaVisible = true;
                BlurayBurstCuttingAreaText        = BCA.Prettify(blurayBurstCuttingArea);
            }

            if (blurayDds != null)
            {
                SaveBlurayDdsVisible = true;
                BlurayDdsText        = DDS.Prettify(blurayDds);
            }

            if (blurayCartridgeStatus != null)
            {
                SaveBlurayCartridgeStatusVisible = true;
                BlurayCartridgeStatusText        = Cartridge.Prettify(blurayCartridgeStatus);
            }

            if (bluraySpareAreaInformation != null)
            {
                SaveBluraySpareAreaInformationVisible = true;
                BluraySpareAreaInformationText        = Spare.Prettify(bluraySpareAreaInformation);
            }

            if (blurayPowResources != null)
            {
                SaveBlurayPowResourcesVisible = true;
                BlurayPowResourcesText        = DiscInformation.Prettify(blurayPowResources);
            }

            if (blurayTrackResources != null)
            {
                SaveBlurayTrackResourcesVisible = true;
                BlurayTrackResourcesText        = DiscInformation.Prettify(blurayTrackResources);
            }

            SaveBlurayRawDflVisible = blurayRawDfl != null;
            SaveBlurayPacVisible    = blurayPac != null;
        }
Exemplo n.º 9
0
        private static void WriteDAE_Animation_Source_translationOutput(XmlWriter writer, BCA.SRTContainer[] frames, 
            ModelBase.BoneDef bone)
        {
            writer.WriteStartElement("source");
            writer.WriteAttributeString("id", bone.m_ID + "_translate-output");
            writer.WriteStartElement("float_array");
            writer.WriteAttributeString("id", bone.m_ID + "_translate-output-array");
            writer.WriteAttributeString("count", "" + (frames.Length * 3));
            StringBuilder trans = new StringBuilder();
            for (int i = 0; i < frames.Length; i++)
            {
                float x = frames[i].m_Translation.X;
                float y = frames[i].m_Translation.Y;
                float z = frames[i].m_Translation.Z;

                trans.Append(x.ToString(usa) + " " + y.ToString(usa) + " " + z.ToString(usa) + " ");
            }
            trans.Remove(trans.Length - 1, 1);// Remove extra space character at end
            writer.WriteString(trans.ToString());
            writer.WriteEndElement();// float_array
            writer.WriteStartElement("technique_common");
            writer.WriteStartElement("accessor");
            writer.WriteAttributeString("count", "" + frames.Length);
            writer.WriteAttributeString("offset", "0");
            writer.WriteAttributeString("source", "#" + bone.m_ID + "_translate-output-array");
            writer.WriteAttributeString("stride", "3");
            WriteDAE_Animation_Param_nameType(writer, "X", "float");
            WriteDAE_Animation_Param_nameType(writer, "Y", "float");
            WriteDAE_Animation_Param_nameType(writer, "Z", "float");
            writer.WriteEndElement();// accessor
            writer.WriteEndElement();// technique_common
            writer.WriteEndElement();// source
        }
Exemplo n.º 10
0
        private static void WriteDAE_Animation_Source_rotationOutput(XmlWriter writer, BCA.SRTContainer[] frames,
            ModelBase.BoneDef bone, string component)
        {
            writer.WriteStartElement("source");
            writer.WriteAttributeString("id", bone.m_ID + "_rotation" + component + "-output");
            writer.WriteStartElement("float_array");
            writer.WriteAttributeString("id", bone.m_ID + "_rotation" + component + "-output-array");
            writer.WriteAttributeString("count", "" + frames.Length);
            StringBuilder rot = new StringBuilder();
            for (int i = 0; i < frames.Length; i++)
            {
                float angle = 0.0f;
                Vector3 rotDeg = frames[i].GetRotationInDegrees();

                switch (component.ToUpperInvariant())
                {
                    case "X":
                        angle = rotDeg.X;
                        break;
                    case "Y":
                        angle = rotDeg.Y;
                        break;
                    case "Z":
                        angle = rotDeg.Z;
                        break;
                }

                rot.Append(angle.ToString(usa) + " ");
            }
            rot.Remove(rot.Length - 1, 1);// Remove extra space character at end
            writer.WriteString(rot.ToString());
            writer.WriteEndElement();// float_array
            writer.WriteStartElement("technique_common");
            writer.WriteStartElement("accessor");
            writer.WriteAttributeString("count", "" + frames.Length);
            writer.WriteAttributeString("offset", "0");
            writer.WriteAttributeString("source", "#" + bone.m_ID + "_rotation" + component + "-output-array");
            writer.WriteAttributeString("stride", "1");
            WriteDAE_Animation_Param_nameType(writer, "ANGLE", "float");
            writer.WriteEndElement();// accessor
            writer.WriteEndElement();// technique_common
            writer.WriteEndElement();// source
        }
Exemplo n.º 11
0
 private static void WriteDAE_Animation_Source_matrixOutput(XmlWriter writer, BCA.SRTContainer[] frames, ModelBase.BoneDef bone)
 {
     writer.WriteStartElement("source");
     writer.WriteAttributeString("id", bone.m_ID + "_transform-output");
     writer.WriteStartElement("float_array");
     writer.WriteAttributeString("id", bone.m_ID + "_transform-output-array");
     writer.WriteAttributeString("count", "" + (frames.Length * 16));
     StringBuilder sb = new StringBuilder();
     for (int i = 0; i < frames.Length; i++)
     {
         Matrix4 matrix = frames[i].m_Matrix;
         sb.Append(matrix.Column0.X.ToString(usa) + " " + matrix.Column0.Y.ToString(usa) + " " +
             matrix.Column0.Z.ToString(usa) + " " + matrix.Column0.W.ToString(usa) + " ");
         sb.Append(matrix.Column1.X.ToString(usa) + " " + matrix.Column1.Y.ToString(usa) + " " +
             matrix.Column1.Z.ToString(usa) + " " + matrix.Column1.W.ToString(usa) + " ");
         sb.Append(matrix.Column2.X.ToString(usa) + " " + matrix.Column2.Y.ToString(usa) + " " +
             matrix.Column2.Z.ToString(usa) + " " + matrix.Column2.W.ToString(usa) + " ");
         sb.Append(matrix.Column3.X.ToString(usa) + " " + matrix.Column3.Y.ToString(usa) + " " +
             matrix.Column3.Z.ToString(usa) + " " + matrix.Column3.W.ToString(usa) + " ");
     }
     sb.Remove(sb.Length - 1, 1);// Remove extra space character at end
     writer.WriteString(sb.ToString());
     writer.WriteEndElement();// float_array
     writer.WriteStartElement("technique_common");
     writer.WriteStartElement("accessor");
     writer.WriteAttributeString("count", "" + frames.Length);
     writer.WriteAttributeString("offset", "0");
     writer.WriteAttributeString("source", "#" + bone.m_ID + "_transform-output-array");
     writer.WriteAttributeString("stride", "16");
     WriteDAE_Animation_Param_nameType(writer, "TRANSFORM", "float4x4");
     writer.WriteEndElement();// accessor
     writer.WriteEndElement();// technique_common
     writer.WriteEndElement();// source
 }
Exemplo n.º 12
0
        internal void LoadData(byte[] blurayDiscInformation, byte[] blurayBurstCuttingArea, byte[] blurayDds,
                               byte[] blurayCartridgeStatus, byte[] bluraySpareAreaInformation,
                               byte[] blurayPowResources, byte[] blurayTrackResources, byte[] blurayRawDfl,
                               byte[] blurayPac)
        {
            DiscInformation  = blurayDiscInformation;
            BurstCuttingArea = blurayBurstCuttingArea;
            Dds                  = blurayDds;
            CartridgeStatus      = blurayCartridgeStatus;
            SpareAreaInformation = bluraySpareAreaInformation;
            PowResources         = blurayPowResources;
            TrackResources       = blurayTrackResources;
            RawDfl               = blurayRawDfl;
            Pac                  = blurayPac;

            if (blurayDiscInformation != null)
            {
                grpBlurayDiscInformation.Visible     = true;
                btnSaveBlurayDiscInformation.Visible = true;
                txtBlurayDiscInformation.Text        = DI.Prettify(blurayDiscInformation);
            }

            if (blurayBurstCuttingArea != null)
            {
                grpBlurayBurstCuttingArea.Visible     = true;
                btnSaveBlurayBurstCuttingArea.Visible = true;
                txtBlurayBurstCuttingArea.Text        = BCA.Prettify(blurayBurstCuttingArea);
            }

            if (blurayDds != null)
            {
                grpBlurayDds.Visible     = true;
                btnSaveBlurayDds.Visible = true;
                txtBlurayDds.Text        = DDS.Prettify(blurayDds);
            }

            if (blurayCartridgeStatus != null)
            {
                grpBlurayCartridgeStatus.Visible     = true;
                btnSaveBlurayCartridgeStatus.Visible = true;
                txtBlurayCartridgeStatus.Text        = Cartridge.Prettify(blurayCartridgeStatus);
            }

            if (bluraySpareAreaInformation != null)
            {
                grpBluraySpareAreaInformation.Visible     = true;
                btnSaveBluraySpareAreaInformation.Visible = true;
                txtBluraySpareAreaInformation.Text        = Spare.Prettify(bluraySpareAreaInformation);
            }

            if (blurayPowResources != null)
            {
                grpBlurayPowResources.Visible     = true;
                btnSaveBlurayPowResources.Visible = true;
                txtBlurayPowResources.Text        = Decoders.SCSI.MMC.DiscInformation.Prettify(blurayPowResources);
            }

            if (blurayTrackResources != null)
            {
                grpBlurayTrackResources.Visible     = true;
                btnSaveBlurayTrackResources.Visible = true;
                txtBlurayTrackResources.Text        = Decoders.SCSI.MMC.DiscInformation.Prettify(blurayTrackResources);
            }

            btnSaveBlurayRawDfl.Visible = blurayRawDfl != null;
            btnSaveBlurayPac.Visible    = blurayPac != null;

            Visible = grpBlurayDiscInformation.Visible || grpBlurayBurstCuttingArea.Visible ||
                      grpBlurayDds.Visible ||
                      grpBlurayCartridgeStatus.Visible || grpBluraySpareAreaInformation.Visible ||
                      grpBlurayPowResources.Visible || grpBlurayTrackResources.Visible ||
                      btnSaveBlurayRawDfl.Visible ||
                      btnSaveBlurayPac.Visible;
        }
Exemplo n.º 13
0
 public BCALoader(ModelBase model, BCA animation)
     : base(null)
 {
     m_BCA = animation;
     m_Model = model;
 }
Exemplo n.º 14
0
 public BCALoader(ModelBase model, BCA animation) :
     base(null)
 {
     m_BCA   = animation;
     m_Model = model;
 }