Esempio n. 1
0
        public override void StartModProcess()
        {
            string path_RCF_frontend = "DEFAULT.RCF";

            basePath = ConsolePipeline.ExtractedPath;
            RCF_Manager.cachedRCF = null;

            if (ConsolePipeline.Metadata.Console == ConsoleMode.WII)
            {
                path_RCF_frontend = "default.rcf";
            }
            else if (ConsolePipeline.Metadata.Console == ConsoleMode.PSP)
            {
                path_RCF_frontend = "default.rcf";
            }
            else if (ConsolePipeline.Metadata.Console == ConsoleMode.XBOX360)
            {
                path_RCF_frontend = "default.rcf";
            }

            string path_extr = basePath + @"cml_extr\";

            RCF_Manager.Extract(basePath + path_RCF_frontend, path_extr);

            // Proof of concept mod replacing credits text
            string[] credits_lines = File.ReadAllLines(path_extr + @"script\CreditsList.txt");

            List <string> credits_LineList = new List <string>();

            credits_LineList.Add(credits_lines[0]);

            credits_LineList.Add("false        \"Crate Mod Loader " + ModLoaderGlobals.ProgramVersion + "\"                 false           false");
            credits_LineList.Add("false        \"Seed: " + ModLoaderGlobals.RandomizerSeed + "\"                 false           false");

            for (int i = 1; i < credits_lines.Length; i++)
            {
                credits_LineList.Add(credits_lines[i]);
            }

            credits_lines = new string[credits_LineList.Count];
            for (int i = 0; i < credits_LineList.Count; i++)
            {
                credits_lines[i] = credits_LineList[i];
            }


            File.WriteAllLines(path_extr + @"script\CreditsList.txt", credits_lines);

            RCF_Manager.Pack(basePath + path_RCF_frontend, path_extr);
        }
Esempio n. 2
0
        public override void StartModProcess()
        {
            Random rand = new Random(ModLoaderGlobals.RandomizerSeed);

            string path_RCF_frontend = "DEFAULT.RCF";

            basePath = ConsolePipeline.ExtractedPath;
            RCF_Manager.cachedRCF = null;

            if (ConsolePipeline.Metadata.Console == ConsoleMode.WII)
            {
                path_RCF_frontend = "default.rcf";
            }
            else if (ConsolePipeline.Metadata.Console == ConsoleMode.PSP)
            {
                path_RCF_frontend = "default.rcf";
            }
            else if (ConsolePipeline.Metadata.Console == ConsoleMode.XBOX360)
            {
                path_RCF_frontend = "default.rcf";
            }

            string path_extr = basePath + @"cml_extr\";

            RCF_Manager.Extract(basePath + path_RCF_frontend, path_extr);

            ModCrates.InstallLayerMods(EnabledModCrates, path_extr, 1);

            if (Option_TestMod.Enabled)
            {
                // Proof of concept mod increasing gameplay FOV in Episode 1
                string[] frontend_lines = File.ReadAllLines(path_extr + @"levels\L1_E1\cameraoverrides.blua");
                frontend_lines[6]  = "cameraManager:SetCameraVolumeFOV( 0, 90.000000 )";
                frontend_lines[11] = "cameraManager:SetCameraVolumeFOV( 2, 90.000000 )";
                frontend_lines[14] = "cameraManager:SetCameraVolumeFOV( 3, 90.000000 )";
                frontend_lines[68] = "cameraManager:SetCameraVolumeFOV( 78, 90.000000 )";
                frontend_lines[71] = "cameraManager:SetCameraVolumeFOV( 79, 90.000000 )";
                frontend_lines[73] = "cameraManager:SetCameraVolumeFOV( 80, 90.000000 )";
                frontend_lines[76] = "cameraManager:SetCameraVolumeFOV( 81, 90.000000 )";
                frontend_lines[79] = "cameraManager:SetCameraVolumeFOV( 82, 90.000000 )";
                frontend_lines[81] = "cameraManager:SetCameraVolumeFOV( 83, 90.000000 )";
                frontend_lines[83] = "cameraManager:SetCameraVolumeFOV( 84, 90.000000 )";
                frontend_lines[85] = "cameraManager:SetCameraVolumeFOV( 85, 90.000000 )";
                frontend_lines[87] = "cameraManager:SetCameraVolumeFOV( 86, 90.000000 )";
                frontend_lines[89] = "cameraManager:SetCameraVolumeFOV( 87, 90.000000 )";
                frontend_lines[91] = "cameraManager:SetCameraVolumeFOV( 88, 90.000000 )";
                frontend_lines[94] = "cameraManager:SetCameraVolumeFOV( 89, 90.000000 )";
                frontend_lines[97] = "cameraManager:SetCameraVolumeFOV( 90, 90.000000 )";
                File.WriteAllLines(path_extr + @"levels\L1_E1\cameraoverrides.blua", frontend_lines);
            }

            if (Option_RandEpisodeOrder.Enabled)
            {
                List <int> LevelsToRand = new List <int>();
                for (int i = 0; i < EpisodeFolderNames.Count; i++)
                {
                    LevelsToRand.Add(i);
                    Directory.Move(path_extr + @"levels\" + EpisodeFolderNames[i], path_extr + @"levels\" + "level" + i);
                }

                List <int> LevelsRand = new List <int>();
                for (int i = 0; i < EpisodeFolderNames.Count; i++)
                {
                    int r = rand.Next(LevelsToRand.Count);
                    LevelsRand.Add(LevelsToRand[r]);
                    LevelsToRand.RemoveAt(r);
                }

                for (int i = 0; i < EpisodeFolderNames.Count; i++)
                {
                    Directory.Move(path_extr + @"levels\" + "level" + i, path_extr + @"levels\" + EpisodeFolderNames[LevelsRand[i]]);
                }
            }

            RCF_Manager.Pack(basePath + path_RCF_frontend, path_extr);
        }