예제 #1
0
        /// <summary>
        /// Performs the base level alteration to the CMP file, without going through .rgsp files.
        /// </summary>
        /// <param name="data"></param>
        /// <param name="index"></param>
        /// <param name="modlist"></param>
        /// <returns></returns>
        private static async Task SetScalingParameter(RacialGenderScalingParameter data, IndexFile index = null, ModList modlist = null)
        {
            var cmp = await GetCharaMakeParameterSet(false, index, modlist);

            cmp.SetScalingParameter(data);
            await SaveCharaMakeParameterSet(cmp, index, modlist);
        }
예제 #2
0
        /// <summary>
        /// Applies a custom .rgsp file to the main Human.CMP file.
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="index"></param>
        /// <param name="modlist"></param>
        /// <returns></returns>
        internal static async Task ApplyRgspFile(string filePath, IndexFile index = null, ModList modlist = null)
        {
            var _dat     = new Dat(XivCache.GameInfo.GameDirectory);
            var rgspData = await _dat.GetType2Data(filePath, false, index, modlist);

            var rgsp = new RacialGenderScalingParameter(rgspData);

            await SetScalingParameter(rgsp, index, modlist);
        }
예제 #3
0
        /// <summary>
        /// Saves a racial scaling entry to file.
        /// </summary>
        /// <param name="rgsp"></param>
        /// <param name=""></param>
        /// <returns></returns>
        public static async Task SaveScalingParameter(RacialGenderScalingParameter rgsp, string sourceApplication, IndexFile index = null, ModList modlist = null)
        {
            // Write the .rgsp file and let the DAT functions handle applying it.
            var rgspFilePath = GetRgspPath(rgsp.Race, rgsp.Gender);

            var bytes = rgsp.GetBytes();


            var dummyItem = new XivGenericItemModel();

            dummyItem.Name = rgsp.Race.GetDisplayName() + " - " + rgsp.Gender.ToString();
            dummyItem.SecondaryCategory = "Racial Scaling";

            var _dat = new Dat(XivCache.GameInfo.GameDirectory);
            await _dat.ImportType2Data(bytes, rgspFilePath, sourceApplication, dummyItem, index, modlist);
        }
        public async Task Init()
        {
            _data = await CMP.GetScalingParameter(Race, Gender);

            Title            = "Racial Settings - " + Race.GetDisplayName() + " - " + Gender.ToString();
            TitleBox.Content = "Racial Settings: " + Race.GetDisplayName() + " - " + Gender.ToString();

            MinHeightBox.Text = _data.MinSize.ToString();
            MaxHeightBox.Text = _data.MaxSize.ToString();

            MinTailBox.Text = _data.MinTail.ToString();
            MaxTailBox.Text = _data.MaxTail.ToString();

            MinBustX.Text = _data.BustMinX.ToString();
            MinBustY.Text = _data.BustMinY.ToString();
            MinBustZ.Text = _data.BustMinZ.ToString();

            MaxBustX.Text = _data.BustMaxX.ToString();
            MaxBustY.Text = _data.BustMaxY.ToString();
            MaxBustZ.Text = _data.BustMaxZ.ToString();

            if (Gender != XivGender.Female)
            {
                MinBustXLabel.Visibility = Visibility.Collapsed;
                MinBustYLabel.Visibility = Visibility.Collapsed;
                MinBustZLabel.Visibility = Visibility.Collapsed;

                MaxBustXLabel.Visibility = Visibility.Collapsed;
                MaxBustYLabel.Visibility = Visibility.Collapsed;
                MaxBustZLabel.Visibility = Visibility.Collapsed;

                MinBustX.Visibility = Visibility.Collapsed;
                MinBustY.Visibility = Visibility.Collapsed;
                MinBustZ.Visibility = Visibility.Collapsed;

                MaxBustX.Visibility = Visibility.Collapsed;
                MaxBustY.Visibility = Visibility.Collapsed;
                MaxBustZ.Visibility = Visibility.Collapsed;
            }

            ShowDialog();
        }
예제 #5
0
        /// <summary>
        /// Applies a custom .rgsp file to the main Human.CMP file.
        /// </summary>
        /// <param name="data"></param>
        /// <param name="index"></param>
        /// <param name="modlist"></param>
        /// <returns></returns>
        internal static async Task ApplyRgspFile(byte[] data, IndexFile index = null, ModList modlist = null)
        {
            var rgsp = new RacialGenderScalingParameter(data);

            await SetScalingParameter(rgsp, index, modlist);
        }