Пример #1
0
        public override void ModLoaded()
        {
            base.ModLoaded();
            stringChanged += IpChanged;
            settings       = new Settings(this);
            settings.CreateCustomLabel("The IP of the system receiving the telemetry stream.");
            settings.CreateCustomLabel("Default = 127.0.0.1");
            settings.CreateStringSetting("Current IP", stringChanged, receiverIp);

            intChanged += PortChanged;
            settings.CreateCustomLabel("The receiverPort to send the telemetry stream to.");
            settings.CreateCustomLabel("Default = 4123");
            settings.CreateIntSetting("Current Port", intChanged, receiverPort);

            udpChanged += udpEnabledChanged;
            settings.CreateCustomLabel("Output telemetry to UDP.");
            settings.CreateCustomLabel("Default = False");
            settings.CreateBoolSetting("Enable UDP Output", udpChanged, udpEnabled);

            csvChanged += csvEnabledChanged;
            settings.CreateCustomLabel("Saves the telemetry log to CSV file in VTOL VR Directory. If this is enabled features such as engine telemetry will not be saved.");
            settings.CreateCustomLabel("Default = False");
            settings.CreateBoolSetting("Enable CSV Output", csvChanged, csvEnabled);

            jsonChanged += jsonEnabledChanged;
            settings.CreateCustomLabel("Saves the telemetry log to JSON file in VTOL VR Directory. If this is enabled features such as engine telemetry will not be saved.");
            settings.CreateCustomLabel("Default = False");
            settings.CreateBoolSetting("Enable JSON Output", jsonChanged, csvEnabled);

            VTOLAPI.CreateSettingsMenu(settings);

            Debug.Log($"{Globals.projectName} - Telemetry Mod {Globals.projectVersion} by {Globals.projectAuthor} loaded!");
        }
Пример #2
0
        public override void ModLoaded()
        {
            base.ModLoaded();
            multiplierChanged += failureRateMultiplierChanged;

            failures = GetFailures();

            List <String> failureCategories = new List <string>(failures.Keys);

            settings = new Settings(this);

            settings.CreateCustomLabel("Failure rate multiplier changes how often failures happen.");
            settings.CreateCustomLabel("Default = 1");
            settings.CreateFloatSetting("Failure multiplier:", multiplierChanged, failureRateMultiplier);

            settings.CreateCustomLabel("Failure Categories (Currently Read Only)");

            Dictionary <String, Boolean> failureCategoriesEnabled = new Dictionary <string, bool>();

            foreach (String category in failureCategories)
            {
                failureCategoriesEnabled.Add(category, true);
                settings.CreateBoolSetting(category, failureCategoryChange, true);
            }


            VTOLAPI.CreateSettingsMenu(settings);

            Debug.Log($"{Globals.projectName} - {Globals.projectVersion} by {Globals.projectAuthor} loaded!");
        }
Пример #3
0
    private void CreateSettingsPage()
    {
        settings = new Settings(this);


        //public bool spawnRemainingPlayersAtAirBase = false;
        //private bool spawnRemainingPlayersAtAirBase_changed;

        //public bool replaceWingmenWithClients = true;
        //private bool replaceWingmenWithClients_changed;

        //public bool restrictToHostMods = true;
        //private bool restrictToHostMods_changed;

        //public bool forceWinds = false; // not implemented
        //private bool forceWinds_changed;

        //public bool FreeForAllMode = false; // not implemented
        //private bool FreeForAllMode_changed;
        settings.CreateCustomLabel("Host Settings");

        /*spawnRemainingPlayersAtAirBase_changed += spawnRemainingPlayersAtAirBase_Setting;
         * settings.CreateCustomLabel("Spawn players at airbase if there are no wingmen available.");
         * settings.CreateBoolSetting("Default = False", spawnRemainingPlayersAtAirBase_changed, spawnRemainingPlayersAtAirBase);*/


        /*replaceWingmenWithClients_changed += replaceWingmenWithClients_Setting;
         * settings.CreateCustomLabel("Replace AI wingmen (with the same flight designation) with clients.");
         * settings.CreateBoolSetting("Default = True", replaceWingmenWithClients_changed, replaceWingmenWithClients);*/

        restrictToHostMods_changed += restrictToHostMods_Settings;
        settings.CreateCustomLabel("Require clients to use the same mods as host.");
        settings.CreateBoolSetting("Default = True", restrictToHostMods_changed, restrictToHostMods);

        /*forceWinds_changed += forceWinds_Settings;
         * settings.CreateCustomLabel("Force winds on for clients (Not functional).");
         * settings.CreateBoolSetting("Default = True", forceWinds_changed, forceWinds);*/

        debugLogs_changed += debugLog_Settings;
        settings.CreateCustomLabel("Activate Debug Logs.");
        settings.CreateBoolSetting("Default = False", debugLogs_changed, debugLogs);

        /*FreeForAllMode_changed += FreeForAllMode_Settings;
         * settings.CreateCustomLabel("Free For All Mode! Sets all clients to enemies (Not functional).");
         * settings.CreateBoolSetting("Default = True", FreeForAllMode_changed, FreeForAllMode);*/

        DisplayPing_changed += DisplayPing_Settings;
        settings.CreateCustomLabel("Show ping on the screen. (Not vr)");
        settings.CreateBoolSetting("Default = False", DisplayPing_changed, displayPing);

        VTOLAPI.CreateSettingsMenu(settings);
    }
Пример #4
0
    private void CreateSettingsPage()
    {
        settings = new Settings(this);
        settings.CreateCustomLabel("General Settings");
        hidePlayerNameTags_changed += hidePlayerNameTags_Settings;
        hidePlayerRoundels_changed += (set) => { AvatarManager.hideAvatars = set; };
        settings.CreateCustomLabel("Hide player name tags.");
        settings.CreateBoolSetting("Default = False", hidePlayerNameTags_changed, hidePlayerNameTags);
        settings.CreateCustomLabel("Hide players roundels.");
        settings.CreateBoolSetting("Default = False", hidePlayerRoundels_changed, AvatarManager.hideAvatars);

        settings.CreateCustomLabel("Host Settings");

        /*spawnRemainingPlayersAtAirBase_changed += spawnRemainingPlayersAtAirBase_Setting;
         * settings.CreateCustomLabel("Spawn players at airbase if there are no wingmen available.");
         * settings.CreateBoolSetting("Default = False", spawnRemainingPlayersAtAirBase_changed, spawnRemainingPlayersAtAirBase);*/


        /*replaceWingmenWithClients_changed += replaceWingmenWithClients_Setting;
         * settings.CreateCustomLabel("Replace AI wingmen (with the same flight designation) with clients.");
         * settings.CreateBoolSetting("Default = True", replaceWingmenWithClients_changed, replaceWingmenWithClients);*/

        restrictToHostMods_changed += restrictToHostMods_Settings;
        settings.CreateCustomLabel("Require clients to use the same mods as host.");
        settings.CreateBoolSetting("Default = True", restrictToHostMods_changed, restrictToHostMods);

        /*forceWinds_changed += forceWinds_Settings;
         * settings.CreateCustomLabel("Force winds on for clients (Not functional).");
         * settings.CreateBoolSetting("Default = True", forceWinds_changed, forceWinds);*/

        debugLogs_changed += debugLog_Settings;
        settings.CreateCustomLabel("Activate Debug Logs.");
        settings.CreateBoolSetting("Default = False", debugLogs_changed, debugLogs);

        /*FreeForAllMode_changed += FreeForAllMode_Settings;
         * settings.CreateCustomLabel("Free For All Mode! Sets all clients to enemies (Not functional).");
         * settings.CreateBoolSetting("Default = True", FreeForAllMode_changed, FreeForAllMode);*/

        DisplayPing_changed += DisplayPing_Settings;
        settings.CreateCustomLabel("Show ping on the screen. (Not vr)");
        settings.CreateBoolSetting("Default = False", DisplayPing_changed, displayPing);

        displayClouds_changed += DisplayCloud_Settings;
        settings.CreateCustomLabel("Show C");
        settings.CreateBoolSetting("Default = False", displayClouds_changed, displayClouds);

        VTOLAPI.CreateSettingsMenu(settings);
    }
Пример #5
0
        public override void ModLoaded()
        {
            HarmonyInstance harmony = HarmonyInstance.Create("cheese.skijump");

            harmony.PatchAll(Assembly.GetExecutingAssembly());

            base.ModLoaded();
            //VTOLAPI.SceneLoaded += SceneLoaded;
            //VTOLAPI.MissionReloaded += MissionReloaded;

            Settings settings = new Settings(this);

            settings.CreateCustomLabel("Watch Settings");

            leftHand_changed += leftHand_Setting;
            settings.CreateBoolSetting("Watch on left hand?", leftHand_changed, leftHand);

            VTOLAPI.CreateSettingsMenu(settings);
        }
    public override void ModLoaded()
    {
        HarmonyInstance harmony = HarmonyInstance.Create("cheese.SCam+");

        harmony.PatchAll(Assembly.GetExecutingAssembly());

        base.ModLoaded();
        VTOLAPI.SceneLoaded     += SceneLoaded;
        VTOLAPI.MissionReloaded += MissionReloaded;

        //ammountOfModes = Enum.GetValues(typeof(SpectatorBehaviorsPlus)).Length;

        cameraModes = new List <CameraMode>();
        settings    = new Settings(this);
        settings.CreateCustomLabel("S-Cam+ Settings");

        settings.CreateCustomLabel("");

        up_changed += up_Setting;
        settings.CreateIntSetting("Camera Up Vector: ", up_changed, (int)upType, 0, 4);
        settings.CreateCustomLabel("0 = Unmodified/Same as Stock");
        settings.CreateCustomLabel("1 = World Up");
        settings.CreateCustomLabel("2 = Aircraft Up");
        settings.CreateCustomLabel("3 = G-Force Up");
        settings.CreateCustomLabel("4 = Head Up");
        settings.CreateCustomLabel("5 = Itself / No Up Vector");

        settings.CreateCustomLabel("Note: Camera is still upright in preview.");

        settings.CreateCustomLabel("");

        settings.CreateCustomLabel("Auto-Tracking Settings");

        trackMinTime_changed += trackMinTime_Setting;
        settings.CreateCustomLabel("Minimum Tracking Time:");
        settings.CreateCustomLabel("(How long a target must be tracked");
        settings.CreateCustomLabel("before changing for closer/locked)");
        settings.CreateCustomLabel("(Also how long its tracked after death)");
        settings.CreateFloatSetting("(Default = 1)", trackMinTime_changed, trackMinTime, 0, 10);

        settings.CreateCustomLabel("");

        settings.CreateCustomLabel("AceCombat Camera Settings");

        aceMinFov_changed += aceMinFov_Setting;
        settings.CreateCustomLabel("Minimum FOV:");
        settings.CreateFloatSetting("(Default = 5)", aceMinFov_changed, aceFovRange.min, 5, 100);

        aceMinFov_changed += aceMaxFov_Setting;
        settings.CreateCustomLabel("Maximum FOV:");
        settings.CreateFloatSetting("(Default = 60)", aceMaxFov_changed, aceFovRange.max, 5, 100);

        acePosLerp_changed += acePosLerp_Setting;
        settings.CreateCustomLabel("Position Lerp:");
        settings.CreateFloatSetting("(Default = 5)", acePosLerp_changed, acePosLerp, 0, 100);

        aceRotLerp_changed += aceRotLerp_Setting;
        settings.CreateCustomLabel("Rotation Lerp:");
        settings.CreateFloatSetting("(Default = 5)", aceRotLerp_changed, aceRotLerp, 0, 100);

        aceZoomLead_changed += aceZoomLead_Setting;
        settings.CreateCustomLabel("Zoom Lead (in secconds):");
        settings.CreateFloatSetting("(Default = 2)", aceZoomLead_changed, aceZoomLead, 0, 10);

        aceZoomLerp_changed += aceZoomLerp_Setting;
        settings.CreateCustomLabel("Zoom Lerp:");
        settings.CreateFloatSetting("(Default = 0.5f)", aceZoomLerp_changed, aceZoomLerp, 0, 100);

        settings.CreateCustomLabel("");

        settings.CreateCustomLabel("Please feel free to @ me on the discord if");
        settings.CreateCustomLabel("you think of any more features I could add!");
        VTOLAPI.CreateSettingsMenu(settings);

        AddNewCameraMode(new CameraMode_AceCombat("ace", "AceCombat"));
        AddNewCameraMode(new CameraMode_TGP("tgp", "TGP"));
        AddNewCameraMode(new CameraMode_SmoothTGP("smoothTgp", "SmoothTGP"));
        AddNewCameraMode(new CameraMode_HUD("hud", "HUD"));
        AddNewCameraMode(new CameraMode_ExtCam("ext", "ExtCam"));
        AddNewCameraMode(new CameraMode_FreeCam("free", "FreeCam"));
        AddNewCameraMode(new CameraMode_SmoothZoom("zoom", "SmoothZoom"));
    }
    public override void ModLoaded()
    {
        HarmonyInstance harmony = HarmonyInstance.Create("cheese.cheesesAITweaks");

        harmony.PatchAll(Assembly.GetExecutingAssembly());

        Debug.Log("Patched the AI");

        instance = this;

        base.ModLoaded();
        VTOLAPI.SceneLoaded     += SceneLoaded;
        VTOLAPI.MissionReloaded += MissionReloaded;

        apToHelper = new Dictionary <AutoPilot, CheeseAIHelper>();
        aiToHelper = new Dictionary <AIPilot, CheeseAIHelper>();

        settings = new CheesesAISettings();
        LoadFromFile();

        StartCoroutine(LoadAssetBundle());

        Settings modSettings = new Settings(this);

        modSettings.CreateCustomLabel("Cheese's AI Tweaks Settings");

        modSettings.CreateCustomLabel("");

        modSettings.CreateCustomLabel("Control Noise Settings");
        modSettings.CreateCustomLabel("The control noise adds random noise to the AIs inputs, to make them seem more human");

        controlNoiseEnabled_changed += controlNoiseEnabled_Setting;
        modSettings.CreateCustomLabel("Control Noise Enabled:");
        modSettings.CreateBoolSetting("(Default = true)", controlNoiseEnabled_changed, settings.controlNoiseEnabled);

        controlNoiseIntensity_changed += controlNoiseIntensity_Setting;
        modSettings.CreateCustomLabel("Control Noise Intensity:");
        modSettings.CreateCustomLabel("This is the size of the noise added to the inputs");
        modSettings.CreateFloatSetting("(Default = 5%)", controlNoiseIntensity_changed, settings.controlNoiseIntensity * 100, 0, 100);

        controlNoiseFrequency_changed += controlNoiseFrequency_Setting;
        modSettings.CreateCustomLabel("Control Noise Frequency:");
        modSettings.CreateCustomLabel("This is the frequency at which the noise changes");
        modSettings.CreateFloatSetting("(Default = 2)", controlNoiseFrequency_changed, settings.controlNoiseFrequency, 1, 60);

        controlNoiseLargeAircraftFrequency_changed += controlNoiseLargeAircraftFrequency_Setting;
        modSettings.CreateCustomLabel("Control Noise Frequency:");
        modSettings.CreateCustomLabel("This is the frequency at which the noise changes for large aircraft");
        modSettings.CreateFloatSetting("(Default = 5)", controlNoiseLargeAircraftFrequency_changed, settings.controlNoiseLargeAircraftFrequency, 0, 60);

        controlNoiseLayers_changed += controlNoiseLayers_Setting;
        modSettings.CreateCustomLabel("Control Noise Layers:");
        modSettings.CreateCustomLabel("This is the ammount of perlin noise layers used to create the noise");
        modSettings.CreateIntSetting("(Default = 3)", controlNoiseLayers_changed, settings.controlNoiseLayers, 0, 5);

        allowRefuelingNoise_changed += allowRefuelingNoise_Setting;
        modSettings.CreateCustomLabel("Allow noise when refueling another aircraft:");
        modSettings.CreateCustomLabel("Makes air to air refueling much harder");
        modSettings.CreateBoolSetting("(Default = false)", allowRefuelingNoise_changed, settings.allowRefuelingNoise);

        /*formationDriftIntensity_changed += formationDriftIntensity_Setting;
         * modSettings.CreateCustomLabel("Formation Drift Intensity:");
         * modSettings.CreateCustomLabel("This is the radius the aircraft can drift from its target");
         * modSettings.CreateFloatSetting("(Default = 3m)", formationDriftIntensity_changed, settings.formationDriftIntensity, 0, 10);
         *
         * formationDriftFrequency_changed += formationDriftFrequency_Setting;
         * modSettings.CreateCustomLabel("Formation Drift Frequency:");
         * modSettings.CreateCustomLabel("This is the frequency at which the aircraft drifts in formation");
         * modSettings.CreateFloatSetting("(Default = 5)", formationDriftFrequency_changed, settings.formationDriftFrequency, 1, 60);*/

        modSettings.CreateCustomLabel("");


        rockWingsOnContact_changed += rockWingsOnContact_Setting;
        modSettings.CreateCustomLabel("Rock wings on contact:");
        modSettings.CreateBoolSetting("(Default = true)", rockWingsOnContact_changed, settings.rockWingsOnContact);

        modSettings.CreateCustomLabel("");


        dropTankMode_changed += dropTankMode_Setting;
        modSettings.CreateCustomLabel("Drop Tank Mode:");
        modSettings.CreateIntSetting("(Default = 0)", dropTankMode_changed, (int)settings.dropTankMode, 0, 1);
        modSettings.CreateCustomLabel("0 = Normal (Only drop when empty)");
        modSettings.CreateCustomLabel("1 = Drop On Contact");

        modSettings.CreateCustomLabel("");


        enemyEjectorSeats_changed += enemyEjectorSeats_Setting;
        modSettings.CreateCustomLabel("Enemy Aircraft Ejector Seats:");
        modSettings.CreateBoolSetting("(Default = true)", enemyEjectorSeats_changed, settings.enemyEjectorSeats);

        modSettings.CreateCustomLabel("");


        collisionMode_changed += collisionMode_Setting;
        modSettings.CreateCustomLabel("Collsion Mode:");
        modSettings.CreateIntSetting("(Default = 0)", collisionMode_changed, (int)settings.collisionMode, 0, 2);
        modSettings.CreateCustomLabel("0 = Normal");
        modSettings.CreateCustomLabel("1 = Always On");
        modSettings.CreateCustomLabel("2 = Always Off");

        modSettings.CreateCustomLabel("");

        modSettings.CreateCustomLabel("AI aircraft don't have collisions on the ground normally,");
        modSettings.CreateCustomLabel("You can enable them, but the AI could get stuck");
        modSettings.CreateCustomLabel("on missions with many taxiing aircraft");

        modSettings.CreateCustomLabel("");
        modSettings.CreateCustomLabel("Detection Settings");

        allAICanEvade_changed += allAICanEvade_Setting;
        modSettings.CreateCustomLabel("All AI can evade:");
        modSettings.CreateCustomLabel("AWACS and the KC-49 cannot normaly evade missiles");
        modSettings.CreateBoolSetting("(Default = true)", allAICanEvade_changed, settings.allAICanEvade);

        //rockShips_changed += rockShips_Setting;
        //modSettings.CreateCustomLabel("Rock Ships:");
        //modSettings.CreateCustomLabel("Should ships be rocked by the wind?");
        //modSettings.CreateBoolSetting("(Default = true)", rockShips_changed, settings.rockShips);

        //windSpeed_changed += windSpeed_Setting;
        //modSettings.CreateCustomLabel("Wind Speed (kts):");
        //modSettings.CreateCustomLabel("This is the windspeed used to work out how much to rock the ships");
        //modSettings.CreateFloatSetting("(Default = 50kts)", windSpeed_changed, settings.windSpeed, 0f, 100f);

        /*
         * tweakTargetFinders_changed += tweakTargetFinders_Setting;
         * modSettings.CreateCustomLabel("Tweak Visual Target Finders:");
         * modSettings.CreateBoolSetting("(Default = true)", tweakTargetFinders_changed, settings.tweakTargetFinders);
         */

        modSettings.CreateCustomLabel("");

        modSettings.CreateCustomLabel("Joke Settings");

        modSettings.CreateCustomLabel("");

        eyes_changed += eyes_Setting;
        modSettings.CreateCustomLabel("Googly Eyes:");
        modSettings.CreateCustomLabel("Adds googly eyes to various AI units");
        modSettings.CreateBoolSetting("(Default = false)", eyes_changed, settings.eyes);

        invertedAI_changed += invertedAI_Setting;
        modSettings.CreateCustomLabel("Inverted AI:");
        modSettings.CreateCustomLabel("Causes the AI to fly upside down");
        modSettings.CreateBoolSetting("(Default = false)", invertedAI_changed, settings.invertedAI);

        modSettings.CreateCustomLabel("");

        modSettings.CreateCustomLabel("Please feel free to @ me on the discord if");
        modSettings.CreateCustomLabel("you think of any more features I could add!");
        VTOLAPI.CreateSettingsMenu(modSettings);
    }
    public override void ModLoaded()
    {
        HarmonyInstance harmony = HarmonyInstance.Create("cheese.airtraffic");

        harmony.PatchAll(Assembly.GetExecutingAssembly());

        base.ModLoaded();
        VTOLAPI.SceneLoaded     += SceneLoaded;
        VTOLAPI.MissionReloaded += MissionReloaded;

        settings = new AirTrafficSettings();
        LoadFromFile();

        Settings modSettings = new Settings(this);

        modSettings.CreateCustomLabel("Air Traffic Settings");

        modSettings.CreateCustomLabel("");
        modSettings.CreateCustomLabel("Transport Aircraft");

        targetAircraftAmmount_changed += targetAircraftAmmount_Setting;
        modSettings.CreateCustomLabel("Ammount of transport aircraft:");
        modSettings.CreateIntSetting("(Default = 15)", targetAircraftAmmount_changed, settings.targetAircraftAmmount);

        useTransportAV42_changed += useTransportAV42_Setting;
        modSettings.CreateCustomLabel("Allow AV-42 to spawn as transport:");
        modSettings.CreateBoolSetting("(Default = true)", useTransportAV42_changed, settings.useTransportAV42);

        useTransportBig_changed += useTransportBig_Setting;
        modSettings.CreateCustomLabel("Allow big aircraft to spawn as transport:");
        modSettings.CreateCustomLabel("(Modified KC-49 and E-4)");
        modSettings.CreateBoolSetting("(Default = true)", useTransportBig_changed, settings.useTransportBig);

        useTransportDrone_changed += useTransportDrone_Setting;
        modSettings.CreateCustomLabel("Allow amazoon drone to spawn as transport:");
        modSettings.CreateCustomLabel("(Modified refuel plane)");
        modSettings.CreateBoolSetting("(Default = true)", useTransportDrone_changed, settings.useTransportDrone);

        useFighters_changed += useFighters_Setting;
        modSettings.CreateCustomLabel("Allow fighter jets to spawn as transport:");
        modSettings.CreateCustomLabel("(F/A-26 and F45s)");
        modSettings.CreateBoolSetting("(Default = true)", useFighters_changed, settings.useFighters);

        useBomber_changed += useBomber_Setting;
        modSettings.CreateCustomLabel("Allow bombers to spawn as supersonic transport:");
        modSettings.CreateBoolSetting("(Default = true)", useBomber_changed, settings.useBomber);

        useBomber_changed += useBomber_Setting;
        modSettings.CreateCustomLabel("Allow enemy aircraft to spawn as transport:");
        modSettings.CreateBoolSetting("(Default = true)", useEnemy_changed, settings.useEnemy);

        mpTestMode_changed += mpTestMode_Setting;
        modSettings.CreateCustomLabel("MP Test Mode:");
        modSettings.CreateBoolSetting("(Default = false)", mpTestMode_changed, settings.mpTestMode);
        modSettings.CreateCustomLabel("This spreads the aircraft across the entire map instead of just near the player.");
        modSettings.CreateCustomLabel("DO NOT USE, IT IS NOT NECESSARY FOR MP");

        modSettings.CreateCustomLabel("");
        modSettings.CreateCustomLabel("Please feel free to @ me on the discord if");
        modSettings.CreateCustomLabel("you think of any more features I could add!");

        VTOLAPI.CreateSettingsMenu(modSettings);

        instance = this;

        UpdateTransportAircraft();
    }