Exemple #1
0
        } // method ApplyWarpaint ends

        /*
         * ChangeFatiguesCamo
         * Changes which camo the fatigues use.
         */
        public static void ChangeFatiguesCamo(string outputPath, string character, string outfitName, string camoName)
        {
            string playerOutfitName = "";
            string fpkOutputPath    = "";
            string outfitPath       = "";

            //get the outfit path.
            switch (character)
            {
            case "snake":
                outfitPath = @"\Assets\tpp\chara\sna\Scenes\sna0_arm0_cov.fmdl";
                break;

            case "female":
                outfitPath = @"\Assets\tpp\chara\dds\Scenes\dds6_head_z_cov.fmdl";
                break;

            default:
                outfitPath = @"\Assets\tpp\chara\dds\Scenes\dds5_head_z_cov.fmdl";
                break;
            } //switch ends

            playerOutfitName = GetPlayerOutfitName(character, outfitName); //get the player outfit name.

            outputPath   += @"\Assets\tpp\pack\player\parts\" + playerOutfitName;
            fpkOutputPath = outputPath + "_fpk";

            AddTextures(outputPath, @"\camo\" + camoName, "3014d9368df48");
            HexSwapper.Swap(fpkOutputPath + outfitPath, "60A62DF597596A", "48DF68934D016B");

            MessageBox.Show("Done!");
        } //method ChangeFatiguesCamo ends
Exemple #2
0
        } //method EditOutfit ends

        /*
         * EditShirt
         * Retextures the shirt for the Naked Snake and T-Shirt outfits.
         */
        public static void EditShirt(string outputPath, string character, string outfitName, string textureName)
        {
            //make sure the character is Snake.
            if (character != "snake")
            {
                MessageBox.Show("This option is only valid for Snake!", "Invalid Character!");
                return;
            } //if ends

            string playerOutfitName = "";
            string fpkOutputPath    = "";

            playerOutfitName = GetPlayerOutfitName(character, outfitName); //get the player outfit name.

            outputPath   += @"\Assets\tpp\pack\player\parts\" + playerOutfitName;
            fpkOutputPath = outputPath + "_fpk";

            AddTextures(outputPath, @"\pftxs\" + textureName, "15d597f03fc1c"); //add the new texture.

            //hex edit the model to load the new texture.
            HexSwapper.Swap(fpkOutputPath + @"\Assets\tpp\chara\sna\Scenes\sna0_face0_cov.fmdl", "0EA702C4BFBE68", "1CFC037F595D69");

            MessageBox.Show("Done!");
        } //method EditShirt ends
Exemple #3
0
        /*
         * EditOutfit
         * Retextures the specified outfit.
         */
        public static void EditOutfit(string outputPath, string character, string outfitName, string textureName)
        {
            string playerOutfitName = "";
            string fpkOutputPath    = "";
            string outfitPath       = "";

            //get the outfit path.
            switch (character)
            {
            case "snake":
                outfitPath = @"\Assets\tpp\chara\sna\Scenes\sna0_arm0_cov.fmdl";
                break;

            case "female":
                outfitPath = @"\Assets\tpp\chara\dds\Scenes\dds6_head_z_cov.fmdl";
                break;

            default:
                outfitPath = @"\Assets\tpp\chara\dds\Scenes\dds5_head_z_cov.fmdl";
                break;
            } //switch ends

            playerOutfitName = GetPlayerOutfitName(character, outfitName); //get the player outfit name.

            outputPath   += @"\Assets\tpp\pack\player\parts\" + playerOutfitName;
            fpkOutputPath = outputPath + "_fpk";

            AddTextures(outputPath, @"\pftxs\" + textureName, "1f169d673ad4d"); //add the new textures.

            //hex edit the model to load the new texture.
            HexSwapper.Swap(fpkOutputPath + outfitPath, "0EA702C4BFBE68", "4DAD73D669F169");
            HexSwapper.Swap(fpkOutputPath + outfitPath, "20BA1B1959A66B", "4DAD73D669F169");
            HexSwapper.Swap(fpkOutputPath + outfitPath, "0652BCBFC56868", "4DAD73D669F169");

            MessageBox.Show("Done!");
        } //method EditOutfit ends
Exemple #4
0
        } //method EditShirt ends

        /*
         * ApplyWarpaint
         * Applies the warpaint effect/markings to Quiet's face.
         */
        public static void ApplyWarpaint(string outputPath, string character, string outfitName)
        {
            GetOutfits(); //get the list of outfits.

            string playerOutfitName = "";
            string fpkOutputPath    = "";
            string headPath         = "";

            string[] headHexValues = { "4B964A16F7456A", "9026CB9BCE5868", "DA54C09683856B", "6F38C22CB8B96A", "690F5C1861F968" };
            Outfit   outfit        = new Outfit();

            //get the outfit path.
            switch (character)
            {
            case "snake":
                headPath = @"\Assets\tpp\chara\sna\Scenes\sna0_face0_cov.fmdl";
                break;

            case "female":
                headPath = @"\Assets\tpp\chara\dds\Scenes\dds6_head_z_cov.fmdl";
                break;

            default:
                headPath = @"\Assets\tpp\chara\dds\Scenes\dds5_head_z_cov.fmdl";
                break;
            } //switch ends

            playerOutfitName = GetPlayerOutfitName(character, outfitName);

            outputPath   += @"\Assets\tpp\pack\player\parts\" + playerOutfitName;
            fpkOutputPath = outputPath + "_fpk";

            //find which outfit we need to edit.
            for (int i = 0; i < outfits.Count; i++)
            {
                if (outfits[i].name == playerOutfitName)
                {
                    outfit = outfits[i];
                }
            }

            if (outfit.hasHead)
            {
                for (int i = 0; i < headHexValues.Length; i++)
                {
                    if (HexSwapper.ContainsHex(fpkOutputPath + headPath, headHexValues[i]))
                    {
                        switch (i)
                        {
                        case 0:
                            AddTextures(outputPath, @"\warpaint\default", "3509e66ed1e1b");
                            HexSwapper.Swap(fpkOutputPath + headPath, headHexValues[i], "1B1EED669E506B");
                            break;

                        case 1:
                            HexSwapper.Swap(fpkOutputPath + headPath, headHexValues[i], "E3FBF60F35746A");
                            break;

                        case 2:
                            AddTextures(outputPath, @"\warpaint\hospital", "274350ff6fbe3");
                            HexSwapper.Swap(fpkOutputPath + headPath, headHexValues[i], "E3FBF60F35746A");
                            break;

                        case 3:
                            AddTextures(outputPath, @"\warpaint\prisoner", "3509e66ed1e1b");
                            HexSwapper.Swap(fpkOutputPath + headPath, headHexValues[i], "1B1EED669E506B");
                            break;

                        case 4:
                            AddTextures(outputPath, @"\warpaint\sniperwolf", "3509e66ed1e1b");
                            HexSwapper.Swap(fpkOutputPath + headPath, headHexValues[i], "1B1EED669E506B");
                            break;
                        } //switch ends

                        MessageBox.Show("Done!");
                        return;
                    } //if ends
                }
            }         //if ends

            for (int i = 0; i < headHexValues.Length; i++)
            {
                if (HexSwapper.ContainsHex(fpkOutputPath + outfit.outfitPath, headHexValues[i]))
                {
                    switch (i)
                    {
                    case 0:
                        AddTextures(outputPath, @"\warpaint\default", "3509e66ed1e1b");
                        HexSwapper.Swap(fpkOutputPath + outfit.outfitPath, headHexValues[i], "1B1EED669E506B");
                        break;

                    case 1:
                        HexSwapper.Swap(fpkOutputPath + outfit.outfitPath, headHexValues[i], "E3FBF60F35746A");
                        break;

                    case 2:
                        AddTextures(outputPath, @"\warpaint\hospital", "274350ff6fbe3");
                        HexSwapper.Swap(fpkOutputPath + outfit.outfitPath, headHexValues[i], "E3FBF60F35746A");
                        break;

                    case 3:
                        AddTextures(outputPath, @"\warpaint\prisoner", "3509e66ed1e1b");
                        HexSwapper.Swap(fpkOutputPath + outfit.outfitPath, headHexValues[i], "1B1EED669E506B");
                        break;

                    case 4:
                        AddTextures(outputPath, @"\warpaint\sniperwolf", "3509e66ed1e1b");
                        HexSwapper.Swap(fpkOutputPath + outfit.outfitPath, headHexValues[i], "1B1EED669E506B");
                        break;
                    } //switch ends

                    MessageBox.Show("Done!");
                    return;
                } //if ends
            }
            MessageBox.Show("Could not find a valid model!");
        } // method ApplyWarpaint ends