<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Celeste.Mod.mm</name>
    </assembly>
    <members>
        <member name="T:Celeste.Mod.Backdrops.CustomBackdropAttribute">
            <summary>
            Marks this backdrop as a Custom <see cref="T:Celeste.Backdrop"/>.
            <br></br>
            This Backdrop will be loaded when a matching ID is detected.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Backdrops.CustomBackdropAttribute.IDs">
            <summary>
            A list of unique identifiers for this Backdrop.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Backdrops.CustomBackdropAttribute.#ctor(System.String[])">
            <summary>
            Marks this backdrop as a Custom <see cref="T:Celeste.Backdrop"/>.
            </summary>
            <param name="ids">A list of unique identifiers for this Backdrop.</param>
        </member>
        <member name="T:Celeste.Mod.Core.CoreModule">
            <summary>
            The Everest core module class. Feel free to access the core module settings from your own mod.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Core.CoreModuleSettings.AllowDistort">
            <summary>
            Whether a distortion effect should be rendered, respecting Everest's photosensitivity setting overrides.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Core.CoreModuleSettings.AllowGlitch">
            <summary>
            Whether a glitch effect should be rendered, respecting Everest's photosensitivity setting overrides.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Core.CoreModuleSettings.AllowLightning">
            <summary>
            Whether lightning should have internal flashes, respecting Everest's photosensitivity setting overrides.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Core.CoreModuleSettings.AllowScreenFlash">
            <summary>
            Whether to render a screenwide flash, respecting Everest's photosensitivity setting overrides.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Core.CoreModuleSettings.AllowTextHighlight">
            <summary>
            Whether text in menus should flash when selected, respecting Everest's photosensitivity setting overrides.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.AmbienceTrigger">
             <summary>
             A trigger to change the current ambience track.
            
             Attributes:
             - `track`: the audio event to set the ambience to
             - `resetOnLeave`: if true, remembers what the ambience was before entering the trigger, and restores it after leaving
             </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.AmbienceVolumeTrigger">
            <summary>
            A trigger to change the volume of the current ambience track.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.BadelineOldsiteEnd">
            <summary>
            Custom "end zone" for BadelineOldsite in custom levels.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnStart">
            <summary>
            Called by <see cref="M:Celeste.Level.LoadLevel(Celeste.Player.IntroTypes,System.Boolean)"/> when loading a room.
            The parameter indicates whether this component will be the active one.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnFinish">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.StopBlocks"/> after collecting a cassette.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnWillActivate">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetWillActivate(System.Int32)"/> if <see cref="F:Celeste.Mod.Entities.CassetteListener.Index"/> is about to become current.
            For a <see cref="T:Celeste.CassetteBlock"/>, this is represented by a non-collidable block moving one pixel up.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnWillDeactivate">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetWillActivate(System.Int32)"/> if <see cref="F:Celeste.Mod.Entities.CassetteListener.Index"/> is about to no longer be current.
            For a <see cref="T:Celeste.CassetteBlock"/>, this is represented by a collidable block moving one pixel down.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnActivated">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetActiveIndex(System.Int32)"/> if <see cref="F:Celeste.Mod.Entities.CassetteListener.Activated"/> was changed from false to true.
            For a <see cref="T:Celeste.CassetteBlock"/>, this is represented by the block becoming collidable.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.OnDeactivated">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetActiveIndex(System.Int32)"/> if <see cref="F:Celeste.Mod.Entities.CassetteListener.Activated"/> was changed from true to false.
            For a <see cref="T:Celeste.CassetteBlock"/>, this is represented by the block becoming non-collidable.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.Index">
            <summary>
            Matches the functionality of <see cref="F:Celeste.CassetteBlock.Index"/>.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.Activated">
            <summary>
            Matches the functionality of <see cref="F:Celeste.CassetteBlock.Activated"/>.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.Mode">
            <summary>
            Matches the functionality of <see cref="F:Celeste.CassetteBlock.Mode"/>.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.ID">
            <summary>
            Matches the functionality of <see cref="F:Celeste.CassetteBlock.ID"/>.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CassetteListener.Tempo">
            <summary>
            Matches the functionality of <see cref="F:Celeste.CassetteBlock.Tempo"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CassetteListener.SetActivated(System.Boolean)">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetActiveIndex(System.Int32)"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CassetteListener.Start(System.Boolean)">
            <summary>
            Called by <see cref="!:CassetteBlockManager.SilentUpdateBlocks"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CassetteListener.Finish">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.StopBlocks"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CassetteListener.WillToggle">
            <summary>
            Called by <see cref="M:Celeste.CassetteBlockManager.SetWillActivate(System.Int32)"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomBirdTutorial.TriggerShowTutorial">
            <summary>
            Makes the tutorial bubble show up.
            Called automatically if no Custom Tutorial Bird Trigger that would make the tutorial bubble show up is present in the room.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomBirdTutorial.TriggerHideTutorial">
            <summary>
            Makes the tutorial bubble disappear and the bird fly away.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomBirdTutorial.FindById(Celeste.Level,System.String)">
            <summary>
            Helper method to find a custom bird tutorial in a scene by bird ID.
            Note that if only 1 bird is on screen, you can use level.Tracker.GetEntity&lt;CustomBirdTutorial>() instead.
            </summary>
            <param name="level">The level to search in</param>
            <param name="birdId">The ID of the bird to look for</param>
            <returns>The custom bird tutorial matching this ID, or null if none was found.</returns>
        </member>
        <member name="T:Celeste.Mod.Entities.CustomCoreMessage">
            <summary>
            Based on CoreMessage, to be used by custom maps.
            
            Checks for the following new attributes:
            - `string dialog` (default: `app_ending`)
            - `bool outline` (default: `false`)
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.CustomEntityAttribute">
            <summary>
            Mark this entity as a Custom <see cref="T:Monocle.Entity"/> or <see cref="T:Celeste.Trigger"/>.
            <br></br>
            This Entity will be loaded when a matching ID is detected.
            <br></br>
            <seealso href="https://github.com/EverestAPI/Resources/wiki/Custom-Entities-and-Triggers#customentity">Read More.</seealso>
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CustomEntityAttribute.IDs">
            <summary>
            A list of unique identifiers for this Entity.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomEntityAttribute.#ctor(System.String[])">
            <summary>
            Mark this entity as a Custom <see cref="T:Monocle.Entity"/> or <see cref="T:Celeste.Trigger"/>.
            </summary>
            <param name="ids">A list of unique identifiers for this Entity.</param>
        </member>
        <member name="T:Celeste.Mod.Entities.CustomEventAttribute">
            <summary>
            Mark this entity as a Custom <see cref="T:Celeste.CutsceneEntity"/> or other Event <see cref="T:Monocle.Entity"/>.
            <br></br>
            This Entity will be added when a matching Event ID is triggered.
            <br></br>
            <seealso href="https://github.com/EverestAPI/Resources/wiki/Creating-Custom-Events#customevent-attribute">Read More.</seealso>
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.CustomEventAttribute.IDs">
            <summary>
            A list of unique identifiers for this Event.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomEventAttribute.#ctor(System.String[])">
            <summary>
            Mark this entity as a Custom <see cref="T:Celeste.CutsceneEntity"/> or other Event <see cref="T:Monocle.Entity"/>.
            </summary>
            <param name="ids">A list of unique identifiers for this Event.</param>
        </member>
        <member name="M:Celeste.Mod.Entities.CustomHeightDisplay.#ctor(System.String,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary></summary>
            <param name="dialog">Dialog ID, replaces first occurence of "{X}" with the counter.</param>
            <param name="target">Target for the counter.</param>
            <param name="from">Counter start.</param>
            <param name="progressAudio">Whether to increment audio progression.</param>
            <param name="displayOnTransition"></param>
        </member>
        <member name="T:Celeste.Mod.Entities.CustomMemorial">
            <summary>
            Based on Memorial, to be used by custom maps.
            
            Checks for the following new attributes:
            - `string dialog` (default: `memorial`)
            - `string sprite` (default: `scenery/memorial/memorial`)
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.CustomMemorialText">
            <summary>
            Based on MemorialText, spawned by CustomMemorial.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.EntityCollider`1">
            <summary>
            Allows for collision with any type in the game, similar to a <see cref="T:Celeste.PlayerCollider"/> or <see cref="T:Celeste.PufferCollider"/>,
            but on all objects of type <typeparamref name="T"/>.<br/>
            Performs the <see cref="T:System.Action`1"/> provided on collision. 
            </summary>
            <typeparam name="T">The specific type of <see cref="T:Monocle.Entity"/> this <see cref="T:Celeste.Mod.Entities.EntityCollider`1"/> should try to collide with.</typeparam>
        </member>
        <member name="F:Celeste.Mod.Entities.EntityCollider`1.OnEntityAction">
            <summary>
            The <see cref="T:System.Action`1"/> invoked on collision, with the object collided with passed as a parameter
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.EntityColliderByComponent`1">
            <summary>
            Allows for collision with any type in the game, similar to a <see cref="T:Celeste.PlayerCollider"/> or <see cref="T:Celeste.PufferCollider"/>,
            but on all objects of type <typeparamref name="T"/>.<br/>
            Performs the <see cref="T:System.Action`1"/> provided on collision. 
            Collision is done by <see cref="T:Monocle.Component"/>, as in,
            it will get all the components of type <typeparamref name="T"/> and try to collide with their entities.
            </summary>
            <typeparam name="T">The specific type of <see cref="T:Monocle.Component"/> this <see cref="T:Celeste.Mod.Entities.EntityColliderByComponent`1"/> should try to collide with.</typeparam>
        </member>
        <member name="F:Celeste.Mod.Entities.EntityColliderByComponent`1.OnComponentAction">
            <summary>
            The <see cref="T:System.Action`1"/> invoked on collision, with the object collided with passed as a parameter
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.EntityRemovedListener">
            <summary>
            Allows for defining an Action to take when an Entity is removed.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.EntityRemovedListener.OnEntityRemoved">
            <summary>
            Called when this Entity is removed from the scene.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.EntityRemovedListener.#ctor(System.Action)">
            <summary>
            Create a new EntityRemovedListener component.
            </summary>
            <param name="onEntityRemoved">Called when this Entity is removed from the scene.</param>
        </member>
        <member name="M:Celeste.Mod.Entities.EntityTrigger.ManuallyTrigger(Microsoft.Xna.Framework.Vector2)">
            <summary>
            Trigger all <see cref="T:Celeste.Mod.Entities.EntityTrigger"/>s that have <paramref name="point"/> within their range.
            </summary>
            <param name="point"></param>
        </member>
        <member name="T:Celeste.Mod.Entities.EntityTriggerListener">
            <summary>
            Allows an Entity to be triggered using an EntityTrigger.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.EntityTriggerListener.OnTrigger">
            <summary>
            Called when the Player enters an EntityTrigger that has this entity in its range.<br></br>
            May be called more than once if multiple EntityTriggers are present.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.EntityTriggerListener.OnStartTriggered">
            <summary>
            Called if a persistent EntityTrigger that has this entity in its range has its flag already set.<br></br>
            May be called more than once if multiple EntityTriggers are present.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.EntityTriggerListener.#ctor(System.Action,System.Action)">
            <summary>
            Create a new EntityTriggerListener component.
            </summary>
            <param name="onTrigger">Called when the Player enters an EntityTrigger that has this entity in its range.<br></br>
            May be called more than once if multiple EntityTriggers are present.</param>
            <param name="onStartTriggered">Called if a persistent EntityTrigger that has this entity in its range has its flag already set.<br></br>
            May be called more than once if multiple EntityTriggers are present.</param>
        </member>
        <member name="T:Celeste.Mod.Entities.FlagTrigger">
            <summary>
            A general purpose flag setting trigger, to be used by custom maps.
            
            Checks for the following new attributes:
            - `string flag`
            - `bool state`
            - `Modes mode` (default: `OnPlayerEnter`; available: `OnPlayerEnter, OnPlayerLeave, OnLevelStart`)
            - `bool only_once` (default: `false`)
            - `int death_count` (default: `-1`)
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.MusicLayerTrigger">
            <summary>
            A trigger allowing turning on or off specific music layers.
            
            Attributes:
            - `layers`: the list of layers to modify, comma-separated (for example `1,3,4`)
            - `enable`: true to enable the specified layers, false to disable them.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.RegisterStrawberryAttribute">
            <summary>
            Adds this <see cref="T:Celeste.Strawberry"/> or <see cref="T:Celeste.Mod.IStrawberry"/> to the <see cref="T:Celeste.Mod.StrawberryRegistry"/>,
            <br></br>
            and allows it to be taken into account correctly in the total strawberry count.
            <br></br>
            <see href="https://github.com/EverestAPI/Resources/wiki/Custom-Entities-and-Triggers#registerstrawberry">Read More.</see>
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.RegisterStrawberryAttribute.isTracked">
            <summary>
            Whether the berry should be counted in the maximum berry count. 
            </summary>
        </member>
        <member name="F:Celeste.Mod.Entities.RegisterStrawberryAttribute.blocksNormalCollection">
            <summary>
            Whether the berry has specific collection rules.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Entities.RegisterStrawberryAttribute.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Adds this <see cref="T:Celeste.Strawberry"/> or <see cref="T:Celeste.Mod.IStrawberry"/> to the <see cref="T:Celeste.Mod.StrawberryRegistry"/>.
            </summary>
            <param name="tracked">Whether the berry should be counted in the maximum berry count. </param>
            <param name="blocksCollection">Whether the berry has specific collection rules.</param>
        </member>
        <member name="T:Celeste.Mod.Entities.SmoothCameraOffsetTrigger">
            <summary>
            A Camera Offset Trigger lerping the offset depending on the player position.
            
            Attributes:
            - `offsetXFrom` / `offsetYFrom`: offset to fade from
            - `offsetXTo` / `offsetYTo`: offset to fade to
            - `positionMode`: fade direction
            - `onlyOnce`: enable to have the trigger remove itself when the player leaves it.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.SpaceControllerBlocker">
            <summary>
            Semi-internal entity that removes any existing SpaceControllers.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.TimeRateModifier">
            <summary>
            Allows an entity to apply a multiplier to the time rate without causing conflicts.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Entities.TriggerSpikesOriginal">
            <summary>
            Based on TriggerSpikes, to be used by custom maps.
            
            TriggerSpikes with the original spike graphics.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Everest.Events">
            <summary>
            Events that are called at various points in the game.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.CustomBirdTutorial.OnParseCommand">
            <summary>
            Allows you to convert commands into arbitrary textures, arrows, bindings, and text.
            <example>
            Usage example:
            <code>
            Everest.Events.CustomBirdTutorial.OnParseCommand += (string command) => {
                // this method can return:
                // - a MTexture => displays that texture
                if (command == "StrawberryIcon") {
                    return GFX.Gui["collectables/strawberry"];
                }
                // - a Vector2 representing a direction (x, y) => displays an arrow
                if (command == "DownLeft") {
                    return new Vector2(-1, 1);
                }
                // - a ButtonBinding or VirtualButton => displays the button it is set to (useful for custom bindings)
                if (command == "RandomBinding") {
                    return (_Settings as MaxHelpingHandModuleSettings).RandomBinding;
                }
                // - a string => displays that text
                if (command == "SayHi") {
                    return "Hi!";
                }
                // if your mod doesn't recognize the command, return null to let other mods / Everest handle it instead.
                return null;
            }
            </code>
            </example>
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Everest.OnLoadMod">
            <summary>
            Called when a mod finishes loading.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Everest.OnRegisterModule">
            <summary>
            Called when a mod is registered.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.AssetReload.OnBeforeReload">
            <summary>
            Called before/after reloading assets.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.AssetReload.OnAfterReload">
            <summary>
            Called before/after reloading assets.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.AssetReload.OnBeforeNextReload">
            <summary>
            Called before/after reloading assets.
            Any subscriptions to this event will be cleared after being called once.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.AssetReload.OnAfterNextReload">
            <summary>
            Called before/after reloading assets.
            Any subscriptions to this event will be cleared after being called once.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Events.AssetReload.OnReloadLevel">
            <summary>
            Called right at the start of reloading a level.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Events.AssetReload.OnReloadAllMaps">
            <summary>
            Called right at the start of reloading all maps.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.OnCriticalError">
            <summary>
            Called when a critical error occurs.
            Any errors thrown by subscribers to this event are handled and don't cause additional critical error handler invocations.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.SubHudRenderer.OnBeforeRender">
            <summary>
            Called at the beginning of <see cref="M:Celeste.Mod.UI.SubHudRenderer.BeforeRender(Monocle.Scene)"/>.
            Note that this happens before clearing and drawing to the buffer, if applicable.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.AngryOshiro.OnRegisterStates">
            <summary>
            Called in the AngryOshiro constructor during <see cref="T:Monocle.StateMachine"/> initialisation, to be used to register custom AngryOshiro states.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Celeste.OnExiting">
            <summary>
            Called after the main gameloop has finished running.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Celeste.OnShutdown">
            <summary>
            Called just before the Main method exits.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Celeste.OnSceneTransition">
            <summary>
            Called when the current <see cref="T:Monocle.Scene"/> (<c>Engine.Scene</c>) is changed.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Decal.OnHandleDecalRegistry">
            <summary>
            Called by <see cref="M:Celeste.Decal.Added(Monocle.Scene)"/>, so that custom decal registry properties can be applied.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.EventTrigger.OnEventTrigger">
            <summary>
            Allows registering custom events without needing to predefine their IDs.
            Return <c>true</c> to indicate that you will handle this event trigger activation, and <c>false</c> otherwise.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.GameLoader.OnLoadThread">
            <summary>
            Called at the end of the game loading thread, <see cref="M:Celeste.Mod.Everest.Events.GameLoader.LoadThread"/>.<br/>
            In particular, it is called just before stopping the load timer and setting <c>loaded = true</c>.
            This event is invoked <b>only once</b>, when starting the game.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Input.OnInitialize">
            <summary>
            Called by <see cref="M:Celeste.patch_Input.Initialize"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Input.OnDeregister">
            <summary>
            Called by <see cref="M:Celeste.patch_Input.Deregister"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnPause">
            <summary>
            Called after <see cref="M:Celeste.Level.Pause(System.Int32,System.Boolean,System.Boolean)"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnUnpause">
            <summary>
            Called after unpausing the Level.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnCreatePauseMenuButtons">
            <summary>
            Called when the Level's pause menu is created.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnTransitionTo">
            <summary>
            Called after <see cref="M:Celeste.Level.TransitionTo(Celeste.LevelData,Microsoft.Xna.Framework.Vector2)"/>
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnLoadEntity">
            <summary>
            Called during <see cref="M:Celeste.patch_Level.LoadCustomEntity(Celeste.EntityData,Celeste.Level)"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnLoadLevel">
            <summary>
            Called after <see cref="M:Celeste.Level.LoadLevel(Celeste.Player.IntroTypes,System.Boolean)"/>.<br/>
            This event is invoked <b>every time</b> a room is entered - transition, respawn, teleport, etc.
            </summary>
            <seealso cref="E:Celeste.Mod.Everest.Events.LevelLoader.OnLoadingThread"/>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnComplete">
            <summary>
            Called at the end of <see cref="M:Celeste.Level.RegisterAreaComplete"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnBeforeUpdate">
            <summary>
            Called at the very beginning of <see cref="M:Celeste.Level.Update"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnAfterUpdate">
            <summary>
            Called at the very end of <see cref="M:Celeste.Level.Update"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnEnter">
            <summary>
            Called at the end of <see cref="M:Celeste.patch_LevelEnter.Go(Celeste.Session,System.Boolean)"/>, provided no error occurred.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnExit">
            <summary>
            Called at the end of <see cref="M:Celeste.patch_LevelExit.ctor(Celeste.LevelExit.Mode,Celeste.Session,Celeste.HiresSnow)"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Level.OnLoadBackdrop">
            <summary>
            Allows providing custom backdrops without making use of the CustomBackdrop attribute.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.LevelEnter.OnPlayVignette">
            <summary>
            Called at the beginning of <see cref="!:_LevelEnter.PlayCustomVignette()"/>.<br/>
            Invoked when entering a map, before instantiating and setting the next scene.<br/>
            Should return the next scene to set if some conditions are met, or null otherwise.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.LevelLoader.OnLoadingThread">
            <summary>
            Called at the end of the map loading thread, <see cref="!:_LevelLoader.LoadingThread()"/>.<br/>
            This event is invoked <b>only once</b>, when entering a map from the chapter select screen or from Save and Quit.
            </summary>
            <seealso cref="E:Celeste.Mod.Everest.Events.Level.OnLoadLevel"/>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Atlas.OnGetCustomFallback">
            <summary>
            Called when getting a single texture by ID, when that texture isn't found.
            If you return an MTexture, it will be used as if it was found in the atlas.<br/>
            Note that returning an MTexture here suppresses the missing texture warning; if you want both, you must log the warning yourself.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.FileSelectSlot.OnCreateButtons">
             <summary>
             Allows creating additional buttons for a file select slot.<br/>
             If a mod subscribes to this event, its savedata for the given slot will be loaded and provided to the delegate.
             <example>
             Usage example:
             <code>
             Everest.Events.FileSelectSlot.OnCreateButtons += (buttons, slot, saveData, fileExists) => {
               // add a simple toggle button for an option in mod save data (SilhouetteEnabled)
               OuiFileSelectSlot.Button button = new OuiFileSelectSlot.Button {
                 Label = $"Silhouette Mode: {(saveData as MyModuleSaveData).SilhouetteEnabled}",
                 Scale = 0.7f
               };
               button.Action = () => {
                 (saveData as MyModuleSaveData).SilhouetteEnabled = !(saveData as MyModuleSaveData).SilhouetteEnabled;
                 button.Label = $"Silhouette Mode: {(saveData as MyModuleSaveData).SilhouetteEnabled}";
               };
               buttons.Add(button);
            
               // add a button opening a OuiFileSelectSlotSubmenu
               buttons.Add(new OuiFileSelectSlot.Button {
                 Label = $"Silhouette Mode Options",
                 Scale = 0.7f,
                 Action = () => OuiFileSelectSlotSubmenu.Goto&lt;OuiSilhouetteModeOptions&gt;(slot, saveData, fileExists)
               });
             }
             </code>
             </example>
             <example>
             Submenu implementation example:
             <code>
             using Celeste.Mod.UI;
            
             namespace Celeste.Mod.MyMod {
               class OuiSilhouetteModeOptions : OuiFileSelectSlotSubmenu {
                 public override string MenuName => "SILHOUETTE MODE OPTIONS";
            
                 protected override void addOptionsToMenu(TextMenu menu, OuiFileSelectSlot slot, EverestModuleSaveData modSaveData, bool fileExists) {
                   MyModuleSaveDatacastSaveData = (modSaveData as MyModuleSaveData);
            
                   menu.Add(new TextMenu.SubHeader("Toggle"));
                   menu.Add(new TextMenu.OnOff("Enabled", castSaveData.SilhouetteEnabled).Change(newValue => castSaveData.SilhouetteEnabled = newValue));
                 }
               }
             }
             </code>
             </example>
             </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Journal.OnEnter">
            <summary>
            Called by <see cref="M:Celeste.patch_OuiJournal.Enter(Celeste.Oui)"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.MainMenu.OnCreateButtons">
            <summary>
            Called after <see cref="M:Celeste.OuiMainMenu.CreateButtons"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnSpawn">
            <summary>
            Called at the end of <see cref="M:Celeste.Player.Added(Monocle.Scene)"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnDie">
            <summary>
            Called in <see cref="M:Celeste.Player.Die(Microsoft.Xna.Framework.Vector2,System.Boolean,System.Boolean)"/>, only if a PlayerDeadBody will be returned from the method.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnPauseInGBJ">
             <summary>
             Called in <see cref="M:Celeste.Player.Die(Microsoft.Xna.Framework.Vector2,System.Boolean,System.Boolean)"/>, just before pausing the game as a softlock prevention measure.
             By returning <c>true</c> you can prevent the pause (and cancel invocation of this event).
            
             Intended to be used when <see cref="F:Celeste.Level.PauseLock"/> is enabled during normal gameplay where the player might die.
             </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnRegisterStates">
            <summary>
            Called in the Player constructor during <see cref="T:Monocle.StateMachine"/> initialisation, to be used to register custom Player states.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnBeforeUpdate">
            <summary>
            Called at the very beginning of <see cref="M:Celeste.Player.Update"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Player.OnAfterUpdate">
            <summary>
            Called at the very end of <see cref="M:Celeste.Player.Update"/>.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Seeker.OnRegisterStates">
            <summary>
            Called in the Seeker constructor during <see cref="T:Monocle.StateMachine"/> initialisation, to be used to register custom Seeker states.
            </summary>
        </member>
        <member name="E:Celeste.Mod.Everest.Events.Session.OnSliderChanged">
            <summary>
            Called whenever a <see cref="T:Celeste.patch_Session.Slider"/>'s value changes'.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Content.DumpOnLoad">
            <summary>
            Whether or not Everest should dump all game assets into a user-friendly format on load (technically on Process).
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Content.PathContentOrig">
            <summary>
            The path to the original /Content directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Content.PathDUMP">
            <summary>
            The path to the Everest /ModDUMP directory.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Content.Mods">
            <summary>
            List of all currently loaded content mods.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Content.Map">
            <summary>
            Mod content mapping. Use Everest.Content.Add, Get, and TryGet where applicable instead.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.TryGet(System.String,Celeste.Mod.ModAsset@,System.Boolean)">
            <summary>
            Gets the ModAsset mapped to the given relative path.
            </summary>
            <param name="path">The relative asset path.</param>
            <param name="metadata">The resulting mod asset meta object.</param>
            <param name="includeDirs">Whether to include directories or not.</param>
            <returns>True if a mapping for the given path is present, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.Get(System.String,System.Boolean)">
            <summary>
            Gets the ModAsset mapped to the given relative path.
            </summary>
            <param name="path">The relative asset path.</param>
            <param name="includeDirs">Whether to include directories or not.</param>
            <returns>The resulting mod asset meta object, or null.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.TryGet``1(System.String,Celeste.Mod.ModAsset@,System.Boolean)">
            <summary>
            Gets the ModAsset mapped to the given relative path.
            </summary>
            <param name="path">The relative asset path.</param>
            <param name="metadata">The resulting mod asset meta object.</param>
            <param name="includeDirs">Whether to include directories or not.</param>
            <returns>True if a mapping for the given path is present, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.Get``1(System.String,System.Boolean)">
            <summary>
            Gets the ModAsset mapped to the given relative path.
            </summary>
            <param name="path">The relative asset path.</param>
            <param name="includeDirs">Whether to include directories or not.</param>
            <returns>The resulting mod asset meta object, or null.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.Add(System.String,Celeste.Mod.ModAsset)">
            <summary>
            Adds a new mapping for the given relative content path.
            </summary>
            <param name="path">The relative asset path.</param>
            <param name="metadata">The matching mod asset meta object.</param>
        </member>
        <member name="E:Celeste.Mod.Everest.Content.OnGuessType">
            <summary>
            Invoked when GuessType can't guess the asset type.
            Subscribe to this event to register your own custom types.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.GuessType(System.String,System.Type@,System.String@)">
            <summary>
            Guess the file type and format based on its path.
            </summary>
            <param name="file">The relative asset path.</param>
            <param name="type">The file type.</param>
            <param name="format">The file format (file ending).</param>
            <returns>The passed asset path, trimmed if required.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.MatchExtension(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Boolean@,System.Boolean)">
            <summary>
              Match a file extension, and log a warning if the file extension is duplicated.<br/>
              If the file is text-based, log a warning if the file has an extra <c>.txt</c> extension.
            </summary>
            <param name="filePath">
              The path of the file. Used when logging the warning.
            </param>
            <param name="fileName">
              The file name to check, with the extensions.
            </param>
            <param name="expectedExtension">
              The extension to check for, without the leading dot.
            </param>
            <param name="warningAlreadySent">
              Whether a warning has already been sent about the file name extension(s).
            </param>
            <param name="isTextBased">
              Whether the file is text-based, and to check for an extra <c>.txt</c> extension.
            </param>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.MatchMultipartExtension(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Boolean@,System.Boolean)">
            <summary>
              Match a multipart file extension, and log a warning if the last part of the file extension is duplicated.<br/>
              If the file is text-based, log a warning if the file has an extra <c>.txt</c> extension.
            </summary>
            <param name="filePath">
              The path of the file. Used when logging the warning.
            </param>
            <param name="fileName">
              The file name to check, with the extensions.
            </param>
            <param name="expectedExtension">
              The multipart extension to check for, without the leading dot.
            </param>
            <param name="warningAlreadySent">
              Whether a warning has already been sent about the file name extension(s).
            </param>
            <param name="isTextBased">
              Whether the file is text-based, and to check for an extra <c>.txt</c> extension.
            </param>
        </member>
        <member name="E:Celeste.Mod.Everest.Content.OnUpdate">
            <summary>
            Invoked when content is being updated, allowing you to handle it.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.Crawl(Celeste.Mod.ModContent)">
            <summary>
            Crawl through the content mod and automatically fill the mod asset map.
            </summary>
            <param name="meta">The content mod to crawl through.</param>
        </member>
        <member name="E:Celeste.Mod.Everest.Content.OnProcessLoad">
            <summary>
            Invoked when content is being processed (most likely on load), allowing you to manipulate it.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.ProcessLoad(System.Object,System.String)">
            <summary>
            Process an asset and register it for further reprocessing in the future.
            Apply any mod-related changes to the asset based on the existing mod asset meta map.
            </summary>
            <param name="asset">The asset to process.</param>
            <param name="assetNameFull">The "full name" of the asset, preferable the relative asset path.</param>
            <returns>The processed asset.</returns>
        </member>
        <member name="E:Celeste.Mod.Everest.Content.OnProcessUpdate">
            <summary>
            Invoked when content is being processed (most likely on load or runtime update), allowing you to manipulate it.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.refreshEmojis(Celeste.Mod.ModAsset)">
            <summary>
            Searches for emoji in the given mod asset (recursively), returns true if at least one was found.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.DumpAll">
            <summary>
            Dump all dumpable game content into PathDUMP.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Content.Dump(System.String,System.Object)">
            <summary>
            Dump the given asset into an user-friendly and mod-compatible format.
            </summary>
            <param name="assetNameFull">The "full name" of the asset, preferable the relative asset path.</param>
            <param name="asset">The asset to process.</param>
        </member>
        <member name="F:Celeste.Mod.Everest.VersionString">
            <summary>
            The currently installed Everest version in string form.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.BuildString">
            <summary>
            The currently installed Everest build in string form.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Version">
            <summary>
            The currently installed Everest version.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Build">
            <summary>
            The currently installed Everest build.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.VersionSuffix">
            <summary>
            The currently installed Everest version suffix. For "1.2.3-a-b", this is "a-b"
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.VersionTag">
            <summary>
            The currently installed Everest version tag. For "1.2.3-a-b", this is "a"
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.VersionCommit">
            <summary>
            The currently installed Everest version commit. For "1.2.3-a-b", this is "b"
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.VersionCelesteString">
            <summary>
            The currently present Celeste version combined with the currently installed Everest build.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.UTF8NoBOM">
            <summary>
            UTF8 text encoding without a byte order mark, to be preferred over Encoding.UTF8
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Args">
            <summary>
            The command line arguments passed when launching the game.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Modules">
            <summary>
            A collection of all currently loaded EverestModules (mods).
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.PathGame">
            <summary>
            The path to the directory holding Celeste.exe
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.PathTmp">
            <summary>
            The path to the directory holding temporary files.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.PathSettings">
            <summary>
            The path to the Celeste /Saves directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.PathLog">
            <summary>
            The path to Everest's log file, or null if no log file is written.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.XDGPaths">
            <summary>
            Whether XDG paths should be used.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.PathEverest">
            <summary>
            Path to Everest base location. Defaults to the game directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.ShareVanillaSaveFiles">
            <summary>
            Whether save files and settings are shared with the "restart into vanilla" install.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.CompatibilityMode">
            <summary>
            The active compatibility mode.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.GetChecksum(System.String)">
            <summary>
            Get the checksum for a given file.
            </summary>
            <param name="path">The file path.</param>
            <returns>A checksum.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.GetChecksum(Celeste.Mod.EverestModuleMetadata)">
            <summary>
            Get the checksum for a given mod. Might not be determined by the entire mod content.
            </summary>
            <param name="meta">The mod.</param>
            <returns>A checksum.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.GetChecksum(System.IO.Stream@)">
            <summary>
            Get the checksum for a given stream.
            </summary>
            <param name="stream">A reference to the stream. Gets converted to a MemoryStream if it isn't seekable.</param>
            <returns>A checksum.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Register(Celeste.Mod.EverestModule)">
            <summary>
            Register a new EverestModule (mod) dynamically. Invokes LoadSettings and Load.
            </summary>
            <param name="module">Mod to register.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Unregister(Celeste.Mod.EverestModule)">
            <summary>
            Unregisters an already registered EverestModule (mod) dynamically. Invokes Unload.
            </summary>
            <param name="module"></param>
        </member>
        <member name="M:Celeste.Mod.Everest.UnloadAssembly(Celeste.Mod.EverestModuleMetadata,System.Reflection.Assembly)">
            <summary>
            "Unloads" an assembly. This ensures that no references to the modules are kept alive
            </summary>
            <param name="meta"></param>
            <param name="asm"></param>
        </member>
        <member name="M:Celeste.Mod.Everest.SaveSettings">
            <summary>
            Save all mod and user settings. Use this instead of UserIO.SaveHandler(false, true)
            </summary>
            <returns>The routine enumerator.</returns>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.IsXNA">
            <summary>
            Is the game running on XNA - always false on .NET Core Everest.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.IsFNA">
            <summary>
            Is the game running on FNA - always true on .NET Core Everest.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.VanillaIsXNA">
            <summary>
            Is the vanilla install running on XNA?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.VanillaIsFNA">
            <summary>
            Is the vanilla install running on FNA?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.IsHeadless">
            <summary>
            Is Everest running without a window?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.IsMono">
            <summary>
            Is the game running using Mono - always false on .NET Core Everest.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.AvoidRenderTargets">
            <summary>
            Should the game avoid creating render targets if possible?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.PreferLazyLoading">
            <summary>
            Does the environment (platform, ...) prefer lazy loading?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.PreferThreadedGL">
            <summary>
            Does the environment (renderer, framework ,...) prefer threaded GL?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.SupportRuntimeMods">
            <summary>
            Does the environment (platform, ...) support loading runtime mods?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Flags.SupportUpdatingEverest">
            <summary>
            Does the environment (platform, ...) support updating Everest?
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathMods">
            <summary>
            The path to the Everest /Mods directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathCache">
            <summary>
            The path to the Everest /Mods/Cache directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathBlacklist">
            <summary>
            The path to the Everest /Mods/blacklist.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.Blacklist">
            <summary>
            The currently loaded mod blacklist.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathFavorites">
            <summary>
            The path to the Everest /Mods/favorites.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathTemporaryBlacklist">
            <summary>
            The path to the Everest /Mods/temporaryblacklist.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.TemporaryBlacklist">
            <summary>
            The currently loaded mod temporary blacklist.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathWhitelist">
            <summary>
            The path to the Everest /Mods/whitelist.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.Whitelist">
            <summary>
            The currently loaded mod whitelist.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathModOptionsOrder">
            <summary>
            The path to the Everest /Mods/modoptionsorder.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.ModOptionsOrder">
            <summary>
            The currently loaded mod mod options order.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.PathUpdaterBlacklist">
            <summary>
            The path to the Everest /Mods/updaterblacklist.txt file.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Loader.UpdaterBlacklist">
            <summary>
            The currently loaded mod updater blacklist.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.LoadZip(System.String)">
            <summary>
            Load a mod from a .zip archive at runtime.
            </summary>
            <param name="archive">The path to the mod .zip archive.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.LoadDir(System.String)">
            <summary>
            Load a mod from a directory at runtime.
            </summary>
            <param name="dir">The path to the mod directory.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.LoadModDelayed(Celeste.Mod.EverestModuleMetadata,System.Action)">
            <summary>
            Load a mod .dll given its metadata at runtime. Doesn't load the mod content.
            If required, loads the mod after all of its dependencies have been loaded.
            </summary>
            <param name="meta">Metadata of the mod to load.</param>
            <param name="callback">Callback to be executed after the mod has been loaded. Executed immediately if meta == null.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.LoadMod(Celeste.Mod.EverestModuleMetadata)">
            <summary>
            Load a mod .dll given its metadata at runtime. Doesn't load the mod content.
            </summary>
            <param name="meta">Metadata of the mod to load.</param>
            <returns>Whether the mod load was successful.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.LoadModAssembly(Celeste.Mod.EverestModuleMetadata,System.Reflection.Assembly)">
            <summary>
            Find and load all EverestModules in the given assembly.
            </summary>
            <param name="meta">The mod metadata, preferably from the mod metadata.yaml file.</param>
            <param name="asm">The mod assembly, preferably relinked.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.ReloadMod(Celeste.Mod.EverestModuleMetadata)">
            <summary>
            Reload a mod .dll and all mods depending on it given its metadata at runtime. Doesn't reload the mod content.
            </summary>
            <param name="meta">Metadata of the mod to reload.</param>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.DependenciesLoaded(Celeste.Mod.EverestModuleMetadata)">
            <summary>
            Checks if all dependencies are loaded.
            Can be used by mods manually to f.e. activate / disable functionality.
            </summary>
            <param name="meta">The metadata of the mod listing the dependencies.</param>
            <returns>True if the dependencies have already been loaded by Everest, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.DependencyLoaded(Celeste.Mod.EverestModuleMetadata)">
            <summary>
            Checks if an dependency is loaded.
            Can be used by mods manually to f.e. activate / disable functionality.
            </summary>
            <param name="dep">Dependency to check for. Name and Version will be checked.</param>
            <returns>True if the dependency has already been loaded by Everest, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.TryGetDependency(Celeste.Mod.EverestModuleMetadata,Celeste.Mod.EverestModule@)">
            <summary>
            Fetch a dependency if it is loaded.
            Can be used by mods manually to f.e. activate / disable functionality.
            </summary>
            <param name="dep">Dependency to check for. Name and Version will be checked.</param>
            <param name="module">EverestModule for the dependency if found, null if not.</param>
            <returns>True if the dependency has already been loaded by Everest, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Loader.VersionSatisfiesDependency(System.Version,System.Version)">
            <summary>
            Checks if the given version number is "compatible" with the one required as a dependency.
            </summary>
            <param name="requiredVersion">The version required by a mod in their dependencies</param>
            <param name="installedVersion">The version to check for</param>
            <returns>true if the versions number are compatible, false otherwise.</returns>
        </member>
        <member name="T:Celeste.Mod.Everest.Relinker">
            <summary>
            Relink mods to point towards Celeste.exe and FNA / XNA properly and to patch older mods to make them remain compatible.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Relinker.GameChecksum">
            <summary>
            The current Celeste.exe's checksum.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Relinker.SkipGameChecksum">
            <summary>
            Skips checking the GameChecksum when checking if mods should be relinked.
            </summary>
        </member>
        <member name="F:Celeste.Mod.Everest.Relinker.RelinkerLock">
            <summary>
            The lock which the relinker holds when relinking assemblies
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Relinker.SharedRelinkModuleMap">
            <summary>
            A map shared between all invocations of the relinker which maps certain referenced modules onto others. Can be used with <see cref="F:MonoMod.MonoModder.RelinkModuleMap"/>.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Everest.Relinker.SharedRelinkMap">
            <summary>
            A map shared between all invocations of the relinker which maps certain referenced types / methods / fields / etc. onto others. Can be used with <see cref="F:MonoMod.MonoModder.RelinkMap"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Everest.Relinker.GetRelinkedAssembly(Celeste.Mod.EverestModuleMetadata,System.String,System.String,System.String,System.Func{System.ValueTuple{System.IO.Stream,System.IO.Stream}})">
            <summary>
            Relink a .dll to point towards Celeste.exe and FNA / XNA properly at runtime, then load it.
            </summary>
            <param name="meta">The mod metadata, used for caching, among other things.</param>
            <param name="asmname"></param>
            <param name="path">The path of the assembly inside of the mod</param>
            <param name="symPath">The path of the assembly's symbols inside of mod, or null</param>
            <param name="streamOpener">A callback opening Streams for the assembly and (optionally) its symbols</param>
            <returns>The loaded, relinked assembly.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Relinker.GetCachedPath(Celeste.Mod.EverestModuleMetadata,System.String)">
            <summary>
            Get the cached path of a given mod's relinked .dll
            </summary>
            <param name="meta">The mod metadata.</param>
            <param name="asmname"></param>
            <returns>The full path to the cached relinked .dll</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Relinker.ChecksumsEqual(System.String[],System.String[])">
            <summary>
            Determine if both checksum collections are equal.
            </summary>
            <param name="a">The first checksum array.</param>
            <param name="b">The second checksum array.</param>
            <returns>True if the contents of both arrays match, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.Everest.Updater.DownloadFileWithProgress(System.String,System.String,System.Func{System.Int32,System.Int64,System.Int32,System.Boolean})">
            <summary>
            Downloads a file and calls the progressCallback parameter periodically with progress information.
            This can be used to display the download progress on screen.
            </summary>
            <param name="url">The URL to download the file from</param>
            <param name="destPath">The path the file should be downloaded to</param>
            <param name="progressCallback">A method called periodically as the download progresses. Parameters are progress, length and speed in KiB/s.
            Should return true for the download to continue, false for it to be cancelled.</param>
        </member>
        <member name="T:Celeste.Mod.AutoSplitter">
            <summary>
            Manages the in-memory autosplitter info
            </summary>
        </member>
        <member name="T:Celeste.Mod.BOOT">
            <summary>
            RUN AWAY. TURN AROUND. GO TO CELESTE'S MAIN FUNCTION INSTEAD.
            </summary>
        </member>
        <member name="T:Celeste.Mod.ButtonBinding">
            <summary>
            A wrapper class for a custom <see cref="T:Monocle.VirtualButton"/>.
            <br></br>
            Default buttons can be set using <see cref="T:Celeste.Mod.DefaultButtonBindingAttribute"/>.
            <br></br>
            <see href="https://github.com/EverestAPI/Resources/wiki/Mod-Settings#ButtonBinding">Read More</see>
            </summary>
        </member>
        <member name="M:Celeste.Mod.ButtonBinding.ConsumeBuffer">
            <inheritdoc cref="M:Monocle.VirtualButton.ConsumeBuffer"/>
        </member>
        <member name="M:Celeste.Mod.ButtonBinding.ConsumePress">
            <inheritdoc cref="M:Monocle.VirtualButton.ConsumePress"/>
        </member>
        <member name="T:Celeste.Mod.DefaultButtonBindingAttribute">
            <summary>
            Sets the default <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Buttons"/> and <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Keys"/> of a <see cref="T:Celeste.Mod.ButtonBinding"/> setting.
            <br></br>
            <see href="https://github.com/EverestAPI/Resources/wiki/Mod-Settings#DefaultButtonBinding">Read More</see>
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.Button">
            <summary>
            The default Button binding.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.Key">
            <summary>
            The default Key binding.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.Buttons">
            <summary>
            The default Buttons binding.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.Keys">
            <summary>
            The default Keys binding.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.ForceDefaultButton">
            <summary>
            Whether the default Button should always be bound.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DefaultButtonBindingAttribute.ForceDefaultKey">
            <summary>
            Whether the default Key should always be bound.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DefaultButtonBindingAttribute.#ctor(Microsoft.Xna.Framework.Input.Buttons,Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Sets the default <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Buttons"/> and <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Keys"/> of a <see cref="T:Celeste.Mod.ButtonBinding"/> setting.
            </summary>
            <param name="button">The default Button binding.</param>
            <param name="key">The default Key binding.</param>
        </member>
        <member name="M:Celeste.Mod.DefaultButtonBindingAttribute.#ctor(Microsoft.Xna.Framework.Input.Buttons[],Microsoft.Xna.Framework.Input.Keys[])">
            <summary>
            Sets the default <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Buttons"/> and <see cref="F:Celeste.Mod.DefaultButtonBindingAttribute.Keys"/> of a <see cref="T:Celeste.Mod.ButtonBinding"/> setting.
            </summary>
            <param name="buttons">The default Buttons binding.</param>
            <param name="keys">The default Keys binding.</param>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.IsSubtexture(Monocle.MTexture)">
            <summary>
            Determine if the MTexture depicts a region of a larger VirtualTexture.
            </summary>
            <param name="input">The input texture.</param>
            <returns>True if the ClipRect is a subregion of the MTexture's VirtualTexture's Texture2D, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.GetSubtextureCopy(Monocle.MTexture)">
            <summary>
            Create a new, standalone copy of the region accessed via the MTexture.
            </summary>
            <param name="input">The input texture.</param>
            <returns>The output texture, matching the input MTexture's ClipRect.</returns>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.GetPaddedSubtextureCopy(Monocle.MTexture)">
            <summary>
            Create a new, standalone copy of the region accessed via the MTexture, with padding.
            </summary>
            <param name="input">The input texture.</param>
            <returns>The output texture, matching the input MTexture's Width and Height, with padding.</returns>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.Premultiply(Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            Lazily late-premultiply a texture: Multiply the values of the R, G and B channels by the value of the A channel.
            </summary>
            <param name="texture">The input texture.</param>
            <returns>A premultiplied copy of the input texture.</returns>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.Postdivide(Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            Lazily late-postdivide a texture: Divide the values of the R, G and B channels by the value of the A channel.
            </summary>
            <param name="texture">The input texture.</param>
            <returns>A postdivided copy of the input texture.</returns>
        </member>
        <member name="M:Celeste.Mod.ContentExtensions.LoadTextureLazyPremultiply(Microsoft.Xna.Framework.Graphics.GraphicsDevice,System.IO.Stream)">
            <summary>
            Load a texture and lazily late-premultiply it: Multiply the values of the R, G and B channels by the value of the A channel.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Emoji.Registered">
            <summary>
            A list of all registered emoji names, in order of their IDs.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Emoji.Register(System.String,Monocle.MTexture)">
            <summary>
            Register an emoji.
            </summary>
            <param name="name">The emoji name.</param>
            <param name="emoji">The emoji texture.</param>
        </member>
        <member name="M:Celeste.Mod.Emoji.Register(System.String,Monocle.MTexture,System.Int32,System.Int32)">
            <summary>
            Register an emoji with scaling constraints.
            </summary>
            <param name="name">The emoji name.</param>
            <param name="emoji">The emoji texture.</param>
            <param name="targetWidth">The width to render this emoji as. Adjusts the MTexture.ScaleFix as side-effect!</param>
            <param name="targetHeight">The height to render this emoji as. Adjusts the MTexture.ScaleFix as side-effect!</param>
        </member>
        <member name="M:Celeste.Mod.Emoji.Register(System.String,Monocle.MTexture,System.Single)">
            <summary>
            Register an emoji.
            </summary>
            <param name="name">The emoji name.</param>
            <param name="emoji">The emoji texture.</param>
            <param name="scale">Scaling factor for the emoji spacing. Defaults to emoji.ScaleFix.</param>
        </member>
        <member name="M:Celeste.Mod.Emoji.Fill(Monocle.PixelFont)">
            <summary>
            Fill a font with emoji.
            </summary>
            <param name="font">The font to fill.</param>
        </member>
        <member name="M:Celeste.Mod.Emoji.Get(System.String)">
            <summary>
            Gets the char for the specified emoji.
            </summary>
            <param name="name">The emoji name.</param>
            <returns>The emoji char.</returns>
        </member>
        <member name="M:Celeste.Mod.Emoji.TryGet(System.String,System.Char@)">
            <summary>
            Gets the char for the specified emoji.
            </summary>
            <param name="name">The emoji name.</param>
            <param name="c">The emoji char.</param>
            <returns>Whether the emoji was registered or not.</returns>
        </member>
        <member name="M:Celeste.Mod.Emoji.IsMonochrome(System.Char)">
            <summary>
            Gets whether the emoji is monochrome or not.
            </summary>
            <param name="c">The emoji char.</param>
            <returns>Whether the emoji is monochrome or not.</returns>
        </member>
        <member name="M:Celeste.Mod.Emoji.Apply(System.String)">
            <summary>
            Transforms all instances of :emojiname: to \uSTART+ID
            </summary>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="T:Celeste.Mod.AssetTypeNonConflict">
            <summary>
            Special meta type for assets.
            A ModAsset with a Type field that subclasses from this will not log path conflicts.
            </summary>
        </member>
        <member name="F:Celeste.Mod.FileSystemModContent.Path">
            <summary>
            The path to the mod directory.
            </summary>
        </member>
        <member name="F:Celeste.Mod.MapBinsInModsModContent.Path">
            <summary>
            The path to the mod directory.
            </summary>
        </member>
        <member name="F:Celeste.Mod.AssemblyModContent.Assembly">
            <summary>
            The assembly containing the mod content as resources.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ZipModContent.Path">
            <summary>
            The path to the archive containing the mod content.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Extensions.ExtractStream(System.IO.Compression.ZipArchiveEntry)">
            <summary>
            Create a new MemoryStream for a given ZipEntry, which is safe to use in outside contexts.
            </summary>
            <param name="entry">The input ZipEntry.</param>
            <returns>The MemoryStream holding the extracted data of the ZipEntry.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.ToHexadecimalString(System.Byte[])">
            <summary>
            Create a hexadecimal string for the given bytes.
            </summary>
            <param name="data">The input bytes.</param>
            <returns>The output hexadecimal string.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.InvokePassing``1(System.MulticastDelegate,``0,System.Object[])">
            <summary>
            Invokes all delegates in the invocation list, passing on the result to the next.
            </summary>
            <typeparam name="T">Type of the result.</typeparam>
            <param name="md">The multicast delegate.</param>
            <param name="val">The initial value and first parameter.</param>
            <param name="args">Any other arguments that may be passed.</param>
            <returns>The result of all delegates.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.InvokeWhileTrue(System.MulticastDelegate,System.Object[])">
            <summary>
            Invokes all delegates in the invocation list, as long as the previously invoked delegate returns true.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Extensions.InvokeWhileFalse(System.MulticastDelegate,System.Object[])">
            <summary>
            Invokes all delegates in the invocation list, as long as the previously invoked delegate returns false.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Extensions.InvokeWhileNull``1(System.MulticastDelegate,System.Object[])">
            <summary>
            Invokes all delegates in the invocation list, as long as the previously invoked delegate returns null.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Extensions.SpacedPascalCase(System.String)">
            <summary>
            Split PascalCase words to become Pascal Case instead.
            </summary>
            <param name="input">PascalCaseString</param>
            <returns>Pascal Case String</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.DialogKeyify(System.String)">
            <summary>
            Escape some common strings from a given string for usage with the Dialog class.
            The following characters get replaced with an underscore: /-+
            </summary>
            <param name="input">The input string.</param>
            <returns>The Dialog-compatible key.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.DialogClean(System.String,Celeste.Language)">
            <summary>
            Get the dialog string for the given input key.
            </summary>
            <param name="input">The dialog key.</param>
            <param name="language"></param>
            <returns>The resolved dialog string.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.DialogCleanOrNull(System.String,Celeste.Language)">
            <summary>
            Get the dialog string for the given input key.
            </summary>
            <param name="input">The dialog key.</param>
            <param name="language"></param>
            <returns>The resolved dialog string or null.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.ToVector2(Microsoft.Xna.Framework.Point)">
            <summary>
            Get a Vector2 from a Point.
            </summary>
            <param name="p">The input Point.</param>
            <returns>The output Vector2.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.ToVector2(System.Single[])">
            <summary>
            Get a Vector2 from any float[] with a length of 1 or 2.
            </summary>
            <param name="a">The input array.</param>
            <returns>The output Vector2 or null if the length doesn't match.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.ToVector3(System.Single[])">
            <summary>
            Get a Vector3 from any float[] with a length of 1 or 3.
            </summary>
            <param name="a">The input array.</param>
            <returns>The output Vector3 or null if the length doesn't match.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.NeedsRelaunch(Celeste.TextMenu.Item,Celeste.patch_TextMenu,System.Boolean)">
            <summary>
            Add an Enter and Leave handler, notifying the user that a relaunch is required to apply the changes.
            </summary>
            <param name="option">The input TextMenu.Item option.</param>
            <param name="containingMenu">The menu containing the TextMenu.Item option.</param>
            <param name="needsRelaunch">This method does nothing if this is set to false.</param>
            <returns>The passed option.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.AddDescription(Celeste.TextMenu.Item,Celeste.patch_TextMenu,System.String)">
            <summary>
            Add an Enter and Leave handler, displaying a description if selected.
            </summary>
            <param name="option">The input TextMenu.Item option.</param>
            <param name="containingMenu">The menu containing the TextMenu.Item option.</param>
            <param name="description"></param>
            <returns>The passed option.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.AddDescription(Celeste.TextMenu.Item,Celeste.TextMenuExt.SubMenu,Celeste.TextMenu,System.String)">
            <summary>
            Add an Enter and Leave handler, displaying a description if selected.
            </summary>
            <param name="option">The input TextMenu.Item option.</param>
            <param name="containingSubMenu">The submenu containing the TextMenu.Item option.</param>
            <param name="parentContainer">The menu that the submenu is or will be part of.</param>
            <param name="description"></param>
            <returns>The passed option.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.WriteNullTerminatedString(System.IO.BinaryWriter,System.String)">
            <summary>
            Write the string to the BinaryWriter in a C-friendly format.
            </summary>
            <param name="stream">The output which the method writes to.</param>
            <param name="text">The input string.</param>
        </member>
        <member name="M:Celeste.Mod.Extensions.CastDelegate(System.Delegate,System.Type)">
            <summary>
            Cast a delegate from one type to another. Compatible with delegates holding an invocation list (combined delegates).
            </summary>
            <param name="source">The input delegate.</param>
            <param name="type">The wanted output delegate type.</param>
            <returns>The output delegate.</returns>
        </member>
        <member name="M:Celeste.Mod.Extensions.AddButtons(Monocle.patch_VirtualButton,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Buttons})">
            <summary>
            Map the list of buttons to the given virtual button.
            </summary>
            <param name="vbtn">The virtual button to map the buttons to.</param>
            <param name="buttons">The buttons to map.</param>
        </member>
        <member name="M:Celeste.Mod.Extensions.IsDown(Microsoft.Xna.Framework.Input.Touch.TouchLocationState)">
            <summary>
            Is the given touch state "down" (pressed or moved)?
            </summary>
        </member>
        <member name="M:Celeste.Mod.Extensions.IsUp(Microsoft.Xna.Framework.Input.Touch.TouchLocationState)">
            <summary>
            Is the given touch state "up" (released or invalid)?
            </summary>
        </member>
        <member name="M:Celeste.Mod.Logger.SetLogLevel(System.String,Celeste.Mod.LogLevel)">
            <summary>
            Sets the minimum log level to be written in the logs for lines matching the given tag prefix.
            <br />
            When using this, make sure the tag prefix is restrictive enough not to impact other mods
            (for example, if all your tags follow the format MyMod/xxx, use "MyMod/" as a prefix).
            </summary>
            <param name="tagPrefix">The prefix of the log tags to affect with this log level</param>
            <param name="minimumLevel">The minimum level of logs to print out in the logs</param>
        </member>
        <member name="M:Celeste.Mod.Logger.GetLogLevel(System.String)">
            <summary>
            Gets the minimum log level that will be written in log.txt for the given tag.
            </summary>
            <param name="tag">The tag to get the minimum log level for</param>
            <returns>The minimum log level for this tag</returns>
        </member>
        <member name="M:Celeste.Mod.Logger.Verbose(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, using <see cref="F:Celeste.Mod.LogLevel.Verbose"/>
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Verbose(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Verbose})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Verbose(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Debug(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, using <see cref="F:Celeste.Mod.LogLevel.Debug"/>
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Debug(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Debug})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Debug(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Info(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, using <see cref="F:Celeste.Mod.LogLevel.Info"/>
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Info(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Info})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Info(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Warn(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, using <see cref="F:Celeste.Mod.LogLevel.Warn"/>
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Warn(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Warn})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Warn(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Error(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, using <see cref="F:Celeste.Mod.LogLevel.Error"/>
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Error(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Error})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Error(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Log(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Log(System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler{Celeste.Mod.LogLevelConstTypes.Verbose})">
            <inheritdoc cref="M:Celeste.Mod.Logger.Log(System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.Log(Celeste.Mod.LogLevel,System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt
            </summary>
            <param name="level">The log level.</param>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.Log(Celeste.Mod.LogLevel,System.String,Celeste.Mod.Logger.LogInterpolatedStringHandler)">
            <inheritdoc cref="M:Celeste.Mod.Logger.Log(Celeste.Mod.LogLevel,System.String,System.String)"/>
        </member>
        <member name="M:Celeste.Mod.Logger.LogUnchecked(Celeste.Mod.LogLevel,System.String,System.String)">
            <summary>
            Logs a string to the console and to log.txt, without checking whether the LogLevel should be logged,
            only for internal use.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Logger.LogDetailed(System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, including a call stack trace.
            </summary>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.LogDetailed(Celeste.Mod.LogLevel,System.String,System.String)">
            <summary>
            Log a string to the console and to log.txt, including a call stack trace.
            </summary>
            <param name="level">The log level.</param>
            <param name="tag">The tag, preferably short enough to identify your mod, but not too long to clutter the log.</param>
            <param name="str">The string / message to log.</param>
        </member>
        <member name="M:Celeste.Mod.Logger.LogDetailed(System.Exception,System.String)">
            <summary>
            Print the exception to the console, including extended loading / reflection data useful for mods.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Logger.LogInterpolatedStringHandler">
            <summary>
            Interpolated String Handler used by the logger to avoid interpolating the string if the message won't get logged anyway.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Logger.LogInterpolatedStringHandler`1">
            <inheritdoc cref="T:Celeste.Mod.Logger.LogInterpolatedStringHandler"/>
        </member>
        <member name="M:Celeste.Mod.LogLevelExtensions.FastToString(Celeste.Mod.LogLevel)">
            <summary>
            Converts this <see cref="T:Celeste.Mod.LogLevel"/> to its string representation, in a way more performant than <see cref="M:System.Enum.ToString"/>
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.Source">
            <summary>
            The mod asset's source.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.Type">
            <summary>
            The type matching the mod asset.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.Format">
            <summary>
            The original file extension.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.PathVirtual">
            <summary>
            The virtual / mapped asset path.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.Children">
            <summary>
            The "children" assets in f.e. directory type "assets."
            </summary>
        </member>
        <member name="F:Celeste.Mod.ModAsset.Targets">
            <summary>
            A set of all objects affected by this mod asset.
            </summary>
        </member>
        <member name="P:Celeste.Mod.ModAsset.Stream">
            <summary>
            A stream to read the asset data from.
            </summary>
        </member>
        <member name="P:Celeste.Mod.ModAsset.StreamAsync">
            <summary>
            Can multiple streams to the same asset / source be obtained on multiple threads without any penalties?
            </summary>
        </member>
        <member name="P:Celeste.Mod.ModAsset.Data">
            <summary>
            The contents of the asset.
            </summary>
        </member>
        <member name="M:Celeste.Mod.ModAsset.Open(System.IO.Stream@,System.Boolean@)">
            <summary>
            Open a stream to read the asset data from.
            </summary>
            <param name="stream">The resulting stream.</param>
            <param name="isSection">Is the stream already a section (SectionOffset and SectionLength)?</param>
        </member>
        <member name="M:Celeste.Mod.ModAsset.TryDeserialize``1(``0@)">
            <summary>
            Deserialize the asset using a deserializer based on the AssetType (f.e. AssetTypeYaml -> YamlDotNet).
            </summary>
            <typeparam name="T">The target type.</typeparam>
            <param name="result">The asset in its deserialized (object) form.</param>
            <returns>True if deserializing the asset succeeded, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.ModAsset.Deserialize``1">
            <summary>
            Deserialize the asset using a deserializer based on the AssetType (f.e. AssetTypeYaml -> YamlDotNet).
            </summary>
            <typeparam name="T">The target type.</typeparam>
            <returns>The asset in its deserialized (object) form or default(T).</returns>
        </member>
        <member name="M:Celeste.Mod.ModAsset.TryGetMeta``1(``0@)">
            <summary>
            Deserialize this asset's matching .meta asset. Uses TryDeserialize internally.
            </summary>
            <typeparam name="T">The target meta type.</typeparam>
            <param name="meta">The requested meta object.</param>
            <returns>True if deserializing the meta asset succeeded, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.ModAsset.GetMeta``1">
            <summary>
            Deserialize this asset's matching .meta asset. Uses TryDeserialize internally.
            </summary>
            <typeparam name="T">The target meta type.</typeparam>
            <returns>The requested meta object or default(T).</returns>
        </member>
        <member name="M:Celeste.Mod.ModAsset.GetCachedPath">
            <summary>
            Cache the file and return a cached path.
            </summary>
            <returns>The cached file path.</returns>
        </member>
        <member name="F:Celeste.Mod.FileSystemModAsset.Path">
            <summary>
            The path to the source file.
            </summary>
        </member>
        <member name="F:Celeste.Mod.MapBinsInModsModAsset.Path">
            <summary>
            The path to the source file.
            </summary>
        </member>
        <member name="F:Celeste.Mod.AssemblyModAsset.ResourceName">
            <summary>
            The name of the resource in the assembly.
            </summary>
        </member>
        <member name="F:Celeste.Mod.ZipModAsset.Path">
            <summary>
            The path to the source file inside the archive.
            </summary>
        </member>
        <member name="T:Celeste.Mod.TextInput">
            <summary>
            Class containing a text input event for your mods.
            Uses FNA's TextInputEXT if available, falling back to a WinForms hook.
            </summary>
        </member>
        <member name="E:Celeste.Mod.TextInput.OnInput">
            <summary>
            Invoked whenever text input occurs, including some "input action" characters.
            This event is in charge of managing `StartTextInput` and `StopTextInput` calls.
            Consequently its use should be restricted to when text input from the keyboard is needed.
            Note that the aforementioned FNA calls will bring up virtual keyboard (if available, Steam Deck is an
            example), so it's the modder's job to make sure it does appear and disappear correctly.
            Take a look at the FNA TextInputExt documentation for more info: https://github.com/FNA-XNA/FNA/wiki/5:-FNA-Extensions#textinputext
            </summary>
        </member>
        <member name="P:Celeste.Mod.AssetReloadHelper.IsReloading">
            <remarks>
            NOTE: Only safe to access from the main thread!
            </remarks>
        </member>
        <member name="P:Celeste.Mod.AssetReloadHelper.ReturnToScene">
            <remarks>
            NOTE: Only safe to access from the main thread!
            </remarks>
        </member>
        <member name="F:Celeste.Mod.AssetReloadHelper.ReturnToGameLoop">
            <remarks>
            NOTE: Only safe to access from the main thread!
            </remarks>
        </member>
        <member name="T:Celeste.Mod.Helpers.CacheHelper`2">
            A helper class that wraps a <code>compute</code> function, in order to keep the
            latest computed values in memory (holding up to <code>maxSize</code> values),
            to help with performance or with repeated memory allocations.
        </member>
        <member name="T:Celeste.Mod.Helpers.CompressedHttpClient">
            <summary>
            An HttpClient that supports compressed responses to save bandwidth, and uses IPv4 to work around issues for some users.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Helpers.CullHelper">
            <summary>
            Exposes static functions that allow you to easily check if something is currently visible, to be used for culling.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.CullHelper.IsRectangleVisible(System.Single,System.Single,System.Single,System.Single,System.Single,Monocle.Camera)">
            <summary>
            Checks whether the rectangle (x, y, w, h) is visible inside of the camera
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.CullHelper.IsCurveVisible(Monocle.SimpleCurve,System.Single,Monocle.Camera)">
            <summary>
            Checks if the curve is visible by creating a rectangle containing the edge points of the curve (Begin, Control, End)
            </summary>
        </member>
        <member name="T:Celeste.Mod.Helpers.DirectoryProxy">
            <summary>
            Partial replacement for the System.IO.Directory class.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Helpers.FileProxy">
            <summary>
            Partial replacement for the System.IO.File class.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.HookUtils.TryDisableInlining(System.Reflection.MethodBase)">
            <summary>
            Attempts to disable inlining on a method.
            </summary>
            <param name="targetMethod">The method to disable inlining on.</param>
            <returns>Whether it was successful.</returns>
        </member>
        <member name="T:Celeste.Mod.Helpers.IConst`1">
            <summary>
            Represents a constant value, to be used for generic methods by structs implementing this interface.
            </summary>
        </member>
        <member name="P:Celeste.Mod.Helpers.IConst`1.Value">
            <summary>
            The value of this constant.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.GotoNextBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the next best fit match of a given IL sequence, allowing up to <see cref="F:Celeste.Mod.Helpers.ILCursorExtensions.DefaultMaxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <exception cref="T:System.Collections.Generic.KeyNotFoundException">
               A match could not be found.
             </exception>
            
             <remarks>
               This function picks the next match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.
             </remarks>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.GotoNextBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Int32,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the next best fit match of a given IL sequence, allowing up to <paramref name="maxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="maxInstructionSpread">
               The amount of instructions between predicate matches to still consider as a successful match.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <exception cref="T:System.Collections.Generic.KeyNotFoundException">
               A match could not be found.
             </exception>
            
             <remarks>
               This function picks the next match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.
             </remarks>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.TryGotoNextBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the next best fit match of a given IL sequence, allowing up to <c>0x10</c>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <remarks>
               This function picks the next match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.
             </remarks>
            
             <returns>
               Whether a match has been found, and the cursor has been moved.
             </returns>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.TryGotoNextBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Int32,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the next best fit match of a given IL sequence, allowing up to <paramref name="maxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="maxInstructionSpread">
               The amount of instructions between predicate matches to still consider as a successful match.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <remarks>
               This function picks the next match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.
             </remarks>
            
             <returns>
               Whether a match has been found, and the cursor has been moved.
             </returns>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.GotoPrevBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the previous best fit match of a given IL sequence, allowing up to <see cref="F:Celeste.Mod.Helpers.ILCursorExtensions.DefaultMaxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <exception cref="T:System.Collections.Generic.KeyNotFoundException">
               A match could not be found.
             </exception>
            
             <remarks>
               This function picks the previous match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.<br/>
            
               If <paramref name="moveType"/> is set to <see cref="F:MonoMod.Cil.MoveType.After"/>, the resulting index
               <b>may</b> have moved forwards instead of backwards, if the first predicate matches close to the cursor,
               and the <paramref name="predicates"/> list is long enough.
             </remarks>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.GotoPrevBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Int32,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the previous best fit match of a given IL sequence, allowing up to <paramref name="maxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="maxInstructionSpread">
               The amount of instructions between predicate matches to still consider as a successful match.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <exception cref="T:System.Collections.Generic.KeyNotFoundException">
               A match could not be found.
             </exception>
            
             <remarks>
               This function picks the previous match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.<br/>
            
               If <paramref name="moveType"/> is set to <see cref="F:MonoMod.Cil.MoveType.After"/>, the resulting index
               <b>may</b> have moved forwards instead of backwards, if the first predicate matches close to the cursor,
               and the <paramref name="predicates"/> list is long enough.
             </remarks>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.TryGotoPrevBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the previous best fit match of a given IL sequence, allowing up to <c>0x10</c>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <remarks>
               This function picks the previous match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.<br/>
            
               If <paramref name="moveType"/> is set to <see cref="F:MonoMod.Cil.MoveType.After"/>, the resulting index
               <b>may</b> have moved forwards instead of backwards, if the first predicate matches close to the cursor,
               and the <paramref name="predicates"/> list is long enough.
             </remarks>
            
             <returns>
               Whether a match has been found, and the cursor has been moved.
             </returns>
        </member>
        <member name="M:Celeste.Mod.Helpers.ILCursorExtensions.TryGotoPrevBestFit(MonoMod.Cil.ILCursor,MonoMod.Cil.MoveType,System.Int32,System.Func{Mono.Cecil.Cil.Instruction,System.Boolean}[])">
             <summary>
               Go to the previous best fit match of a given IL sequence, allowing up to <paramref name="maxInstructionSpread"/>
               instructions of tolerance if the instructions are not sequential.<br/>
               (i.e. if something else hooks the same sequence)
             </summary>
            
             <param name="cursor">
               The IL cursor to look for a match in.
             </param>
             <param name="moveType">
               The move type to use.
             </param>
             <param name="maxInstructionSpread">
               The amount of instructions between predicate matches to still consider as a successful match.
             </param>
             <param name="predicates">
               The IL instructions to match against.
             </param>
            
             <remarks>
               This function picks the previous match with the least instruction spread.<br/>
            
               If there are two matches which have the same spread, pick the closest one.<br/>
            
               If <paramref name="moveType"/> is set to <see cref="F:MonoMod.Cil.MoveType.After"/>, the resulting index
               <b>may</b> have moved forwards instead of backwards, if the first predicate matches close to the cursor,
               and the <paramref name="predicates"/> list is long enough.
             </remarks>
            
             <returns>
               Whether a match has been found, and the cursor has been moved.
             </returns>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.DownloadModUpdateList">
            <summary>
            Downloads the full update list from the update checker server.
            Returns null if the download fails for any reason.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.DownloadModDependencyGraph">
            <summary>
            Downloads the mod dependency graph from the update checker server.
            Returns null if the download fails for any reason.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.ListAvailableUpdates(System.Collections.Generic.Dictionary{System.String,Celeste.Mod.Helpers.ModUpdateInfo},System.Boolean)">
            <summary>
            List all mods needing an update, by comparing the installed mods' hashes with the ones in the update checker database.
            </summary>
            <param name="updateCatalog">The update checker database (must not be null!)</param>
            <param name="excludeBlacklist">If mods present in updaterblacklist.txt should be excluded from the result</param>
            <returns>A map listing all the updates: info from the update checker database => info from the installed mod</returns>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.VerifyChecksum(Celeste.Mod.Helpers.ModUpdateInfo,System.String)">
            <summary>
            Verifies the downloaded mod's checksum, and throws an IOException if it doesn't match the database one.
            </summary>
            <param name="update">The mod info from the database</param>
            <param name="filePath">The path to the file to check</param>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.InstallModUpdate(Celeste.Mod.Helpers.ModUpdateInfo,Celeste.Mod.EverestModuleMetadata,System.String)">
            <summary>
            Installs a mod update in the Mods directory once it has been downloaded.
            This method will replace the installed mod zip with the one that was just downloaded.
            </summary>
            <param name="update">The update info coming from the update server</param>
            <param name="mod">The mod metadata from Everest for the installed mod</param>
            <param name="zipPath">The path to the zip the update has been downloaded to</param>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.TryDelete(System.String)">
            <summary>
            Tries deleting a file if it exists.
            If deletion fails, an error is written to the log.
            </summary>
            <param name="path">The path to the file to delete</param>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.getModUpdaterDatabaseUrl(System.String)">
            <summary>
            Retrieves the mod updater database location from everestapi.github.io.
            This should point to a running instance of https://github.com/maddie480/EverestUpdateCheckerServer.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.RunAsyncCheckForModUpdates(System.Boolean)">
            <summary>
            Run a check for mod updates asynchronously.
            <param name="excludeBlacklist">If mods present in updaterblacklist.txt should be excluded from the result</param>
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.IsAsyncUpdateCheckingDone">
            <summary>
            Returns true if update checking is done, false otherwise.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.ModUpdaterHelper.GetAsyncLoadedModUpdates">
            <summary>
            Returns the mod updates retrieved by RunCheckForModUpdates().
            Waits for the end of the task if it is not over yet.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Helpers.SynchronizedZipEntryStream">
            <summary>
            A stream giving access to a ZipArchiveEntry and putting a lock on the ZipArchive when calling any method.
            This makes reading from multiple entries at the same time thread-safe (kind of) (I think).
            It also implements Seek, Position and Length.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Helpers.VanillaMouseBindings">
            <summary>
            Surrogate class for serializing MouseButton bindings separately from the rest of the input bindings.
            This is to prevent Vanilla from complaining and wiping them when it tries to load them.
            
            We can't just serialize them as properties with the appropriate `get` and `set` accessors because
            xml deserializes IEnumerables by getting the object and then using the `Add` method to add to it.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.VanillaMouseBindings.Init">
            <summary>
            Initializes fields based on the equivalent fields in <see cref="F:Celeste.Settings.Instance"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Helpers.VanillaMouseBindings.Apply">
            <summary>
            Applies the values in this object's fields to the equivalent fields in <see cref="F:Celeste.Settings.Instance"/>
            using <see cref="M:Monocle.patch_Binding.Add(Monocle.patch_MInput.patch_MouseData.MouseButtons[])"/>.
            </summary>
        </member>
        <member name="T:Celeste.Mod.QueuedTaskHelperV2">
            <summary>
              A class containing methods that allow for asynchronously executing a delegate after a specified delay.
            </summary>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Do(System.Object,System.Action)">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after the <see cref="F:Celeste.Mod.QueuedTaskHelperV2.DefaultDelay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <see cref="F:Celeste.Mod.QueuedTaskHelperV2.DefaultDelay"/>.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask"/> representing the scheduled execution of <paramref name="delegate"/>.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask"/> is already running.
            </throws>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Do(System.Object,System.TimeSpan,System.Action)">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after a given <paramref name="delay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delay">
              The delay time before executing the delegate.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <paramref name="delay"/>.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask"/> representing the delayed execution of the specified action.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask"/> is already running.
            </throws>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Do(System.Object,System.TimeSpan,System.Action,System.Threading.CancellationToken)">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after a given <paramref name="delay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delay">
              The delay time before executing the delegate.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <paramref name="delay"/>.
            </param>
            <param name="cancellationToken">
              A cancellation token to observe while waiting for the delay.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask"/> representing the delayed execution of the specified action.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask"/> is already running.
            </throws>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Get``1(System.Object,System.Func{``0})">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after the <see cref="F:Celeste.Mod.QueuedTaskHelperV2.DefaultDelay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <typeparam name="T">
              The return type of <paramref name="delegate"/>.
            </typeparam>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <see cref="F:Celeste.Mod.QueuedTaskHelperV2.DefaultDelay"/>.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask`1"/> representing the scheduled execution of <paramref name="delegate"/>.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask`1"/> is already running.
            </throws>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Get``1(System.Object,System.Func{``0},System.TimeSpan)">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after a given <paramref name="delay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <typeparam name="T">
              The return type of <paramref name="delegate"/>.
            </typeparam>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delay">
              The delay time before executing the delegate.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <paramref name="delay"/>.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask`1"/> representing the delayed execution of the specified action.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask`1"/> is already running.
            </throws>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskHelperV2.Get``1(System.Object,System.Func{``0},System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
              Schedules the given <paramref name="delegate"/> to execute asynchronously after a given <paramref name="delay"/>.
            </summary>
            <remarks>
              When a task is scheduled while another task is still running, multiple outcomes can occur depending on the state of the delay.
              See <see cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/> for details.
            </remarks>
            <typeparam name="T">
              The return type of <paramref name="delegate"/>.
            </typeparam>
            <param name="key">
              The identifier of the task.
            </param>
            <param name="delay">
              The delay time before executing the delegate.
            </param>
            <param name="delegate">
              The delegate to execute after waiting for <paramref name="delay"/>.
            </param>
            <param name="cancellationToken">
              A cancellation token to observe while waiting for the delay.
            </param>
            <returns>
              A <see cref="T:Celeste.Mod.QueuedTask`1"/> representing the delayed execution of the specified action.
            </returns>
            <throws cref="T:System.InvalidOperationException">
              A task with the same key that is not a <see cref="T:Celeste.Mod.QueuedTask`1"/> is already running.
            </throws>
        </member>
        <member name="T:Celeste.Mod.QueuedTaskBase">
            <summary>
              The base class of all queued tasks.
            </summary>
        </member>
        <member name="P:Celeste.Mod.QueuedTaskBase.Key">
            <summary>
              The key associated with the task.
            </summary>
        </member>
        <member name="P:Celeste.Mod.QueuedTaskBase.CancellationToken">
            <summary>
              The <see cref="T:System.Threading.CancellationToken"/> that can cancel the task.
            </summary>
        </member>
        <member name="P:Celeste.Mod.QueuedTaskBase.DelayTask">
            <summary>
              A task that will complete after the given delay.
            </summary>
            <seealso cref="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)"/>
        </member>
        <member name="P:Celeste.Mod.QueuedTaskBase.Queued">
            <summary>
              The queued <see cref="T:System.Threading.Tasks.Task"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.QueuedTaskBase.UpdateDelay(System.TimeSpan)">
            <summary>
              Updates the delay depending on its status.
              <list type="table">
                <listheader>
                  <term>Delay State</term>
                  <description>Outcome</description>
                </listheader>
                <item>
                  <term>Not yet awaited</term>
                  <description>The delay is replaced</description>
                </item>
                <item>
                  <term>Awaiting</term>
                  <description>The delay is overlaid (see remarks)</description>
                </item>
                <item>
                  <term>Awaited</term>
                  <description>The delay is ignored, as the callback is already executing</description>
                </item>
              </list>
            </summary>
            <remarks>
              When overlaying a <c>5</c>-second delay on top of a <c>10</c>-second delay,
              which starts <c>7.5</c> seconds after the first one, the total delay becomes <c>12.5</c> seconds.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
              Attempted to overlay a delay on a completed task.
            </exception>
        </member>
        <member name="T:Celeste.Mod.QueuedTask">
            <summary>
              A queued task that executes an <see cref="T:System.Action"/> after a delay.
            </summary>
            <seealso cref="M:Celeste.Mod.QueuedTaskHelperV2.Do(System.Object,System.Action)"/>
        </member>
        <member name="T:Celeste.Mod.QueuedTask`1">
            <summary>
              A queued task that executes a <see cref="T:System.Func`1"/> after a delay.
            </summary>
            <seealso cref="M:Celeste.Mod.QueuedTaskHelperV2.Get``1(System.Object,System.Func{``0})"/>
        </member>
        <member name="P:Celeste.Mod.QueuedTask`1.Queued">
            <inheritdoc cref="P:Celeste.Mod.QueuedTaskBase.Queued"/>
        </member>
        <member name="T:Celeste.Mod.SafeRoutine">
            <summary>
            Wrapper class for IEnumerators which perform mission-critical operations and thus
            should continue running in the background, even when the entity has been removed.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SwapImmediately">
            <summary>
            Wrapper class that coroutines can apply on IEnumerators to get rid of
            certain one-frame delays when stepping in / out of the new routine.
            </summary>
        </member>
        <member name="M:Celeste.Mod.SwapImmediatelyExtension.SafeEnumerate(System.Collections.IEnumerator)">
            <summary>
              Flattens all <see cref="T:Celeste.Mod.SwapImmediately"/> returned by the source IEnumerator.
              When writing hooks on Coroutine-style methods, 
              this method is needed if you want to access values returned from the orig Coroutine,
              for instance, if it were to return the following sequence `{1, 2, SwapImmediately({1, 2}), 3}`
              a simple enumeration of it would not pass properly the values inside the <see cref="T:Celeste.Mod.SwapImmediately" />.
              This method makes it so the returned values become the sequence `{1, 2, 1, 2, 3}`.
              (Behaviour mimicks <see cref="T:Monocle.Coroutine"/>'s handling of <see cref="T:Celeste.Mod.SwapImmediately"/>.)
            </summary>
            <returns>
              A new enumerator which flattens the sequence once <see cref="T:Celeste.Mod.SwapImmediately" />s are received.
            </returns>
            <example>
            The most common use would be hooking a Coroutine method:
            <code>
              private static IEnumerator DashCoroutine(On.Celeste.Player.orig_DashCoroutine orig, Player self) {
                IEnumerator origEnum = orig(self).SafeEnumerate();
                while (origEnum.MoveNext()) {
                  yield return origEnum.Current;
                  // Do anything here
                }
              }
            </code>
            </example>
        </member>
        <member name="M:Celeste.Mod.YamlHelper.DeserializerUsing(System.Object)">
            <summary>
            Builds a deserializer that will provide YamlDotNet with the given object instead of creating a new one.
            This will make YamlDotNet update this object when deserializing.
            </summary>
            <param name="objectToBind">The object to set fields on</param>
            <returns>The newly-created deserializer</returns>
        </member>
        <member name="T:Celeste.Mod.EverestModule">
            <summary>
            Your Everest main mod class inherits from this class.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule.Metadata">
             <summary>
             Used by Everest itself to store any module metadata.
            
             The metadata is usually parsed from meta.yaml in the archive.
            
             You can override this property to provide dynamic metadata at runtime.
             Doing so isn't advised though unless you absolutely know what you're doing.
             Note that this doesn't affect mod loading.
             </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule.SettingsType">
            <summary>
            The type used for the settings object. Used for serialization, among other things.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule._Settings">
            <summary>
            Any settings stored across runs. Everest loads this before Load gets invoked.
            Define your custom property returning _Settings typecasted as your custom settings type.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule.SaveDataType">
            <summary>
            The type used for the save data object. Used for serialization, among other things.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule._SaveData">
            <summary>
            Any save data stored across runs.
            Define your custom property returning _SaveData typecasted as your custom save data type.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule.SaveDataAsync">
            <summary>
            Whether the save and session data can be saved asynchronously and separately by Everest.
            Doing so will use [Read,Write,Deserialize,Serialize][SaveData,Session].
            Otherwise, the obsolete and forcibly synchronous [Load,Save,Delete] methods will be used.
            Defaults to true; automatically gets set to false if you override an old method without overriding any new one.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule.SessionType">
            <summary>
            The type used for the session object. Used for serialization, among other things.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModule._Session">
            <summary>
            Any save data stored for the current session.
            Define your custom property returning _Session typecasted as your custom session type.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.LoadSettings">
            <summary>
            Load the mod settings. Loads the settings from {UserIO.GetSavePath("Saves")}/modsettings-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.SaveSettings">
            <summary>
            Save the mod settings. Saves the settings to {UserIO.GetSavePath("Saves")}/modsettings-{Metadata.Name}.yaml by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.LoadSaveData(System.Int32)">
            <summary>
            Load the mod save data. Loads the save data from {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsave-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.SaveSaveData(System.Int32)">
             <summary>
             Save the mod save data. Saves the save data to {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsave-{Metadata.Name}.celeste by default.
             </summary>
            
        </member>
        <member name="M:Celeste.Mod.EverestModule.DeleteSaveData(System.Int32)">
            <summary>
            Delete the mod save data. Deletes the save data at {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsave-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.ReadSaveData(System.Int32)">
            <summary>
            Read the mod save data bytes from a file, {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsave-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.WriteSaveData(System.Int32,System.Byte[])">
            <summary>
            Write the mod save data bytes into a file, {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsave-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.DeserializeSaveData(System.Int32,System.Byte[])">
            <summary>
            Deserialize the mod save data from its raw bytes, fed with data from ReadSaveData either immediately or async.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.SerializeSaveData(System.Int32)">
            <summary>
            Serialize the mod save data into its raw bytes, to be fed into WriteSaveData immediately or async.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.LoadSession(System.Int32,System.Boolean)">
            <summary>
            Load the mod session. Loads the session from {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsession-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.SaveSession(System.Int32)">
            <summary>
            Save the mod session. Saves the session to {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsession-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.DeleteSession(System.Int32)">
            <summary>
            Delete the mod session. Deletes the session at {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsession-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.ReadSession(System.Int32)">
            <summary>
            Read the mod session bytes from a file, {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsession-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.WriteSession(System.Int32,System.Byte[])">
            <summary>
            Write the mod session bytes into a file, {UserIO.GetSavePath("Saves")}/{SaveData.GetFilename(index)}-modsession-{Metadata.Name}.celeste by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.DeserializeSession(System.Int32,System.Byte[])">
            <summary>
            Deserialize the mod session from its raw bytes, fed with data from ReadSession either immediately or async.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.SerializeSession(System.Int32)">
            <summary>
            Serialize the mod session into its raw bytes, to be fed into WriteSession immediately or async.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.Load">
            <summary>
            Perform any initializing actions after all mods have been loaded.
            Do not depend on any specific order in which the mods get initialized.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.Initialize">
            <summary>
            Perform any initializing actions after Celeste.Initialize has been called.
            Do not depend on any specific order in which the mods get initialized.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.LoadContent">
            <summary>
            Perform any content loading actions after Celeste.LoadContent has been called.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.LoadContent(System.Boolean)">
            <summary>
            Perform any content loading actions after Celeste.LoadContent has been called.
            </summary>
            <param name="firstLoad">Is this the first load?</param>
        </member>
        <member name="M:Celeste.Mod.EverestModule.Unload">
            <summary>
            Unload any unmanaged resources allocated by the mod (f.e. textures) and
            undo any changes performed by the mod.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModule.ParseArg(System.String,System.Collections.Generic.Queue{System.String})">
            <summary>
            Parse the current command-line argument and any follow-ups.
            </summary>
            <param name="arg">The current command line argument.</param>
            <param name="args">Any further arguments the mod may want to dequeue and parse.</param>
            <returns>True if the argument "belongs" to the mod, false otherwise.</returns>
        </member>
        <member name="M:Celeste.Mod.EverestModule.CreateModMenuSection(Celeste.patch_TextMenu,System.Boolean,FMOD.Studio.EventInstance)">
            <summary>
            Create the mod menu subsection including the section header in the given menu.
            The default implementation uses reflection to attempt creating a menu.
            </summary>
            <param name="menu">Menu to add the section to.</param>
            <param name="inGame">Whether we're in-game (paused) or in the main menu.</param>
            <param name="snapshot">The Level.PauseSnapshot</param>
        </member>
        <member name="M:Celeste.Mod.EverestModule.PrepareMapDataProcessors(Celeste.Mod.MapDataFixup)">
            <summary>
            Create and add any map data processors to the given context, if any are needed.
            </summary>
            <param name="context">The context to add the processors to.</param>
        </member>
        <member name="T:Celeste.Mod.EverestModuleAssemblyContext">
            <summary>
            A module's assembly context, which handles resolving/loading mod assemblies
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleAssemblyContext.AssemblyLoadBlackList">
            <summary>
            A list of assembly names which must not be loaded by a mod. The list will be initialized upon first access (which is before any mods will have loaded).
            </summary>
        </member>
        <member name="F:Celeste.Mod.EverestModuleAssemblyContext.UnmanagedLibraryFolder">
            <summary>
            The folder name where mod unmanaged assemblies will be loaded from.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.CalcAssemblyCacheChecksums(System.Collections.Generic.List{System.String},System.String,System.String)">
            <summary>
            Calculates the checksums used to cache the assembly in any relevant
            caches (like the relinker cache), and adds them to the given list.
            Note that said checksums must not necessarily be unique!
            </summary>
            <param name="checksums">The list to add the calculated checksums to</param>
            <param name="path">The path of the assembly inside of the mod</param>
            <param name="symPath">The path of the assembly's symbols inside of mod, or null</param>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.CalcAssemblyCacheChecksums(System.String,System.String)">
            <summary>
            Calculates the checksums used to cache the assembly in any relevant
            caches (like the relinker cache).
            </summary>
            <param name="path">The path of the assembly inside of the mod.</param>
            <param name="symPath">The path of the assembly's symbols inside of mod, or null.</param>
            <returns>The calculated checksums for the file.</returns>
        </member>
        <member name="T:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums">
            <summary>
            Represents all the checksum data for an assembly, either from the cache or
            from one that's about to be loaded.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums.#ctor(System.String,System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Represents all the checksum data for an assembly, either from the cache or
            from one that's about to be loaded.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums.WriteToFile(System.String)">
            <summary>
            Writes the data to a file, see <see cref="M:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums.ReadFromFile(System.String)"/> for a description
            of the file format.
            </summary>
            <param name="path">The path to the file to write to.</param>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums.ReadFromFile(System.String)">
            <summary>
            Creates an instance from a file, format is as following:
            We take all the data and partition it on each new line character into strings, keeping empty strings.
            Then, the first element will be the game checksum, the second one, the file checksum,
            the third one, the symbol file (pdb) checksum, or empty an empty string if it doesn't exist or we are working with
            archives (zips).
            After the third element, each element is of the format `Name:Hash`, where Name is the meta name and
            Hash is the hash for that meta, this represents a dependency. Until an empty element, which marks the
            end of the dependencies list. After this element and until the end of file, the optional dependencies list follow
            in the same format.
            </summary>
            <param name="path">Path to read from.</param>
            <returns>A populated instance.</returns>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums.IsValidWith(Celeste.Mod.EverestModuleAssemblyContext.AsmChecksums)">
            <summary>
            Verifies whether the current instance is a valid in respect to the one passed in:
            Game, file, and symbol checksums must always match for it to be valid, but
            the requirements for dependencies and optional dependencies are different.
            We consider this instance valid with respect to the one passed in, if for every dependency D present
            in this instance, D is also present in <paramref name="other"/>, and it is associated with the same checksum.
            The same reasoning goes with optional dependencies.
            </summary>
            <param name="other">The other cache to check with.</param>
            <returns>Whether this is compatible with <paramref name="other"/></returns>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.LoadAssemblyFromModPath(System.String,System.String)">
            <summary>
            Tries to load an assembly from a given path inside the mod.
            This path is an absolute path if the the mod was loaded from a directory, or a path into the mod ZIP otherwise.
            </summary>
            <param name="path">The path to load the assembly from</param>
            <param name="asmName">The assembly name, or null for the default</param>
            <returns></returns>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.LoadRelinkedAssembly(System.String)">
            <summary>
            Loads a relinked assembly into this load context
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleAssemblyContext.Resolve(Mono.Cecil.AssemblyNameReference)">
            <summary>
            Resolves an assembly name reference to an assembly definition
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleBinarySaveData">
            <summary>
            Per-save-slot mod data, binary formatted.
            Everest loads / saves this for you as .bin by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySaveData.Read(System.IO.BinaryReader)">
            <summary>
            Read the save data from the given BinaryReader to the current object.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySaveData.Write(System.IO.BinaryWriter)">
            <summary>
            Write the save data from the current object to the given BinaryWriter.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleBinarySession">
            <summary>
            Per-session mod data, binary formatted.
            Everest loads / saves this for you as .bin by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySession.Read(System.IO.BinaryReader)">
            <summary>
            Read the session from the given BinaryReader to the current object.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySession.Write(System.IO.BinaryWriter)">
            <summary>
            Write the session from the current object to the given BinaryWriter.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleBinarySettings">
            <summary>
            Global mod settings, binary formatted, which will show up in the mod options menu.
            Everest loads / saves this for you as .bin by default.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySettings.Read(System.IO.BinaryReader)">
            <summary>
            Read the settings from the given BinaryReader to the current object.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleBinarySettings.Write(System.IO.BinaryWriter)">
            <summary>
            Write the settings from the current object to the given BinaryWriter.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleMetadata">
            <summary>
            Any module metadata, usually mirroring the data in your metadata.yaml
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.Multimeta">
            <summary>
            The collection of mod metadatas this mod metadata is part of. Set at runtime.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.PathArchive">
            <summary>
            The path to the ZIP of the mod. In case of unzipped mods, an empty string. Set at runtime.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.PathDirectory">
            <summary>
            The path to the directory of the mod. In case of .zips, an empty string. Set at runtime.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.AssemblyContext">
            <summary>
            The mod's assembly context. Can be null if this is the metadata of a mod which isn't loaded. Set at runtime.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.Name">
            <summary>
            The name of the mod.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.Version">
            <summary>
            The mod version.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.DLL">
            <summary>
            The path of the mod .dll inside the ZIP or the absolute DLL path if in a directory.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.Dependencies">
            <summary>
            The dependencies of the mod.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.OptionalDependencies">
            <summary>
            The optional dependencies of the mod. This mod will load after the mods listed here if they are installed; if they aren't, the mod will load anyway.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.Hash">
            <summary>
            The runtime mod hash. Might not be determined by all mod content.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.SupportsCodeReload">
            <summary>
            Whether this module supports experimental live code reloading or not.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleMetadata.IsNetCoreOnlyMod">
            <summary>
            Whether this module is .NET Core only or not.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleMetadata.PostParse">
            <summary>
            Perform a few basic post-parsing operations. For example, make the DLL path absolute if the mod is in a directory.
            </summary>
        </member>
        <member name="M:Celeste.Mod.EverestModuleMetadata.RegisterMod">
            <summary>
            Performs the mod registration tasks that should be performed for every mod once, not for every instance of EverestModule or every DLL.
            Called after the EverestModules have been registered.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleSaveData">
            <summary>
            Per-save-slot mod data.
            Everest loads / saves this for you as .yaml by default.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleSaveData.Index">
            <summary>
            The save data index. Assigned by Everest itself when loading it.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleSession">
            <summary>
            Per-session mod data.
            Everest loads / saves this for you as .yaml by default.
            </summary>
        </member>
        <member name="P:Celeste.Mod.EverestModuleSession.Index">
            <summary>
            The save data index. Assigned by Everest itself when loading it.
            </summary>
        </member>
        <member name="T:Celeste.Mod.EverestModuleSettings">
            <summary>
            Global mod settings, which will show up in the mod options menu.
            Everest loads / saves this for you as .yaml by default.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingNameAttribute">
            <summary>
            The dialog key / name for the settings option.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingInGameAttribute">
            <summary>
            Whether the option should be shown in-game or in the main menu only.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingInGameDisableAttribute">
            <summary>
            Whether the option should be disabled in-game or in the main menu.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingRangeAttribute">
            <summary>
            The integer option range.
            If largeRange is set to true, a slider optimized for large integer ranges (going through values at an increasing speed) will be used.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingMaxLengthAttribute">
            <summary>
            Allows to set the maximum length of string settings.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingMinLengthAttribute">
            <summary>
            Allows setting the minimum length of a string setting.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingNumberInputAttribute">
            <summary>
            Shows a button that will open a number input screen. Supported on int and float properties.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingNeedsRelaunchAttribute">
            <summary>
            Any options with this attribute will notify the user that a restart is required to apply the changes.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingSubTextAttribute">
            <summary>
            Add a description shown when the setting is selected
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingIgnoreAttribute">
            <summary>
            Ignore the setting in the default mod options menu handler.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingSubHeaderAttribute">
            <summary>
            Insert a subheader before the setting.
            </summary>
        </member>
        <member name="T:Celeste.Mod.SettingSubMenuAttribute">
            <summary>
            When used as a <see cref="T:Celeste.Mod.EverestModuleSettings"/> property type, create a submenu based on this type.
            </summary>
        </member>
        <member name="T:Celeste.Mod.DecalRegistry">
            <summary>
            Allows custom decals to have properties that are otherwise hardcoded, such as reflections, parallax, etc.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DecalRegistry.RegisteredDecals">
            <summary>
            Mapping of decal paths to decal registry properties.
            </summary>
        </member>
        <member name="P:Celeste.Mod.DecalRegistry.PropertyHandlerFactories">
            <summary>
            Stores factory methods which create DecalRegistryHandler instances
            </summary>
        </member>
        <member name="F:Celeste.Mod.DecalRegistry.EverestHandlersRegistered">
            <summary>
            Stores whether Everest's DecalRegistryHandlers have been registered already.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DecalRegistry._loaded">
            <summary>
            Whether the Decal Registry has been fully loaded,
            used to detect when it needs to be reloaded after AddPropertyHandler gets called.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DecalRegistry._willHotReload">
            <summary>
            Whether the Decal Registry will be hot-reloaded on the end of this frame / on the end of the current reload,
            due to AddPropertyHandler being called after the registry was already loaded.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.AddPropertyHandler(System.String,System.Action{Celeste.Decal,System.Xml.XmlAttributeCollection})">
            <summary>
            Adds a custom property to the decal registry. See the Celeste.Mod.Registry.DecalRegistryHandlers namespace to see Everest-defined properties.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.AddPropertyHandler``1">
            <summary>
            Adds a custom property to the decal registry. See the Celeste.Mod.Registry.DecalRegistryHandlers namespace to see Everest-defined properties.
            </summary>
            <typeparam name="T">The type of DecalRegistryHandler to use</typeparam>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.GetScaledOffset(Celeste.Decal,System.Single,System.Single)">
            <summary>
            Returns a vector offset scaled relative to a decal.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.GetScaledRadius(Celeste.Decal,System.Single)">
            <summary>
            Returns a radius scaled relative to a decal.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.ScaleRectangle(Celeste.Decal,System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Returns the components of a rectangle scaled relative to a decal (float).
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.ScaleRectangle(Celeste.Decal,System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Returns the components of a rectangle scaled relative to a decal (int).
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.LoadDecalRegistry">
            <summary>
            Loads the decal registry for every enabled mod.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.LoadModDecalRegistry(Celeste.Mod.ModAsset)">
            <summary>
            Loads a mod's decal registry file.
            </summary>
        </member>
        <member name="M:Celeste.Mod.DecalRegistry.ReadDecalRegistryXml(Celeste.Mod.ModAsset)">
            <summary>
            Reads a decal registry file and returns a sorted list of properties per decal path.
            </summary>
        </member>
        <member name="F:Celeste.Mod.DecalRegistry.DecalInfo.CustomProperties">
            <summary>
            PropertyName -> AttributeCollection
            </summary>
        </member>
        <member name="T:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler">
            <summary>
            Represents a handler for a specific decal registry tag.
            A new instance of this class will be created for each xml entry.
            To register your handler, call <see cref="M:Celeste.Mod.DecalRegistry.AddPropertyHandler``1"/>
            </summary>
        </member>
        <member name="P:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.Name">
            <summary>
            The name of this handler, which should match the xml tag name which creates this handler.
            This field will be accessed in <see cref="M:Celeste.Mod.DecalRegistry.AddPropertyHandler``1"/>, as well as in error handling.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.Parse(System.Xml.XmlAttributeCollection)">
            <summary>
            Parses the xml entry for an instance of this decal registry property.
            This function gets called once per class instance, while parsing the xml file.
            Use it to cache attributes from xml into fields on this handler instance.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.ApplyTo(Celeste.Decal)">
            <summary>
            Applies this handler to the given decal.
            This function gets called for each decal, so make sure to do as much work as possible in <see cref="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.Parse(System.Xml.XmlAttributeCollection)"/> instead.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.Get``1(System.Xml.XmlAttributeCollection,System.String,``0)">
            <summary>
            Gets a parsable value from the xml attribute named <paramref name="attr"/>.
            If the attribute does not exist or is invalid, returns <paramref name="def"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.GetBool(System.Xml.XmlAttributeCollection,System.String,System.Boolean)">
            <summary>
            Gets a bool value from the xml attribute named <paramref name="attr"/>.
            If the attribute does not exist or is invalid, returns <paramref name="def"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.GetString(System.Xml.XmlAttributeCollection,System.String,System.String)">
            <summary>
            Gets a string value from the xml attribute named <paramref name="attr"/>.
            If the attribute does not exist or is invalid, returns <paramref name="def"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.GetHexColor(System.Xml.XmlAttributeCollection,System.String,Microsoft.Xna.Framework.Color)">
            <summary>
            Gets a hex color value from the xml attribute named <paramref name="attr"/>, by calling <see cref="M:Monocle.Calc.HexToColor(System.String)"/>.
            If the attribute does not exist or is invalid, returns <paramref name="def"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.GetCSVIntWithTricks(System.Xml.XmlAttributeCollection,System.String,System.String)">
            <summary>
            Gets a CSV int array value from the xml attribute named <paramref name="attr"/>, by calling <see cref="M:Monocle.Calc.ReadCSVIntWithTricks(System.String)"/>.
            If the attribute does not exist or is invalid, returns <paramref name="def"/>.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.GetNullable``1(System.Xml.XmlAttributeCollection,System.String)">
            <summary>
            Equivalent to <see cref="M:Celeste.Mod.Registry.DecalRegistryHandlers.DecalRegistryHandler.Get``1(System.Xml.XmlAttributeCollection,System.String,``0)"/>, but returns null for value types if the attribute does not exist.
            </summary>
        </member>
        <member name="T:Celeste.Mod.Registry.DecalRegistryHandlers.LegacyDecalRegistryHandler">
            <summary>
            A wrapper class which allows legacy callback-style decal registry handlers to work with the new system
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.EntityRegistry.GetKnownTypesFromSid(System.String)">
            <summary>
            Gets a set of all known C# types associated with the given entity sid.
            Might not necessarily be exhaustive, for example if entities from that sid have not been instantiated yet.
            </summary>
        </member>
        <member name="M:Celeste.Mod.Registry.EntityRegistry.GetKnownSidsFromType(System.Type)">
            <summary>
            Gets a set of all known sids associated with the given C# type.
            Might not necessarily be exhaustive, for example if entities from that type have not been instantiated yet.
            </summary>
        </member>
        <member name="T:Celeste.Mod.IStrawberry">
            <summary>
            All registered Strawberries must implement the IStrawberry interface.
            This enables the Strawberry Registry and its related modifications
            to do the heavy lifting painlessly.
            </summary>
        </member>
        <member name="T:Celeste.Mod.IStrawberrySeeded">
            <summary>
            If your strawberry has seeds and you want to use GenericStrawberrySeed,
            implement this interface. Everest will do the rest.
            </summary>
        </member>
        <member name="T:Celeste.Mod.StrawberryRegistry">
            <summary>
            Allows mods to register their own strawberry-type collectible objects.<para />
            Registered strawberries can be tracked or secret, and will attempt to autocollect when appropriate e.g. level end.
            </summary>
        </member>
        <member name="M:Celeste.Mod.StrawberryRegistry.IsRegisteredBerry(System.String)">
            <summary>
            Checks whether the given name represents a registered berry.
            </summary>
        </member>
        <member name="T:Celeste.Mod.UI.BlackScreen">
            <summary>
            A Scene that forces the screen to be black.
            </summary>
        </member>
        <member name="E:Celeste.Mod.UI.CriticalErrorHandler.OnBeforePlayerRender">
            <summary>
            This event is invoked before the player sprite is being rendered to
            its render target. Handlers may modify the sprite batch state which
            is used for drawing the sprite. When invoked, there's no active
            sprite batch, but the render target has already been bound and
            cleared.
            </summary>
        </member>
        <member name="E:Celeste.Mod.UI.CriticalErrorHandler.OnAfterPlayerRender">
            <summary>
            This event is invoked after the player sprite has been rendered to
            its render target. When invoked, the sprite batch has already been
            ended.
            </summary>
        </member>
        <member name="T:Celeste.Mod.UI.OuiFileSelectSlotSubmenu">
            <summary>
            Just a handy wrapper on OuiGenericMenu for OuiFileSelectSlot submenus specifically.
            </summary>
        </member>
        <member name="T:Celeste.Mod.UI.OuiGenericMenu">
            <summary>
            A generic menu screen, showing options.
            </summary>
        </member>
        <member name="F:Celeste.Mod.UI.OuiGenericMenu.menu">
            <summary>
            The text menu this screen contains.
            </summary>
        </member>
        <member name="P:Celeste.Mod.UI.OuiGenericMenu.MenuName">
            <summary>
            The title for the menu.
            </summary>
        </member>
        <member name="F:Celeste.Mod.UI.OuiGenericMenu.parameters">
            <summary>
            Optional parameters this menu can take.
            </summary>
        </member>
        <member name="F:Celeste.Mod.UI.OuiGenericMenu.backToParentMenu">
            <summary>
            An action executed when the player presses Back.
            </summary>
        </member>
        <member name="F:Celeste.Mod.UI.OuiGenericMenu.canGoBack">
            <summary>
            Whether the player can go back to the parent menu.
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiGenericMenu.addOptionsToMenu(Celeste.patch_TextMenu)">
            <summary>
            Adds all the submenu options to the TextMenu given in parameter.
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiGenericMenu.Goto``1(System.Action{Celeste.Overworld},System.Object[])">
            <summary>
            Navigates from the current screen to a OuiGenericMenu <b>in the overworld</b>. Does NOT work from the pause menu.
            </summary>
            <typeparam name="T">The OuiGenericMenu to navigate to</typeparam>
            <param name="backToParentMenu">An action to come back to the current menu (generally <code>overworld.Goto&lt;ParentMenuType&gt;()</code></param>
            <param name="parameters">Optional parameters the menu will get in its "options" attribute</param>
        </member>
        <member name="T:Celeste.Mod.UI.OuiModOptions.ISubmenu">
            <summary>
            Interface used to "tag" mod options submenus.
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiModOptions.createModMenuSectionAndDelete(System.Collections.Generic.List{Celeste.Mod.EverestModule},System.Predicate{Celeste.Mod.EverestModule},Celeste.patch_TextMenu,System.Boolean,FMOD.Studio.EventInstance)">
            <summary>
            Adds the mod menu section for the first element of 'modules' that matches 'criteria',
            then removes it from the 'modules' list.
            </summary>
            <returns>true if an element matching 'criteria' was found, false otherwise.</returns>
        </member>
        <member name="T:Celeste.Mod.UI.OuiTextEntry">
            <summary>
            Wrapper of <see cref="T:Celeste.Mod.UI.OuiModOptionString"/> for consistent naming
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiModUpdateList.downloadModUpdate(Celeste.Mod.UI.OuiModUpdateList.ModUpdateHolder)">
            <summary>
            Downloads and installs a mod update.
            </summary>
            <param name="modHolder">The relevant info for the mod</param>
        </member>
        <member name="M:Celeste.Mod.UI.OuiModUpdateList.doDownloadModUpdate(Celeste.Mod.Helpers.ModUpdateInfo,Celeste.Mod.EverestModuleMetadata,Celeste.TextMenu.Button)">
            <summary>
            Does the actual downloading of the mod. This is it's own function, to avoid double code
            </summary>
            <param name="update">The update info coming from the update server</param>
            <param name="mod">The mod metadata from Everest for the installed mod</param>
            <param name="button">The button for that mod shown on the interface</param>
            <returns>Bool wether the update failed or not</returns>
        </member>
        <member name="M:Celeste.Mod.UI.OuiModUpdateList.downloadMod(Celeste.Mod.Helpers.ModUpdateInfo,Celeste.TextMenu.Button,System.String)">
            <summary>
            Downloads a mod update.
            </summary>
            <param name="update">The update info coming from the update server</param>
            <param name="button">The button for that mod shown on the interface</param>
            <param name="zipPath">The path to the zip the update will be downloaded to</param>
        </member>
        <member name="M:Celeste.Mod.UI.OuiModUpdateList.downloadAllMods">
            <summary>
            Downloads all automatically updatable mods
            </summary>
        </member>
        <member name="T:Celeste.Mod.UI.OuiNumberEntry">
            <summary>
            Modification of <see cref="T:Celeste.Mod.UI.OuiModOptionString"/> to handle numeric input.
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiNumberEntry.Init``1(System.Single,System.Action{System.Single},System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Sets up the OuiNumberEntry screen.
            </summary>
            <typeparam name="T">Oui to return to on exit</typeparam>
            <param name="value">Initial value</param>
            <param name="onValueChange">Action to be called when a new value is set.</param>
            <param name="maxValueLength">The number of digits allowed, excluding "-" and "."</param>
            <param name="allowDecimals">If decimal numbers should be allowed</param>
            <param name="allowNegatives">If negative numbers should be allowed</param>
            <returns></returns>
        </member>
        <member name="P:Celeste.Mod.UI.OuiPropertiesAttribute.PlayCustomMusic">
            <summary>
            Whether the mountain music for the current map should play in this menu.
            </summary>
        </member>
        <member name="M:Celeste.Mod.UI.OuiPropertiesAttribute.#ctor(System.Boolean)">
            <summary>
            Configures extra properties for this Oui.
            </summary>
            <param name="playCustomMusic">A list of unique identifiers for this Backdrop.</param>
        </member>
        <member name="T:Celeste.TextMenuExt.EaseInSubHeaderExt">
            <summary>
            Sub-header that eases in/out when FadeVisible is changed.
            </summary>
        </member>
        <member name="P:Celeste.TextMenuExt.EaseInSubHeaderExt.FadeVisible">
            <summary>
            Toggling this will make the header ease in/out.
            </summary>
        </member>
        <member name="M:Celeste.TextMenuExt.EaseInSubHeaderExt.#ctor(System.String,System.Boolean,Celeste.TextMenu,System.String)">
            <summary>
            Creates a EaseInSubHeaderExt.
            </summary>
            <param name="title">The sub-header title</param>
            <param name="initiallyVisible">The initial value for FadeVisible</param>
            <param name="containingMenu">The menu containing this SubHeader</param>
            <param name="icon">An icon for the sub-header</param>
        </member>
        <member name="T:Celeste.TextMenuExt.EnumSlider`1">
            <summary>
            Convenience class for creating a <see cref="T:Celeste.TextMenu.Option`1"/> from an <see cref="T:System.Enum"/>.<br></br>
            Not to be confused with <see cref="T:Celeste.TextMenuExt.EnumerableSlider`1"/>
            </summary>
            <typeparam name="T">Enum Type</typeparam>
        </member>
        <member name="M:Celeste.TextMenuExt.EnumSlider`1.#ctor(System.String,`0)">
            <summary>
            Creates a new <see cref="T:Celeste.TextMenuExt.EnumSlider`1"/>
            </summary>
            <param name="label">Slider label (defaults to enum name)</param>
            <param name="startValue">Initial value</param>
        </member>
        <member name="T:Celeste.TextMenuExt.EnumerableSlider`1">
            <summary>
            Convenience class for creating a <see cref="T:Celeste.TextMenu.Option`1"/> from a <see cref="T:System.Collections.Generic.IEnumerable`1"/>.<br></br>
            Not to be confused with <see cref="T:Celeste.TextMenuExt.EnumSlider`1"/>
            </summary>
            <typeparam name="T">Value Type</typeparam>
        </member>
        <member name="M:Celeste.TextMenuExt.EnumerableSlider`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0},`0)">
            <summary>
            Creates a new <see cref="T:Celeste.TextMenuExt.EnumerableSlider`1"/>
            </summary>
            <param name="label">Slider label</param>
            <param name="options"></param>
            <param name="startValue">Initial value</param>
        </member>
        <member name="M:Celeste.TextMenuExt.EnumerableSlider`1.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.String}},`0)">
            <summary>
            Creates a new <see cref="T:Celeste.TextMenuExt.EnumerableSlider`1"/>
            </summary>
            <param name="label">Slider label</param>
            <param name="options">IEnumerable containing <typeparamref name="T"/>, <see cref="T:System.String"/> pairs.</param>
            <param name="startValue">Initial value</param>
        </member>
        <member name="T:Celeste.TextMenuExt.IntSlider">
            <summary>
            A Slider optimized for large integer ranges.<br></br>
            Inherits directly from <see cref="T:Celeste.TextMenu.Item"/>
            </summary>
        </member>
        <member name="M:Celeste.TextMenuExt.IntSlider.#ctor(System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a new <see cref="T:Celeste.TextMenuExt.IntSlider"/>
            </summary>
            <param name="label">Slider label</param>
            <param name="min">Minimum possible value</param>
            <param name="max">Maximum possible value</param>
            <param name="value">Initial value<br></br>Restricted between min and max</param>
        </member>
        <member name="M:Celeste.TextMenuExt.IntSlider.Change(System.Action{System.Int32})">
            <inheritdoc cref="M:Celeste.TextMenu.Option`1.Change(System.Action{`0})"/>
        </member>
        <member name="T:Celeste.TextMenuExt.SubMenu">
            <summary>
            <see cref="T:Celeste.TextMenu.Item"/> that acts as a Submenu for other Items.
            <br/><br/>
            Currently does not support recursive submenus
            </summary>
        </member>
        <member name="P:Celeste.TextMenuExt.SubMenu.Items">
            <inheritdoc cref="P:Celeste.patch_TextMenu.Items"/>
        </member>
        <member name="F:Celeste.TextMenuExt.SubMenu.Selection">
            <inheritdoc cref="F:Celeste.TextMenu.Selection"/>
        </member>
        <member name="P:Celeste.TextMenuExt.SubMenu.Current">
            <inheritdoc cref="P:Celeste.TextMenu.Current"/>
        </member>
        <member name="P:Celeste.TextMenuExt.SubMenu.FirstPossibleSelection">
            <inheritdoc cref="P:Celeste.TextMenu.FirstPossibleSelection"/>
        </member>
        <member name="P:Celeste.TextMenuExt.SubMenu.LastPossibleSelection">
            <inheritdoc cref="P:Celeste.TextMenu.LastPossibleSelection"/>
        </member>
        <member name="P:Celeste.TextMenuExt.SubMenu.ScrollTargetY">
            <inheritdoc cref="P:Celeste.TextMenu.ScrollTargetY"/>
        </member>
        <member name="F:Celeste.TextMenuExt.SubMenu.ItemSpacing">
            <inheritdoc cref="F:Celeste.TextMenu.ItemSpacing"/>
        </member>
        <member name="F:Celeste.TextMenuExt.SubMenu.HighlightColor">
            <inheritdoc cref="F:Celeste.TextMenu.HighlightColor"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.#ctor(System.String,System.Boolean)">
            <summary>
            Create a new SubMenu.
            </summary>
            <param name="label"></param>
            <param name="enterOnSelect">Expand submenu when selected</param>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.Add(Celeste.TextMenu.Item)">
            <summary>
            Add any non-submenu <see cref="T:Celeste.TextMenu.Item"/> to the Submenu
            </summary>
            <param name="item">Item to be added</param>
            <returns></returns>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.Insert(System.Int32,Celeste.TextMenu.Item)">
            <summary>
            Insert any non-submenu <see cref="T:Celeste.TextMenu.Item"/> into the Submenu at <paramref name="index"/>
            </summary>
            <param name="index"></param>
            <param name="item">Item to be inserted</param>
            <returns></returns>v
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.Remove(Celeste.TextMenu.Item)">
            <summary>
            Remove any non-submenu <see cref="T:Celeste.TextMenu.Item"/> from the Submenu
            </summary>
            <param name="item">Item to be removed</param>
            <returns></returns>v
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.Clear">
            <inheritdoc cref="M:Celeste.TextMenu.Clear"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.IndexOf(Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.TextMenu.IndexOf(Celeste.TextMenu.Item)"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.FirstSelection">
            <inheritdoc cref="M:Celeste.TextMenu.FirstSelection"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.LastSelection">
            <summary>
            Set the selection to the last possible <see cref="T:Celeste.TextMenu.Item"/>.
            </summary>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.MoveSelection(System.Int32,System.Boolean)">
            <inheritdoc cref="M:Celeste.TextMenu.MoveSelection(System.Int32,System.Boolean)"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.RecalculateSize">
            <inheritdoc cref="M:Celeste.TextMenu.RecalculateSize"/>
        </member>
        <member name="M:Celeste.TextMenuExt.SubMenu.GetYOffsetOf(Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.TextMenu.GetYOffsetOf(Celeste.TextMenu.Item)"/>
        </member>
        <member name="T:Celeste.TextMenuExt.OptionSubMenu">
            <summary>
            <see cref="T:Celeste.TextMenu.Item"/> that acts as a Slider of Submenus for other Items.
            <br/><br/>
            Currently does not support recursive submenus
            </summary>
        </member>
        <member name="F:Celeste.TextMenuExt.OptionSubMenu.Selection">
            <inheritdoc cref="F:Celeste.TextMenu.Selection"/>
        </member>
        <member name="F:Celeste.TextMenuExt.OptionSubMenu.OnValueChange">
            <summary>
            Invoked when the selected menu is changed.
            </summary>
        </member>
        <member name="P:Celeste.TextMenuExt.OptionSubMenu.CurrentMenu">
            <summary>
            The selected set of <see cref="T:Celeste.TextMenu.Item"/>s.
            </summary>
        </member>
        <member name="P:Celeste.TextMenuExt.OptionSubMenu.Current">
            <inheritdoc cref="P:Celeste.TextMenu.Current"/>
        </member>
        <member name="P:Celeste.TextMenuExt.OptionSubMenu.FirstPossibleSelection">
            <inheritdoc cref="P:Celeste.TextMenu.FirstPossibleSelection"/>
        </member>
        <member name="P:Celeste.TextMenuExt.OptionSubMenu.LastPossibleSelection">
            <inheritdoc cref="P:Celeste.TextMenu.LastPossibleSelection"/>
        </member>
        <member name="P:Celeste.TextMenuExt.OptionSubMenu.ScrollTargetY">
            <inheritdoc cref="P:Celeste.TextMenu.ScrollTargetY"/>
        </member>
        <member name="F:Celeste.TextMenuExt.OptionSubMenu.ItemSpacing">
            <inheritdoc cref="F:Celeste.TextMenu.ItemSpacing"/>
        </member>
        <member name="M:Celeste.TextMenuExt.OptionSubMenu.Add(System.String,System.Collections.Generic.List{Celeste.TextMenu.Item})">
            <summary>
            Add a list of non-submenu <see cref="T:Celeste.TextMenu.Item"/>s to the Submenu
            </summary>
            <param name="label">Displayed submenu label</param>
            <param name="items">Items to be added to the submenu</param>
            <returns></returns>
        </member>
        <member name="M:Celeste.TextMenuExt.OptionSubMenu.FirstSelection">
            <inheritdoc cref="M:Celeste.TextMenu.FirstSelection"/>
        </member>
        <member name="M:Celeste.TextMenuExt.OptionSubMenu.MoveSelection(System.Int32,System.Boolean)">
            <inheritdoc cref="M:Celeste.TextMenu.MoveSelection(System.Int32,System.Boolean)"/>
        </member>
        <member name="M:Celeste.TextMenuExt.OptionSubMenu.Change(System.Action{System.Int32})">
            <summary>
            Set the action to be invoked when the selected menu is changed.
            </summary>
        </member>
        <member name="M:Celeste.TextMenuExt.GetItems(Celeste.TextMenu)">
            <summary>
            Get a list of all items which have been added to the menu.
            </summary>
        </member>
        <member name="M:Celeste.TextMenuExt.Insert(Celeste.TextMenu,System.Int32,Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.patch_TextMenu.Insert(System.Int32,Celeste.TextMenu.Item)"/>
        </member>
        <member name="M:Celeste.TextMenuExt.Remove(Celeste.TextMenu,Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.patch_TextMenu.Remove(Celeste.TextMenu.Item)"/>
        </member>
        <member name="M:Celeste.patch_AngryOshiro.AddState(System.String,System.Func{Celeste.AngryOshiro,System.Int32},System.Func{Celeste.AngryOshiro,System.Collections.IEnumerator},System.Action{Celeste.AngryOshiro},System.Action{Celeste.AngryOshiro})">
             <summary>
             Adds a new state to this oshiro with the given behaviour, and returns the index of the new state.
            
             States should always be added during the <c>Events.AngryOshiro.OnRegisterStates</c> event.
             </summary>
             <param name="name">The name of this state, for display purposes by mods only.</param>
             <param name="onUpdate">A function to run every frame during this state, returning the index of the state that should be switched to next frame.</param>
             <param name="coroutine">A function that creates a coroutine to run when this state is switched to.</param>
             <param name="begin">An action to run when this state is switched to.</param>
             <param name="end">An action to run when this state ends.</param>
             <returns>The index of the new state.</returns>
        </member>
        <member name="F:Celeste.patch_AreaData.SID">
            <summary>
            The SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.IsInterludeUnsafe(Celeste.patch_AreaData)">
            <summary>
            Check if the AreaData is an interlude (like Prologue and Epilogue).
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.ToKey(Celeste.patch_AreaData,Celeste.AreaMode)">
            <summary>
            Get an AreaKey for this area.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.GetLevelSet(Celeste.patch_AreaData)">
            <summary>
            Get the name of the level set this area belongs to.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.IsOfficialLevelSet(Celeste.patch_AreaData)">
            <summary>
            Check if the area is official.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.GetSID(Celeste.patch_AreaData)">
            <summary>
            Get the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.SetSID(Celeste.patch_AreaData,System.String)">
            <summary>
            Set the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.GetMeta(Celeste.patch_AreaData)">
            <summary>
            Get the custom metadata if it has been loaded from the .meta or set otherwise.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.SetMeta(Celeste.patch_AreaData,Celeste.Mod.Meta.MapMeta)">
            <summary>
            Set the custom metadata.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.GetASideAreaDataBackup(Celeste.patch_AreaData)">
            <summary>
            Get the A-Side's area data backup.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.SetASideAreaDataBackup(Celeste.patch_AreaData,Celeste.AreaData)">
            <summary>
            Set the A-Side's area data backup.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.RestoreASideAreaData(Celeste.patch_AreaData)">
            <summary>
            Restore A-Side's area data from backup.
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.GetModeMeta(Celeste.patch_AreaData,Celeste.AreaMode)">
            <summary>
            Get the custom metadata of the mode if OverrideASideMeta is enabled. 
            </summary>
        </member>
        <member name="M:Celeste.AreaDataExt.OverrideASideMeta(Celeste.patch_AreaData,Celeste.AreaMode)">
            <summary>
            Apply the metadata of the mode to the area if OverrideASideMeta is enabled.
            </summary>
        </member>
        <member name="P:Celeste.patch_AreaKey.SID">
            <summary>
            The SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaKeyExt.GetLevelSet(Celeste.AreaKey)">
            <summary>
            Get the name of the level set this area belongs to.
            </summary>
        </member>
        <member name="M:Celeste.AreaKeyExt.GetSID(Celeste.AreaKey)">
            <summary>
            Get the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaKeyExt.SetSID(Celeste.AreaKey,System.String)">
            <summary>
            Set the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaKeyExt.GetRelativeIndex(Celeste.AreaKey)">
            <summary>
            Get the index of the area relative to the first area in the level set.
            Depends on the currently loaded area list.
            </summary>
        </member>
        <member name="F:Celeste.patch_AreaStats.SID">
            <summary>
            The SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaStatsExt.ToKey(Celeste.patch_AreaStats,Celeste.AreaMode)">
            <summary>
            Get an AreaKey for this area.
            </summary>
        </member>
        <member name="M:Celeste.AreaStatsExt.GetLevelSet(Celeste.AreaStats)">
            <summary>
            Get the name of the level set this area belongs to.
            </summary>
        </member>
        <member name="M:Celeste.AreaStatsExt.GetSID(Celeste.AreaStats)">
            <summary>
            Get the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.AreaStatsExt.SetSID(Celeste.AreaStats,System.String)">
            <summary>
            Set the SID (string ID) of the area.
            </summary>
        </member>
        <member name="M:Celeste.patch_Audio.IngestBank(Celeste.Mod.ModAsset)">
            <summary>
            Loads an FMOD Bank from the given asset.
            </summary>
        </member>
        <member name="M:Celeste.patch_Audio.IngestGUIDs(Celeste.Mod.ModAsset)">
            <summary>
            Loads an FMOD GUID table from the given asset.
            </summary>
        </member>
        <member name="M:Celeste.AudioExt.CheckFMOD(FMOD.RESULT)">
            <summary>
            Checks if the given FMOD result is RESULT.OK. Throws otherwise.
            </summary>
        </member>
        <member name="M:Celeste.AudioExt.IngestBank(Celeste.Mod.ModAsset)">
            <inheritdoc cref="M:Celeste.patch_Audio.IngestBank(Celeste.Mod.ModAsset)"/>
        </member>
        <member name="M:Celeste.AudioExt.IngestGUIDs(Celeste.Mod.ModAsset)">
            <inheritdoc cref="M:Celeste.patch_Audio.IngestGUIDs(Celeste.Mod.ModAsset)"/>
        </member>
        <member name="M:Celeste.patch_BackdropRenderer.StartSpritebatchLooping(Microsoft.Xna.Framework.Graphics.BlendState)">
            <summary>
            Start a new spritebatch for backdrop rendering that uses SamplerState.PointWrap, but is otherwise identical to the one started by StartSpritebatch.
            </summary>
            <param name="blendState">the blend state for the new spritebatch</param>
        </member>
        <member name="M:Celeste.patch_BinaryPacker.Element.AttrCore(System.String,System.Object@)">
            <summary>
            Core method for all Attr methods, which handles case-insensitive fallbacks.
            </summary>
            <returns>Whether a given attribute exists in the element</returns>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.ForceRemapAll">
            <summary>
            ForceRemap all important mappings which are fully unassigned and require mappings when leaving the menu.
            </summary>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.GetLabel(System.Int32)">
            <summary>
            Gets the label to display on-screen for a mapping.
            </summary>
            <param name="mapping">The mapping index</param>
            <returns>The button name to display</returns>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.AddButtonConfigLine(System.Int32,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Buttons})">
            <summary>
            Adds a button mapping to the button config screen.
            </summary>
            <param name="btn">The mapping index</param>
            <param name="list">The list of buttons currently mapped to it</param>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.AddButtonConfigLine``1(``0,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Buttons})">
            <summary>
            Adds a button mapping to the button config screen.
            </summary>
            <param name="btn">The mapping (should be an enum value)</param>
            <param name="list">The list of buttons currently mapped to it</param>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.ForceDefaultButton(Microsoft.Xna.Framework.Input.Buttons,Microsoft.Xna.Framework.Input.Buttons)">
            <summary>
            Forces a button to be bound to an action, in addition to the already bound buttons.
            </summary>
            <param name="defaultBtn">The button to force bind</param>
            <param name="boundBtn">The button already bound</param>
            <returns>A list containing both button and defaultBtn</returns>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.ForceDefaultButton(Microsoft.Xna.Framework.Input.Buttons,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Buttons})">
            <summary>
            Forces a button to be bound to an action, in addition to already bound buttons.
            </summary>
            <param name="defaultBtn">The button to force bind</param>
            <param name="boundBtns">The list of buttons already bound</param>
            <returns>A list containing both buttons in list and defaultBtn</returns>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.Reload(System.Int32)">
            <summary>
            Rebuilds the button mapping menu. Should clear the menu and add back all options.
            </summary>
            <param name="index">The index to focus on in the menu</param>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.RemoveDuplicates(System.Int32,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Buttons},Microsoft.Xna.Framework.Input.Buttons)">
            <summary>
            Removes the button from all lists other than the current remapping list if needed.
            </summary>
            <param name="remapping">The int value of the mapping being remapped</param>
            <param name="list">The list that newBtn has been added to</param>
            <param name="btn">The new button that the user is attempting to set.</param>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.ForceRemap(System.Int32)">
            <summary>
            Forcibly gives all important mappings some default button values.
            </summary>
            <param name="mapping">The int value of the mapping being remapped</param>
        </member>
        <member name="M:Celeste.patch_ButtonConfigUI.GetRemapList(System.Int32,Microsoft.Xna.Framework.Input.Buttons)">
            <summary>
            Returns the list used to remap buttons during a remap operation.
            This should be the a List&lt;Buttons&gt; field in your settings class
            </summary>
            <param name="remapping">The int value of the mapping being remapped</param>
            <param name="newBtn">The new button that the user is attempting to set.</param>
            <returns>the field to set buttons with, otherwise return null to cancel the operation</returns>
        </member>
        <member name="M:Celeste.patch_DashListener.#ctor(System.Action{Microsoft.Xna.Framework.Vector2})">
            <summary>
            <inheritdoc cref="M:Celeste.DashListener.#ctor"/>
            </summary>
            <param name="onDash">Invoked when the <see cref="T:Celeste.Player"/> dashes.</param>
        </member>
        <member name="M:Celeste.patch_Dialog.Has(System.String,Celeste.Language)">
            <inheritdoc cref="M:Celeste.Dialog.Has(System.String,Celeste.Language)"/>
        </member>
        <member name="M:Celeste.patch_Dialog.Get(System.String,Celeste.Language)">
            <inheritdoc cref="M:Celeste.Dialog.Get(System.String,Celeste.Language)"/>
        </member>
        <member name="M:Celeste.patch_Dialog.Clean(System.String,Celeste.Language)">
            <inheritdoc cref="M:Celeste.Dialog.Clean(System.String,Celeste.Language)"/>
        </member>
        <member name="M:Celeste.patch_Dialog.CleanLevelSet(System.String)">
            <summary>
            Same as Dialog.Clean, but for level set names.
            Tries to find a value under both "LEVELSET_NAME" and "NAME", otherwise returns name.SpacedPascalCase()
            </summary>
        </member>
        <member name="M:Celeste.patch_Dialog.WarnMissingDialogId(System.String,Celeste.Language,System.Boolean)">
            <summary>
            Log a warn whenever a Dialog ID has no translation in the current language or the fallback language (<tt>English.txt</tt>).
            </summary>
            <param name="dialogId">Dialog ID which is missing a translation</param>
            <param name="language">The language to check (defaults to <see cref="F:Celeste.Dialog.Language"/>)</param>
            <param name="isLevelSet">Whether this is a level set Dialog ID</param>
        </member>
        <member name="M:Celeste.patch_Dialog.WarnInvalidDialogId(System.String,System.Boolean)">
            <summary>
            Log a warn whenever a Dialog ID contains invalid (non-alphanumeric-or-underscore) characters.
            </summary>
            <param name="dialogId">Dialog ID which contains invalid characters</param>
            <param name="isLevelSet">Whether this is a level set Dialog ID</param>
        </member>
        <member name="M:Celeste.patch_Dialog.IsValidId(System.String)">
            <summary>
            Check if a Dialog ID is valid (contains only alphanumeric or underscore characters)
            </summary>
            <param name="dialogId"></param>
            <returns></returns>
        </member>
        <member name="F:Celeste.patch_Dialog.MissingDialogIds">
            <summary>
            Contains all Dialog IDs which don't have a translation in the current language or <tt>English.txt</tt>.
            It is reset whenever <see cref="T:Celeste.Mod.AssetReloadHelper"/> reloads the current language.
            </summary>
        </member>
        <member name="F:Celeste.patch_Dialog.InvalidDialogIds">
            <summary>
            Contains all Dialog IDs which are invalid and will never resolve to a translation.
            It is reset whenever <see cref="T:Celeste.Mod.AssetReloadHelper"/> reloads the current language.
            </summary>
        </member>
        <member name="M:Celeste.DialogExt.CleanLevelSet(System.String)">
            <inheritdoc cref="M:Celeste.patch_Dialog.CleanLevelSet(System.String)"/>
        </member>
        <member name="M:Celeste.patch_EntityData.orig_Has(System.String)">
            <origdoc/>
        </member>
        <member name="M:Celeste.patch_EntityData.Has(System.String)">
            <inheritdoc cref="M:Celeste.EntityData.Has(System.String)"/>
        </member>
        <member name="M:Celeste.patch_EntityData.String(System.String,System.String)">
            <summary>
            Get the <see cref="T:System.String" /> value associated with a key.
            An Empty or pure Whitespace value will result in the <paramref name="defaultValue"/> to be returned.
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Celeste.patch_EntityData.Vector2(System.String,System.String,Microsoft.Xna.Framework.Vector2)">
            <summary>
            Get a <see cref="T:Microsoft.Xna.Framework.Vector2"/> from two <see cref="T:System.Single"/> X/Y coordinate keys.<br/>
            If either coordinate key does not have a value, the corresponding coordinate of <paramref name="defaultValue"/>
            will be used.
            </summary>
            <param name="keyX">The key containing the X vector coordinate.</param>
            <param name="keyY">The key containing the Y vector coordinate.</param>
            <param name="defaultValue">The default vector coordinates, used when either key does not have a value.</param>
        </member>
        <member name="M:Celeste.patch_GameLoader.checkModSaveDataBackups">
            <summary>
            Initializes mod save data backups if required (if Everest was just updated past 2104).
            </summary>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.GetLabel(System.Int32)">
            <summary>
            Gets the label to display on-screen for a mapping.
            </summary>
            <param name="mapping">The mapping index</param>
            <returns>The key name to display</returns>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.AddKeyConfigLine(System.Int32,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Keys})">
            <summary>
            Adds a key mapping to the keyboard config screen.
            </summary>
            <param name="key">The mapping index</param>
            <param name="list">The list of keys currently mapped to it</param>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.AddKeyConfigLine``1(``0,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Keys})">
            <summary>
            Adds a key mapping to the keyboard config screen.
            </summary>
            <param name="key">The mapping (should be an enum value)</param>
            <param name="list">The list of keys currently mapped to it</param>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.ForceDefaultKey(Microsoft.Xna.Framework.Input.Keys,Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Forces a key to be bound to an action, in addition to the already bound key.
            </summary>
            <param name="defaultKey">The key to force bind</param>
            <param name="boundKey">The key already bound</param>
            <returns>A list containing both key and defaultKey</returns>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.ForceDefaultKey(Microsoft.Xna.Framework.Input.Keys,System.Collections.Generic.List{Microsoft.Xna.Framework.Input.Keys})">
            <summary>
            Forces a key to be bound to an action, in addition to already bound keys.
            </summary>
            <param name="defaultKey">The key to force bind</param>
            <param name="boundKeys">The list of keys already bound</param>
            <returns>A list containing both keys in list and defaultKey</returns>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.Reload(System.Int32)">
            <summary>
            Rebuilds the key mapping menu. Should clear the menu and add back all options.
            </summary>
            <param name="index">The index to focus on in the menu</param>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.SupportsMultipleBindings(System.Int32)">
            <summary>
            Determines if the key being set supports multiple bindings.
            If this is the case, Shift+Confirm will allow to add a binding and Confirm will replace existing bindings.
            </summary>
            <param name="mapping">The mapping</param>
            <returns>true if the key supports multiple bindings, false otherwise</returns>
        </member>
        <member name="M:Celeste.patch_KeyboardConfigUI.GetRemapList(System.Int32,Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Returns the list used to remap keys during a remap operation.
            This should be a List&lt;Keys&gt; field in your settings class
            </summary>
            <param name="remapping">The int value of the mapping being remapped</param>
            <param name="newKey">The new key that the user is attempting to set.</param>
            <returns>the field to set keys with, otherwise return null to cancel the operation</returns>
        </member>
        <member name="M:Celeste.patch_Language.WholeLineIsCommandsRegex">
            <remarks>
            Pattern:<br/>
            <code>^(?:\\{[^}]*\\}\\s*)*$</code><br/>
            Explanation:<br/>
            <code>
            ○ Match if at the beginning of the string.<br/>
            ○ Loop greedily any number of times.<br/>
                ○ Match '{'.<br/>
                ○ Match a character other than '}' atomically any number of times.<br/>
                ○ Match '}'.<br/>
                ○ Match a whitespace character greedily any number of times.<br/>
            ○ Match if at the end of the string or if before an ending newline.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:Celeste.patch_Language.CommandRegex">
            <remarks>
            Pattern:<br/>
            <code>\\{(.*?)\\}</code><br/>
            Options:<br/>
            <code>RegexOptions.RightToLeft</code><br/>
            Explanation:<br/>
            <code>
            ○ Match '}' right-to-left.<br/>
            ○ 1st capture group.<br/>
                ○ Match a character other than '\n' lazily any number of times right-to-left.<br/>
            ○ Match '{' right-to-left.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:Celeste.patch_Language.PortraitRegex">
            <remarks>
            Pattern:<br/>
            <code>\\[(?&lt;content&gt;[^\\[\\\\]*(?:\\\\.[^\\]\\\\]*)*)\\]</code><br/>
            Options:<br/>
            <code>RegexOptions.IgnoreCase</code><br/>
            Explanation:<br/>
            <code>
            ○ Match '['.<br/>
            ○ "content" capture group.<br/>
                ○ Match a character in the set [^[\\] greedily any number of times.<br/>
                ○ Loop greedily any number of times.<br/>
                    ○ Match '\\'.<br/>
                    ○ Match any character other than '\n'.<br/>
                    ○ Match a character in the set [^\\]] atomically any number of times.<br/>
            ○ Match ']'.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:Celeste.patch_Language.VariableRegex">
            <remarks>
            Pattern:<br/>
            <code>^\\w+\\=.*</code><br/>
            Explanation:<br/>
            <code>
            ○ Match if at the beginning of the string.<br/>
            ○ Match a word character atomically at least once.<br/>
            ○ Match '='.<br/>
            ○ Match a character other than '\n' atomically any number of times.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:Celeste.patch_Language.InsertRegex">
            <remarks>
            Pattern:<br/>
            <code>\\{\\+\\s*(.*?)\\}</code><br/>
            Explanation:<br/>
            <code>
            ○ Match the string "{+".<br/>
            ○ Match a whitespace character greedily any number of times.<br/>
            ○ 1st capture group.<br/>
                ○ Match a character other than '\n' lazily any number of times.<br/>
            ○ Match '}'.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:Celeste.patch_Language.SplitPair(System.ReadOnlySpan{System.Char},System.Char,System.ReadOnlySpan{System.Char}@,System.ReadOnlySpan{System.Char}@)">
            <summary>
            Splits text like 'key=value' into two spans.
            If the separator is not found, 'left' contains the entire string and 'right' is empty.
            </summary>
        </member>
        <member name="M:Celeste.patch_Level.RegisterLoadOverride(Celeste.Level,Celeste.patch_Level.LoadOverride)">
            <summary>
            Registers an override of some level load parameters. Only one
            override can be registered for each level.
            </summary>
            <param name="level">The level for which to register the override</param>
            <param name="loadOverride">The override data to register</param>
        </member>
        <member name="P:Celeste.patch_Level.DefaultSpawnPoint">
            <summary>
            If in vanilla levels, gets the spawnpoint closest to the bottom left of the level.<br/>
            Otherwise, get the default spawnpoint from the level data if present, falling back to
            the first spawnpoint defined in the level data.
            </summary>
        </member>
        <member name="M:Celeste.patch_Level.Flash(Microsoft.Xna.Framework.Color,System.Boolean)">
            <summary>
            Flash the screen a solid color. Respects the user's advanced photosensitivity settings.
            </summary>
            <param name="color"></param>
            <param name="drawPlayerOver">Whether the player should render over the flash.</param>
        </member>
        <member name="M:Celeste.patch_Level.orig_DoScreenWipe(System.Boolean,System.Action,System.Boolean)">
            <origdoc/>
        </member>
        <member name="M:Celeste.patch_Level.DoScreenWipe(System.Boolean,System.Action,System.Boolean)">
            <summary>
            Activate the area-specific <see cref="T:Celeste.ScreenWipe"/>.<br/>
            <seealso cref="F:Celeste.AreaData.Wipe">See Also.</seealso><br/>
            If <see cref="F:Celeste.patch_Level.SkipScreenWipes"/> is greater than zero, do nothing.
            </summary>
            <param name="wipeIn">Wipe direction.</param>
            <param name="onComplete"></param>
            <param name="hiresSnow"></param>
        </member>
        <member name="M:Celeste.patch_Level.NextColorGrade(System.String)">
            <inheritdoc cref="M:Celeste.Level.NextColorGrade(System.String,System.Single)"/>
        </member>
        <member name="M:Celeste.patch_Level.CompleteArea(System.Boolean,System.Boolean)">
            <inheritdoc cref="M:Celeste.Level.CompleteArea(System.Boolean,System.Boolean,System.Boolean)"/>
        </member>
        <member name="M:Celeste.patch_Level.Unpause">
            <summary>
            Forcefully close the pause menu; resume from paused.
            </summary>
        </member>
        <member name="M:Celeste.patch_Level.LoadCustomEntity(Celeste.EntityData,Celeste.Level)">
            <summary>
            Search for a custom entity that matches the <see cref="F:Celeste.EntityData.Name"/>.<br/>
            To register a custom entity, use <see cref="T:Celeste.Mod.Entities.CustomEntityAttribute"/> or <see cref="E:Celeste.Mod.Everest.Events.Level.OnLoadEntity"/>.<br/>
            <seealso href="https://github.com/EverestAPI/Resources/wiki/Custom-Entities-and-Triggers">Read More</seealso>.
            </summary>
            <param name="entityData"></param>
            <param name="level">The level to add the entity to.</param>
            <returns></returns>
        </member>
        <member name="F:Celeste.patch_LevelEnter.ErrorMessage">
            <summary>
            The error message to display when entering a level. Null if no error message should be presented.
            </summary>
        </member>
        <member name="P:Celeste.LevelEnterExt.ErrorMessage">
            <inheritdoc cref="F:Celeste.patch_LevelEnter.ErrorMessage"/>
        </member>
        <member name="F:Celeste.patch_MainMenuSmallButton.LabelName">
            <summary>
            The original label name dialog key.<br/>
            Useful when inserting your own button between others.
            </summary>
        </member>
        <member name="F:Celeste.patch_MainMenuSmallButton.IconName">
            <summary>
            The original GUI atlas icon path.<br/>
            Useful when inserting your own button between others.
            </summary>
        </member>
        <member name="M:Celeste.MainMenuSmallButtonExt.GetLabelName(Celeste.MainMenuSmallButton)">
            <summary>
            Get the original label name dialog key. Useful when inserting your own button between others.
            </summary>
        </member>
        <member name="M:Celeste.MainMenuSmallButtonExt.GetIconName(Celeste.MainMenuSmallButton)">
            <summary>
            Get the original GUI atlas icon path. Useful when inserting your own button between others.
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.GetMeta(Celeste.MapData)">
            <summary>
            Get the mod mode metadata of the map.
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.GetDetectedCassette(Celeste.MapData)">
            <summary>
            Returns whether the map contains a cassette or not.
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.SetDetectedCassette(Celeste.MapData)">
            <summary>
            To be called by the CoreMapDataProcessor when a cassette is detected in a map.
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.GetDetectedStrawberriesIncludingUntracked(Celeste.MapData)">
            <summary>
            Returns the number of strawberries in the map, including untracked ones (goldens, moons).
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.SetDetectedStrawberriesIncludingUntracked(Celeste.MapData,System.Int32)">
            <summary>
            To be called by the CoreMapDataProcessor when processing a map is over, to register the detected berry count.
            </summary>
        </member>
        <member name="M:Celeste.MapDataExt.GetDashlessGoldenberries(Celeste.MapData)">
            <summary>
            Returns the list of dashless goldens in the map.
            </summary>
        </member>
        <member name="M:Celeste.MenuButtonExt.SetSelected(Celeste.MenuButton,System.Boolean)">
            <summary>
            Set the button's inner selected value.
            </summary>
        </member>
        <member name="F:Celeste.MTNExt.MountainMappings">
            <summary>
            Maps the key to the ModAsset of the map in Everest.Content to the MountainResources for it
            </summary>
        </member>
        <member name="F:Celeste.MTNExt.ObjModelCache">
            <summary>
            Stores .obj model files when they are loaded, so that they only get loaded once.
            </summary>
        </member>
        <member name="M:Celeste.MTNExt.LoadModData">
            <summary>
            Load the custom mountain models for mods.
            </summary>
        </member>
        <member name="M:Celeste.MTNExt.LoadMod">
            <summary>
            Load the custom mountain textures for mods.
            </summary>
        </member>
        <member name="M:Celeste.patch_ObjModel.CreateFromStream(System.IO.Stream,System.String)">
            <summary>
            Create a new ObjModel from a stream
            The filename is mainly just to check if it's a .export
            </summary>
        </member>
        <member name="M:Celeste.ObjModelExt.CreateFromStream(System.IO.Stream,System.String)">
            <inheritdoc cref="M:Celeste.patch_ObjModel.CreateFromStream(System.IO.Stream,System.String)"/>
        </member>
        <member name="T:Celeste.patch_OuiFileSelectSlot.ISubmenu">
            <summary>
            Interface used to tag OuiFileSelectSlot submenus.
            </summary>
        </member>
        <member name="M:Celeste.patch_OverworldLoader.GetCSidePostcard(Celeste.Session)">
            <summary>
            A helper function that is called from <c>Routine</c> to determent which c-side unlock postcard to display
            </summary>
        </member>
        <member name="M:Celeste.patch_Player.GetCurrentTrailColor">
            <summary>
            Get the current player dash trail color.
            </summary>
        </member>
        <member name="M:Celeste.patch_Player.AddState(System.String,System.Func{Celeste.Player,System.Int32},System.Func{Celeste.Player,System.Collections.IEnumerator},System.Action{Celeste.Player},System.Action{Celeste.Player})">
             <summary>
             Adds a new state to this player with the given behaviour, and returns the index of the new state.
            
             States should always be added at the end of the <c>Player</c> constructor.
             </summary>
             <param name="name">The name of this state, for display purposes by mods only.</param>
             <param name="onUpdate">A function to run every frame during this state, returning the index of the state that should be switched to next frame.</param>
             <param name="coroutine">A function that creates a coroutine to run when this state is switched to.</param>
             <param name="begin">An action to run when this state is switched to.</param>
             <param name="end">An action to run when this state ends.</param>
             <returns>The index of the new state.</returns>
        </member>
        <member name="M:Celeste.PlayerExt.GetCurrentTrailColor(Celeste.Player)">
            <inheritdoc cref="M:Celeste.patch_Player.GetCurrentTrailColor"/>
        </member>
        <member name="M:Celeste.PlayerExt.IsIntroState(Celeste.Player)">
            <summary>
            Get whether the player is in an intro state or not.
            </summary>
        </member>
        <member name="M:Celeste.patch_PlayerHair.GetHairTexture(System.Int32)">
            <summary>
            Get the current player hair texture for the given hair segment.
            </summary>
        </member>
        <member name="M:Celeste.patch_PlayerHair.GetHairScale(System.Int32)">
            <summary>
            Get the current player hair scale for the given hair segment.
            </summary>
        </member>
        <member name="M:Celeste.patch_PlayerHair.GetHairColor(System.Int32)">
            <summary>
            Get the current player hair color for the given hair segment.
            </summary>
        </member>
        <member name="M:Celeste.PlayerHairExt.GetHairTexture(Celeste.PlayerHair,System.Int32)">
            <inheritdoc cref="M:Celeste.patch_PlayerHair.GetHairTexture(System.Int32)"/>
        </member>
        <member name="M:Celeste.PlayerHairExt.GetHairScale(Celeste.PlayerHair,System.Int32)">
            <inheritdoc cref="M:Celeste.patch_PlayerHair.GetHairScale(System.Int32)"/>
        </member>
        <member name="M:Celeste.PlayerHairExt.GetHairColor(Celeste.PlayerHair,System.Int32)">
            <inheritdoc cref="M:Celeste.patch_PlayerHair.GetHairColor(System.Int32)"/>
        </member>
        <member name="M:Celeste.PlayerHairExt.GetSprite(Celeste.PlayerHair)">
            <summary>
            Get the PlayerSprite which the PlayerHair belongs to.
            </summary>
        </member>
        <member name="M:Celeste.PlayerHairExt.GetWave(Celeste.PlayerHair)">
            <summary>
            Get the current wave, updated by Engine.DeltaTime * 4f each Update.
            </summary>
        </member>
        <member name="P:Celeste.patch_Postcard.Postcard">
            <summary>
              The texture of the postcard.
            </summary>
        </member>
        <member name="T:Celeste.patch_ReflectionTentacles.MTextureComparer">
            <summary>
            Slightly faster than not providing a comparer, which is important in a hot path like this.
            Used by <see cref="M:Celeste.patch_ReflectionTentacles.Quad(System.Int32@,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Monocle.MTexture)"/>.
            </summary>
        </member>
        <member name="T:Celeste.patch_ReflectionTentacles.UVSet">
            <summary>
            Stores a set of UV's needed to render a sprite. Used for caching by <see cref="M:Celeste.patch_ReflectionTentacles.Quad(System.Int32@,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Monocle.MTexture)"/>.
            </summary>
        </member>
        <member name="F:Celeste.patch_ReflectionTentacles.UVCache">
            <summary>
            A cache used by <see cref="M:Celeste.patch_ReflectionTentacles.Quad(System.Int32@,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Monocle.MTexture)"/>.
            </summary>
        </member>
        <member name="F:Celeste.patch_RunLengthEncoding._decodeBuffer">
            <summary>
            A buffer used by <see cref="M:Celeste.patch_RunLengthEncoding.Decode(System.ReadOnlySpan{System.Byte})"/> to create the returned string.
            </summary>
        </member>
        <member name="M:Celeste.patch_SaveData.LoadModSaveData(System.Int32)">
            <summary>
            Load mod saves only when the given slot is not the currently loaded slot.
            This does NOT load mod sessions, which are loaded on Start, making this ideal for f.e. UI purposes.
            </summary>
            <param name="slot">The slot to load</param>
        </member>
        <member name="M:Celeste.patch_SaveData.GetLevelSetStatsFor(System.String)">
            <summary>
            Get the statistics for a given level set.
            </summary>
        </member>
        <member name="M:Celeste.SaveDataExt.GetLevelSets(Celeste.SaveData)">
            <summary>
            Get the statistics for all level sets.
            </summary>
        </member>
        <member name="M:Celeste.SaveDataExt.SetLevelSets(Celeste.SaveData,System.Collections.Generic.List{Celeste.LevelSetStats})">
            <summary>
            Set the statistics for all level sets.
            </summary>
        </member>
        <member name="M:Celeste.SaveDataExt.GetLevelSet(Celeste.SaveData)">
            <summary>
            Get the last played level set.
            </summary>
        </member>
        <member name="M:Celeste.SaveDataExt.GetLevelSetStats(Celeste.SaveData)">
            <summary>
            Get the statistics for the last played level set.
            </summary>
        </member>
        <member name="M:Celeste.SaveDataExt.GetLevelSetStatsFor(Celeste.SaveData,System.String)">
            <inheritdoc cref="M:Celeste.patch_SaveData.GetLevelSetStatsFor(System.String)"/>
        </member>
        <member name="M:Celeste.patch_Seeker.AddState(System.String,System.Func{Celeste.Seeker,System.Int32},System.Func{Celeste.Seeker,System.Collections.IEnumerator},System.Action{Celeste.Seeker},System.Action{Celeste.Seeker})">
             <summary>
             Adds a new state to this seeker with the given behaviour, and returns the index of the new state.
            
             States should always be added at the end of the <c>Seeker(Vector2, Vector2[])</c> constructor.
             </summary>
             <param name="name">The name of this state, for display purposes by mods only.</param>
             <param name="onUpdate">A function to run every frame during this state, returning the index of the state that should be switched to next frame.</param>
             <param name="coroutine">A function that creates a coroutine to run when this state is switched to.</param>
             <param name="begin">An action to run when this state is switched to.</param>
             <param name="end">An action to run when this state ends.</param>
             <returns>The index of the new state.</returns>
        </member>
        <member name="T:Celeste.patch_Session.SerializationOnly">
            <summary>
            Used internally for serialization.
            </summary>
        </member>
        <member name="P:Celeste.patch_Session.SlidersSerializationOnly">
             <summary>
             Used internally for serialization; getting or setting this will cause issues.
             Instead, use <see cref="P:Celeste.patch_Session.Sliders" />.
             </summary>
            
             NOTE: this cannot be private or [Obselete] because either of those would break serialization.
        </member>
        <member name="F:Celeste.TagsExt.SubHUD">
            <summary>
            Tag to be used for entities rendering like a HUD, but below the actual game HUD.
            </summary>
        </member>
        <member name="F:Celeste.patch_TextMenu.RenderAsFocused">
            <summary>
            Force the TextMenu to render as focused
            </summary>
        </member>
        <member name="P:Celeste.patch_TextMenu.Items">
            <summary>
            The items contained in this menu.
            </summary>
        </member>
        <member name="P:Celeste.patch_TextMenu.CompactWidthMode">
            <summary>
            If enabled, the menu will be made narrower by adapting the size of the two "columns" for each menu section instead of for the entire menu.
            </summary>
        </member>
        <member name="P:Celeste.patch_TextMenu.BatchMode">
            <summary>
            When a menu is in batch mode, adding / removing items will not recalculate its size to improve performance.
            Size is recalculated immediately after batch mode is disabled.
            </summary>
        </member>
        <member name="P:Celeste.patch_TextMenu.Width">
            <inheritdoc cref="P:Celeste.TextMenu.Width"/>
        </member>
        <member name="P:Celeste.patch_TextMenu.Height">
            <inheritdoc cref="P:Celeste.TextMenu.Height"/>
        </member>
        <member name="P:Celeste.patch_TextMenu.LeftColumnWidth">
            <inheritdoc cref="P:Celeste.TextMenu.LeftColumnWidth"/>
        </member>
        <member name="P:Celeste.patch_TextMenu.RightColumnWidth">
            <inheritdoc cref="P:Celeste.TextMenu.RightColumnWidth"/>
        </member>
        <member name="M:Celeste.patch_TextMenu.Insert(System.Int32,Celeste.TextMenu.Item)">
            <summary>
            Insert a <see cref="T:Celeste.TextMenu.Item"/> at position <paramref name="index"/> in the menu.
            </summary>
            <param name="index"></param>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Celeste.patch_TextMenu.Remove(Celeste.TextMenu.Item)">
            <summary>
            Remove a <see cref="T:Celeste.TextMenu.Item"/> from the menu.
            </summary>
            <param name="item">A <see cref="T:Celeste.TextMenu.Item"/> contained in this menu.</param>
            <returns></returns>
        </member>
        <member name="M:Celeste.patch_TextMenu.GetYOffsetOf(Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.TextMenu.GetYOffsetOf(Celeste.TextMenu.Item)"/>
        </member>
        <member name="M:Celeste.patch_TextMenu.Add(Celeste.TextMenu.Item)">
            <inheritdoc cref="M:Celeste.TextMenu.Add(Celeste.TextMenu.Item)"/>
        </member>
        <member name="F:Celeste.patch_TextMenu.patch_Option`1.UnselectedColor">
            <summary>
            The color the text takes when the option is active, but unselected (defaults to white).
            </summary>
        </member>
        <member name="P:Celeste.patch_TextMenu.patch_Item.AlwaysRender">
            <summary>
            Set this property to true to force the Item to render even when off-screen.
            </summary>
        </member>
        <member name="M:Celeste.patch_WaterInteraction.Check(Monocle.Entity)">
            <summary>
            Check whether the component is interacting with a given water-type entity.
            </summary>
            <param name="water">The entity to check the interaction with.</param>
            <returns>Whether the component is interacting with the water.</returns>
        </member>
        <member name="P:Celeste.patch_WaterInteraction.Bounds">
            <summary>
            The absolute rectangular bounds around the water collision used for this component's Entity.
            </summary>
        </member>
        <member name="M:Celeste.patch_WaterInteraction.#ctor(Microsoft.Xna.Framework.Rectangle,System.Func{System.Boolean})">
            <summary>
            Create a new <see cref="T:Celeste.WaterInteraction"/>.
            </summary>
            <param name="bounds">The collision size.</param>
            <param name="isDashing">Used to determine the force of impact against the <see cref="T:Celeste.Water" />.</param>
        </member>
        <member name="M:MonoMod.MonoModRules.FixEnumeratorDecompile(Mono.Cecil.TypeDefinition)">
            <summary>
            Fix ILSpy unable to decompile enumerator after MonoMod patching<br />
            (<code>yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()</code>)
            </summary>
        </member>
        <member name="M:MonoMod.MonoModRules.GetEnumeratorMoveNext(Mono.Cecil.MethodDefinition)">
            <summary>
            Get MoveNext() method of the compiler-generated enumerator class of the specified method.
            </summary>
        </member>
        <member name="M:MonoMod.MonoModRules.PatchBirdPathRoutine(Mono.Cecil.MethodDefinition,Mono.Cecil.CustomAttribute)">
            <summary>
            This extra bird.speedMult in the percentage calculation is not supposed to be there,
            it causes the bird to be too fast or too slow if that field is not set to one,
            consider this as a vanilla bug.
            </summary>
        </member>
        <member name="M:MonoMod.MonoModRules.PatchBirdPathUpdate(Mono.Cecil.MethodDefinition,Mono.Cecil.CustomAttribute)">
            <summary>
            When speedMult is a low value it may happen that the target position set by the coroutine is behind
            the bird, causing the rotation to break and the bird will be facing a perpendicular direction (due to the lerp)
            so, via a new setting (actually two), the rotation is just obtained from the angle that the speed
            vector forms, with a maximum rotation speed to smoothen rapid changes.
            </summary>
            <param name="method"></param>
            <param name="attrib"></param>
        </member>
        <member name="T:MonoMod.MakeEntryPointAttribute">
            <summary>
            Make the marked method the new entry point.
            </summary>
        </member>
        <member name="T:MonoMod.PatchInterfaceAttribute">
            <summary>
            Helper for patching methods force-implemented by an interface
            </summary>
        </member>
        <member name="T:MonoMod.ForceNameAttribute">
            <summary>
            Forcibly changes a given member's name.
            </summary>
        </member>
        <member name="T:MonoMod.PatchInitblkAttribute">
            <summary>
            Patches the attributed method to replace _initblk calls with the initblk opcode.
            </summary>
        </member>
        <member name="T:MonoMod.PatchStubExternAttribute">
            <summary>
            Patches an extern method to be stubbed. Uses default values for return type / out-parameters
            </summary>
        </member>
        <member name="T:MonoMod.ForceNoInliningAttribute">
            <summary>
            Forces NoInlining onto a given member.
            </summary>
        </member>
        <member name="T:MonoMod.ForceAggressiveInliningAttribute">
            <summary>
            Forces AggressiveInlining onto a given member. Works for methods as well as properties.
            </summary>
        </member>
        <member name="T:MonoMod.ForceSealedAttribute">
            <summary>
            Forces the given member to be sealed. Works for methods as well as properties.
            </summary>=
        </member>
        <member name="T:MonoMod.GameDependencyPatchAttribute">
            <summary>
            Marks the patch type as targeting one of the game's dependencies, as well as copying it into the dependency assembly
            </summary>
        </member>
        <member name="T:MonoMod.ExternalGameDependencyPatchAttribute">
            <summary>
            Marks the patch type as targeting one of the game's dependencies while still being a part of the regular Celeste assembly
            </summary>
        </member>
        <member name="T:MonoMod.PatchInitMMFlags">
            <summary>
            Automatically fill InitMMFlags based on the current patch flags.
            </summary>
        </member>
        <member name="T:MonoMod.ProxyFileCallsAttribute">
            <summary>
            Proxy any System.IO.File.* calls inside the method via Celeste.Mod.Helpers.FileProxy.*
            </summary>
        </member>
        <member name="T:MonoMod.PatchTrackableStrawberryCheckAttribute">
            <summary>
            Take out the "strawberry" equality check and replace it with a call to StrawberryRegistry.TrackableContains
            to include registered mod berries as well.
            </summary>
        </member>
        <member name="T:MonoMod.PatchTotalHeartGemChecksAttribute">
            <summary>
            Patch references to TotalHeartGems to refer to TotalHeartGemsInVanilla instead.
            </summary>
        </member>
        <member name="T:MonoMod.RemoveCommandAttributeAttribute">
            <summary>
            Removes the [Command] attribute from annotated method.
            </summary>
        </member>
        <member name="T:MonoMod.PatchConfigUIUpdate">
            <summary>
            Patches {Button,Keyboard}ConfigUI.Update (InputV2) to call a new Reset method instead of the vanilla one.
            Also implements mouse button remapping.
            </summary>
        </member>
        <member name="T:MonoMod.PatchMinMaxBlendFunction">
            <summary>
            Swaps BlendFunction.Min/Max for BlendState construction, as they are switched on XNA/FNA
            </summary>
        </member>
        <member name="T:MonoMod.RelinkLegacyMonoMod">
            <summary>
            Links the specified type / method / field / property / etc. to this one if the mod is targeting legacy MonoMod
            </summary>
        </member>
        <member name="T:MonoMod.PatchAreaCompleteCtorAttribute">
            <summary>
            Slap a MapMetaCompleteScreen param at the end of the constructor and ldarg it right before newobj CompleteRenderer
            </summary>
        </member>
        <member name="T:MonoMod.PatchAreaCompleteVersionNumberAndVariantsAttribute">
            <summary>
            Patches AreaComplete.VersionNumberAndVariants to offset the version number when necessary.
            </summary>
        </member>
        <member name="T:MonoMod.PatchAscendManagerRoutineAttribute">
            <summary>
            Patches AscendManager.Routine to fix gameplay RNG in custom maps.
            </summary>
        </member>
        <member name="T:MonoMod.PatchAutotilerCtorAttribute">
            <summary>
              Patches the <see cref="T:Celeste.Autotiler"/> constructor to explicitly throw
              an error when encountering a duplicate tileset ID.
            </summary>
        </member>
        <member name="T:MonoMod.PatchBadelineBoostBoostRoutineAttribute">
            <summary>
            Patches the BoostRoutine to remove a debug print left by the devs. Fixed in Celeste 1.4.1.0!
            </summary>
        </member>
        <member name="T:MonoMod.PatchBadelineChaseRoutineAttribute">
            <summary>
            Patch the Badeline chase routine instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCassetteBlockAwakeAttribute">
            <summary>
            Patches <see cref="M:Celeste.CassetteBlock.Awake(Monocle.Scene)" /> to fix issue #334.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCelesteSetHeadlessFlagAttribute">
            <summary>
            Patch the original Celeste constructor, to set the state of headless mode
            </summary>
        </member>
        <member name="T:MonoMod.PatchCelesteMainAttribute">
            <summary>
            Patch the original Celeste entry point instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCloudAddedAttribute">
            <summary>
            Patch the Cloud.Added method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCobwebDrawCobweb">
            <summary>
            Patches the method to implement culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCompleteRendererImageLayerRenderAttribute">
            <summary>
            Patches the method to support non-looping complete screen layers.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCrushBlockAttackSequenceAttribute">
            <summary>
            Patches CrushBlock.AttackSequence to fix chillout crush blocks traversing too short gaps crashing the game.
            </summary>
        </member>
        <member name="T:MonoMod.PatchSpinnerCreateSpritesAttribute">
            <summary>
            Patches the CrystalStaticSpinner.AddSprites method to make it more efficient.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFinalLaunchCutsceneAttribute">
            <summary>
            A patch for the Chapter 9 cutscene, which adds a null check around the <see cref="T:Celeste.BlackholeBG" />
            for use in modded maps which don't have a black hole styleground.
            </summary>
        </member>
        <member name="T:MonoMod.PatchDeathEffectUpdateAttribute">
            <summary>
            Patch DeathEffect.Update to fix death effects never get removed
            </summary>
        </member>
        <member name="T:MonoMod.PatchDebrisImpactSfxAttribute">
            <summary>
            Patches Celeste.Debris.ImpactSfx(System.Single) to play a custom sound event if defined.
            </summary>
        </member>
        <member name="T:MonoMod.PatchDecalUpdateAttribute">
            <summary>
            Un-hardcode the range of the "Scared" decals.
            </summary>
        </member>
        <member name="T:MonoMod.PatchDecalImageRenderAttribute">
            <summary>
            Allow decal images to be rotated.
            </summary>
        </member>
        <member name="T:MonoMod.PatchBannerRotationAttribute">
            <summary>
            Make "Banner" decal slices respect the decal's rotation.
            </summary>
        </member>
        <member name="T:MonoMod.PatchMirrorMaskRotationAttribute">
            <summary>
            Allow mirror masks to be rotated.
            </summary>
        </member>
        <member name="T:MonoMod.PatchDialogLoaderAttribute">
            <summary>
            Patch the Dialog.Load method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchDreamBlockSetupAttribute">
            <summary>
            Patches <see cref="M:Celeste.DreamBlock.Setup" /> to not rely on
            non-IEEE 754 compliant .NET Framework jank anymore, by patching the
            dream block particle count calculation to be done using doubles (the x86
            .NET Framework JIT uses 80 bit x87 registers for this calculation,
            however 64 bit doubles seem to have enough precision to end up at the
            same results). This fixes issue #556.
            </summary>
        </member>
        <member name="T:MonoMod.PatchEventTriggerOnEnterAttribute">
            <summary>
            Include check for custom events.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFakeHeartColorAttribute">
            <summary>
            Patch the fake heart color to make it customizable.
            </summary>
        </member>
        <member name="T:MonoMod.PatchBadelineBossOnPlayerAttribute">
            <summary>
            Patch the Badeline boss OnPlayer method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFlaglineDraw">
            <summary>
            Patches the method to implement culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchGameCtor">
            <summary>
            A patch which replaces the GameWindow instance with a headless one
            </summary>
        </member>
        <member name="T:MonoMod.PatchGameBeforeLoop">
            <summary>
            A patch which removes registering the graphics adapter
            </summary>
        </member>
        <member name="T:MonoMod.PatchFontsPrepareAttribute">
            <summary>
            Patches the Fonts.Prepare method to also include custom fonts.
            </summary>
        </member>
        <member name="T:MonoMod.PatchGameLoaderIntroRoutineAttribute">
            <summary>
            Patch the GameLoader.IntroRoutine method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchGlitchPhotosensitivityAttribute">
            <summary>
            Patches the Glitch effect to render based on Everest's advanced photosensitivity settings.
            </summary>
        </member>
        <member name="T:MonoMod.PatchGoldenBlockStaticMoversAttribute">
            <summary>
            Patches GoldenBlocks to disable static movers if the block is disabled.
            </summary>
        </member>
        <member name="T:MonoMod.PatchHeartGemCollectRoutineAttribute">
            <summary>
            Patch the heart gem collection routine instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFakeHeartDialogAttribute">
            <summary>
            Add custom dialog to fake hearts.
            </summary>
        </member>
        <member name="T:MonoMod.PatchHeightDisplayRoutineAttribute">
            <summary>
            Patches HeightDisplay.Routine to fix the game crash when player dies.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLavaRectResizeAttribute">
            <summary>
            Patch LavaRect.Resize to perform calculations using doubles instead of floats, fixing float jank on .NET Core Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLavaRectRenderAttribute">
            <summary>
            Patch LavaRect.Render to fix the half pixel offset issue on FNA. This is planned to be patched in Celeste 1.4.1.0!
            Also implements camera culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLavaRectUpdateAttribute">
            <summary>
            Patch LavaRect.Update to implement camera culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelLoaderAttribute">
            <summary>
            Patch the Godzilla-sized level loading method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelLoaderDecalCreationAttribute">
            <summary>
            Patch level loading method to copy decal rotation, color, and depth from <see cref="T:Celeste.DecalData" /> instances into newly created <see cref="T:Celeste.Decal" /> entities.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelUpdateAttribute">
            <summary>
            Patch the Godzilla-sized level updating method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelRenderAttribute">
            <summary>
            Patch the Godzilla-sized level rendering method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchTransitionRoutineAttribute">
            <summary>
            Patch the Godzilla-sized level transition method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelCanPauseAttribute">
            <summary>
            A patch for the CanPause getter that skips the saving check.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelDataBerryTracker">
            <summary>
            A patch for the strawberry tracker, allowing all registered modded berries to be detected.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelDataDecalLoader">
            <summary>
            A patch for the decal loading, allowing for rotated decals.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelDataSpawnpointLoaderAttribute">
            <summary>
            Patch the constructor to recognize the default spawnpoint.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelExitRoutineAttribute">
            <summary>
            Replace the AreaComplete ctor with one that will take in a complete screen meta.
            Set Session.RestartedFromGolden after a golden berry death.
            </summary>
        </member>
        <member name="T:MonoMod.PatchAreaCompleteMusicAttribute">
            <summary>
            Patches LevelExit.Begin to make the endscreen music customizable.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLevelLoaderOrigCtorAttribute">
            <summary>
            Removes the level loading thread call so we can create it in the new constructor instead.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLoadingThreadAddSubHudRendererAttribute">
            <summary>
            Adds a SubHudRenderer to the level in the loader thread.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLoadingThreadAddEventAttribute">
            <summary>
            Invokes the OnLoadingThread event at the end of the loading thread.
            </summary>
        </member>
        <member name="T:MonoMod.AddLevelTemplateCullingAttribute">
            <summary>
            Patch a LevelTemplate method to add camera culling
            </summary>
        </member>
        <member name="T:MonoMod.PatchLightningRendererBoltRunAttribute">
            <summary>
            Patches LightningRenderer.Bolt.Run to respect advanced photosensitivity settings.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLightningRendererBoltRenderAttribute">
            <summary>
            Patches LightningRenderer.Bolt.Render to respect advanced photosensitivity settings.
            </summary>
        </member>
        <member name="T:MonoMod.PatchLookoutUpdateAttribute">
            <summary>
            Don't remove TalkComponent even watchtower collide solid, so that watchtower can be hidden behind Solid.
            </summary>
        </member>
        <member name="T:MonoMod.PatchMapDataLoaderAttribute">
            <summary>
            Check for ldstr "Corrupted Level Data" and pop the throw after that.
            Also manually execute ProxyFileCalls rule.
            Also includes a patch for the strawberry tracker.
            </summary>
        </member>
        <member name="T:MonoMod.PatchBackdropParserAttribute">
            <summary>
            Patch the Godzilla-sized backdrop parsing method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchMiniTextboxRoutine">
            <summary>
            Patches the method to fix mini textbox not closing when it's expanding and another textbox is triggered.
            Also adds support for the following dialog nodes: anchors, waits and multiple pages
            </summary>
        </member>
        <member name="T:MonoMod.PatchCommandsUpdateOpenAttribute">
            <summary>
            Patches Commands.UpdateOpen to make key's repeat timer independent with time rate.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCommandsProcessMethodAttribute">
            <summary>
            Patches Commands.ProcessMethod to lowercase command names when building the command list.
            </summary>
        </member>
        <member name="T:MonoMod.PatchEngineUpdateAttribute">
            <summary>
            Patch the method to apply TimeRateModifier multipliers.
            </summary>
        </member>
        <member name="T:MonoMod.PatchEngineCctorAttribute">
            <summary>
            Patch the method to swap "Framework" for "Core"
            </summary>
        </member>
        <member name="T:MonoMod.PatchEntityListUpdateAttribute">
            <summary>
            Patches the method to run UpdatePreceder and UpdateFinalizer
            </summary>
        </member>
        <member name="T:MonoMod.PatchEntityListUpdateListsAttribute">
            <summary>
            Improves performance by removing redundant Contains()
            </summary>
        </member>
        <member name="T:MonoMod.PatchEntityListAddAttribute">
            <summary>
            Make Add(entity) method to crash when entity is null
            so modders can catch bugs in time
            </summary>
        </member>
        <member name="T:MonoMod.PatchErrorLogWriteAttribute">
            <summary>
            Find ldfld Engine::Version + ToString. Pop ToString result, call Everest::get_VersionCelesteString
            Replace Filename constant on XNA
            </summary>
        </member>
        <member name="T:MonoMod.PatchErrorLogOpenAttribute">
            <summary>
            Find call to Process.Start, and set UseShellExecute flag
            Replace Filename constant on XNA
            </summary>
        </member>
        <member name="T:MonoMod.PatchTextIterationAttribute">
            <summary>
            Replace the char-by-char text iteration with a codepoint-per-codepoint one.
            </summary>
        </member>
        <member name="T:MonoMod.PatchMountainRendererUpdate">
            <summary>
            Replaces hard-coded key checks with Everest CoreModule ButtonBinding checks
            </summary>
        </member>
        <member name="T:MonoMod.PatchMoveBlockControllerAttribute">
            <summary>
            Patches MoveBlock.Controller to disable static movers before resetting their position when breaking.
            </summary>
        </member>
        <member name="T:MonoMod.PatchNPCSetupGrannySpriteSoundsAttribute">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the footstep sound effect.
            </summary>
        </member>
        <member name="T:MonoMod.PatchNPCSetupTheoSpriteSoundsAttribute">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the footstep sound effect.
            </summary>
        </member>
        <member name="T:MonoMod.PatchNPC06BadelineCryingCtorAttribute">
            <summary>
            Patch the constructor to use event:/none instead of other nonexistent event.
            </summary>
        </member>
        <member name="T:MonoMod.PatchCh9EasterEggText">
            <summary>
            Allow a mod to replace the easter egg text by defining it in the language file.
            </summary>
        </member>
        <member name="T:MonoMod.PatchChapterPanelSwapRoutineAttribute">
            <summary>
            Patch the SwapRoutine method in OuiChapterPanel instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiChapterPanelRenderAttribute">
            <summary>
            Patches chapter panel rendering to allow for custom chapter cards and banners.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiChapterPanelOptionBgAttribute">
            <summary>
            Patches various methods to customize the chapter panel tabs.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiChapterPanelResetAttribute">
            <summary>
            Patches chapter panel tab rendering to allow for custom backpack/cassette icons.
            </summary>
        </member>
        <member name="T:MonoMod.PatchStrawberryWidthInChapterPanelAttribute">
            <summary>
            Patches chapter panel tab rendering to allow for custom backpack/cassette icons.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiFileNamingRenderingAttribute">
            <summary>
            Patch the file naming rendering to hide the "switch between katakana and hiragana" prompt when the menu is not focused.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiFileSelectSubmenuChecksAttribute">
            <summary>
            Patches the checks for OuiAssistMode to include a check for OuiFileSelectSlot.ISubmenu as well.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiFileSelectSlotUpdateAttribute">
            <summary>
            Patches the method to make its manually-implemented screen flashing respect advanced photosensitivity settings.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFileSelectSlotRenderAttribute">
            <summary>
            IL-patch the Render method for file select slots instead of reimplementing it,
            to un-hardcode stamps.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiFileSelectSlotOnContinueSelectedAttribute">
            <summary>
            Patches the method to update the Name and the TheoSisterName, if the file has been renamed in-game, in the file's SaveData.
            </summary>
        </member>
        <member name="T:MonoMod.PatchFileSelectSlotRenderMissingVanillaDataDialog">
            <summary>
            Patches the method to differentiate between Corrupted and MissingVanillaData.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOuiJournalStatsHeartGemCheckAttribute">
            <summary>
            Patch a reference to TotalHeartGems in the OuiJournalGlobal constructor to unharcode the check for golden berry unlock.
            </summary>
        </member>
        <member name="T:MonoMod.PatchOverworldRegisterOuiAttribute">
            <summary>
            Adjust the Overworld.ReloadMenus method to use the RegisterOui function, rather than registering manually
            </summary>
        </member>
        <member name="T:MonoMod.PatchTotalHeartGemCSidePostcardAttribute">
            <summary>
            Patch TotalHeartGems to refer to TotalHeartGemsInVanilla, and whether to show the UnlockCSide postcard
            </summary>
        </member>
        <member name="T:MonoMod.PatchCSidePostcardTextAttribute">
            <summary>
            Patch Routine to get the dialog for the C-side unlock instead of the constant "POSTCARD_CSIDES"
            </summary>
        </member>
        <member name="T:MonoMod.PatchPathfinderRenderAttribute">
            <summary>
            Patch the pathfinder debug rendering to make it aware of the array size being unhardcoded.
            </summary>
        </member>
        <member name="T:MonoMod.PatchEmulatorConstructorAttribute">
            <summary>
            Patches the method to fix "$" not printed in PICO-8.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerOrigUpdateAttribute">
            <summary>
            Patch the orig_Update method in Player instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerBeforeUpTransition">
            <summary>
            Patches the method to only set the player Speed.X if not in the RedDash state.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerStarFlyReturnToNormalHitboxAttribute">
            <summary>
            Patches the method to kill the player instead of crashing when exiting a feather in a solid.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerOnCollideV">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the footstep/landing sound effect.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerClimbBegin">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the grab sound effect.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerOrigWallJumpAttribute">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the walljump sound effect.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerCtorAttribute">
            <summary>
            Patches the method to un-hardcode the FMOD event string used to play the footstep and grab sound effect,
            and handle player state management.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerExplodeLaunchAttribute">
            <summary>
            Patches the method to fix puffer boosts breaking on respawn.
            </summary>
        </member>
        <member name="T:MonoMod.PatchPlayerApproachMaxMoveAttribute">
            <summary>
            Patches the method to fix float jank when calculationg Calc.ApproachTo maxMove values
            </summary>
        </member>
        <member name="T:MonoMod.PatchRainFGRenderAttribute">
            <summary>
            Patch the RainFG.Render method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchResortMirrorBeforeRenderAttribute">
            <summary>
            Patch the <see cref="!:ResortMirror.BeforeRender"/> method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchRumbleTriggerAwakeAttribute">
            <summary>
            Include the option to use Y range of trigger nodes.
            </summary>
        </member>
        <member name="T:MonoMod.PatchSeekerBarrierDraw">
            <summary>
            Patches the method to implement culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchSessionOrigCtorAttribute">
            <summary>
            Patch the session .ctor to default to "" if the map has no rooms,
            or the default room does not exist
            </summary>
        </member>
        <member name="T:MonoMod.PatchSettingsSetDefaultKeyboardControls">
            <summary>
            Patches Settings.SetDefaultKeyboardControls to take mouse bindings into account
            and ensure that TranslateKeys only gets called when reset = true. Additionaly
            adds code missing on XNA to the end of the function.
            </summary>
        </member>
        <member name="T:MonoMod.PatchSpikesDraw">
            <summary>
            Patches the method to implement culling.
            </summary>
        </member>
        <member name="T:MonoMod.PatchStrawberryTrainCollectionOrder">
            <summary>
            A patch for Strawberry that takes into account that some modded strawberries may not allow standard collection rules.
            </summary>
        </member>
        <member name="T:MonoMod.PatchStrawberryInterfaceAttribute">
            <summary>
            Patch the Strawberry class to tack on the IStrawberry interface for the StrawberryRegistry
            </summary>
        </member>
        <member name="T:MonoMod.PatchPatchStrawberrySeedOnAllCollectedAttribute">
            <summary>
            Patches OnAllCollected to add a check if this.follower.Leader is null.
            </summary>
        </member>
        <member name="T:MonoMod.PatchTextMenuOptionColorAttribute">
            <summary>
            Patches the unselected color in TextMenu.Option to make it customizable.
            </summary>
        </member>
        <member name="T:MonoMod.PatchTextMenuSettingUpdateAttribute">
            <summary>
            Patches TextMenu.Setting.Update to handle MouseButtons
            </summary>
        </member>
        <member name="T:MonoMod.PatchTextMenuUpdateAttribute">
            <summary>
            Patches TextMenu.Update to check advanced photosensitivity settings
            </summary>
        </member>
        <member name="T:MonoMod.PatchSaveRoutineAttribute">
            <summary>
            Patch the UserIO.SaveRoutine method instead of reimplementing it in Everest.
            </summary>
        </member>
        <member name="T:MonoMod.PatchSaveDataFlushSavesAttribute">
            <summary>
            Patches UserIO.Save to flush save data to disk after writing it.
            </summary>
        </member>
        <member name="T:MonoMod.PatchUserIOPathsAttribute">
            <summary>
            Patches the method to use UserIO.SavePath/BackupPath instead of hardcoded constants on XNA.
            </summary>
        </member>
        <member name="T:MonoMod.PatchWaterUpdateAttribute">
            <summary>
            Modify collision to make it customizable.
            </summary>
        </member>
        <member name="T:MonoMod.PatchWireRender">
            <summary>
            Patches the method to implement culling and reduce the wind render offset on wires.
            </summary>
        </member>
        <member name="P:Monocle.patch_Atlas.Textures">
            <summary>
            The internal string-MTexture dictionary.
            </summary>
        </member>
        <member name="M:Monocle.patch_Atlas.orig_FromAtlas(System.String,Monocle.Atlas.AtlasDataFormat)">
            <origdoc/>
        </member>
        <member name="M:Monocle.patch_Atlas.FromAtlas(System.String,Monocle.Atlas.AtlasDataFormat)">
            <inheritdoc cref="M:Monocle.Atlas.FromAtlas(System.String,Monocle.Atlas.AtlasDataFormat)"/>
        </member>
        <member name="M:Monocle.patch_Atlas.orig_FromMultiAtlas(System.String,System.String[],Monocle.Atlas.AtlasDataFormat)">
            <origdoc/>
        </member>
        <member name="M:Monocle.patch_Atlas.FromMultiAtlas(System.String,System.String[],Monocle.Atlas.AtlasDataFormat)">
            <inheritdoc cref="M:Monocle.Atlas.FromMultiAtlas(System.String,System.String[],Monocle.Atlas.AtlasDataFormat)"/>
        </member>
        <member name="M:Monocle.patch_Atlas.orig_FromMultiAtlas(System.String,System.String,Monocle.Atlas.AtlasDataFormat)">
            <origdoc/>
        </member>
        <member name="M:Monocle.patch_Atlas.FromMultiAtlas(System.String,System.String,Monocle.Atlas.AtlasDataFormat)">
            <inheritdoc cref="M:Monocle.Atlas.FromMultiAtlas(System.String,System.String,Monocle.Atlas.AtlasDataFormat)"/>
        </member>
        <member name="M:Monocle.patch_Atlas.orig_FromDirectory(System.String)">
            <origdoc/>
        </member>
        <member name="M:Monocle.patch_Atlas.FromDirectory(System.String)">
            <inheritdoc cref="M:Monocle.Atlas.FromDirectory(System.String)"/>
        </member>
        <member name="M:Monocle.patch_Atlas.Ingest(Celeste.Mod.ModAsset)">
            <summary>
            Feed the given ModAsset into the atlas.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.GetTextures(Monocle.Atlas)">
            <summary>
            Get the internal string-MTexture dictionary.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.GetDataMethod(Monocle.Atlas)">
            <summary>
            Get the method with which this atlas was loaded.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.GetDataPath(Monocle.Atlas)">
            <summary>
            Get the path from which this atlas was loaded.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.GetDataPaths(Monocle.Atlas)">
            <summary>
            If the atlas was loaded with FromMultiAtlas, get the paths from which this atlas was loaded.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.GetDataFormat(Monocle.Atlas)">
            <summary>
            Get the atlas data format, or none in case of directory atlases.
            </summary>
        </member>
        <member name="M:Monocle.AtlasExt.Ingest(Monocle.Atlas,Celeste.Mod.ModAsset)">
            <summary>
            Feed the given ModAsset into the atlas.
            </summary>
        </member>
        <member name="M:Monocle.patch_Calc.HexToColorWithAlpha(System.String)">
            <summary>
            Convert a hex color, possibly including an alpha value, into an XNA Color.
            </summary>
            <param name="hex">a hex color, in either <c>RRGGBB</c>, <c>RRGGBBAA</c>, or <c>AA</c> form.</param>
            <returns>an XNA color, defaulting to white.</returns>
        </member>
        <member name="M:Monocle.patch_Coroutine.Jump">
            <summary>
            Forcibly set the timer to 0 to jump to the next "step."
            </summary>
        </member>
        <member name="M:Monocle.CoroutineExt.Jump(Monocle.Coroutine)">
            <inheritdoc cref="M:Monocle.patch_Coroutine.Jump"/>
        </member>
        <member name="P:Monocle.patch_Engine.NextScene">
            <summary>
            Allows to check which scene is next in methods like Entity.SceneEnd() or Scene.End().
            </summary>
        </member>
        <member name="F:Monocle.patch_Engine.TimeRate">
            <summary>
            A game speed factor set by various entities, such as <see cref="T:Celeste.Seeker"/> or <see cref="T:Celeste.AngryOshiro"/>.<br/>
            This field should not be modified by mods. Use a <see cref="T:Celeste.Mod.Entities.TimeRateModifier"/> component instead.
            </summary>
            <remarks>
            This field is used by entities which don't appear in vanilla together, or more than once in the same room.
            As such, if two of them try to modify the time rate, they will overwrite each other's values.
            </remarks>
            <seealso cref="F:Monocle.patch_Engine.EffectiveTimeRate"/>
        </member>
        <member name="F:Monocle.patch_Engine.TimeRateB">
            <summary>
            The Assist/Variant Mode "Game Speed" factor by which <see cref="P:Monocle.Engine.RawDeltaTime"/> is multiplied.<br/>
            This field should not be modified by mods. Use a <see cref="T:Celeste.Mod.Entities.TimeRateModifier"/> component instead.
            </summary>
            <seealso cref="F:Monocle.patch_Engine.EffectiveTimeRate"/>
        </member>
        <member name="F:Monocle.patch_Engine.EffectiveTimeRate">
            <summary>
            The final time rate factor applied to <see cref="P:Monocle.Engine.RawDeltaTime"/> before being set to
            <see cref="P:Monocle.Engine.DeltaTime"/>.<br />
            This value is calculated <b>at the beginning of the frame</b> by multiplying
            <see cref="F:Monocle.patch_Engine.TimeRate"/>, <see cref="F:Monocle.patch_Engine.TimeRateB"/>, and the <see cref="F:Celeste.Mod.Entities.TimeRateModifier.Multiplier"/>s
            of all enabled <see cref="T:Celeste.Mod.Entities.TimeRateModifier"/>s in the scene together.
            </summary>
        </member>
        <member name="M:Monocle.patch_Engine.GetTimeRateComponentMultiplier(Monocle.Scene)">
            <summary>
            Aggregates the <see cref="F:Celeste.Mod.Entities.TimeRateModifier.Multiplier"/>s of all enabled <see cref="T:Celeste.Mod.Entities.TimeRateModifier"/>s in the scene
            by multiplying them together.
            </summary>
        </member>
        <member name="P:Monocle.patch_Entity.SourceData">
            <summary>
            EntityData instance used to construct this entity, might be null.
            </summary>
        </member>
        <member name="P:Monocle.patch_Entity.SourceId">
            <summary>
            EntityID used to construct this entity, might be default(EntityID).
            </summary>
        </member>
        <member name="P:Monocle.patch_EntityList.ToAdd">
            <summary>
            The list of entities which are about to get added.
            </summary>
        </member>
        <member name="M:Monocle.EntityListExt.GetToAdd(Monocle.EntityList)">
            <summary>
            Get the list of entities which are about to get added.
            </summary>
        </member>
        <member name="M:Monocle.patch_MTexture.SetOverride(Monocle.VirtualTexture,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)">
            <summary>
            Override the given MTexture with the given VirtualTexture and parameters.
            </summary>
        </member>
        <member name="M:Monocle.patch_MTexture.SetOverride(Celeste.Mod.ModAsset)">
            <summary>
            Override the given MTexture with the given mod asset.
            </summary>
        </member>
        <member name="M:Monocle.patch_MTexture.UndoOverride">
            <summary>
            Undo the latest override applied to the given MTexture.
            </summary>
        </member>
        <member name="M:Monocle.patch_MTexture.UndoOverride(Celeste.Mod.ModAsset)">
            <summary>
            Undo the given override applied to the given MTexture.
            </summary>
        </member>
        <member name="M:Monocle.MTextureExt.SetOverride(Monocle.MTexture,Monocle.VirtualTexture,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)">
            <inheritdoc cref="M:Monocle.patch_MTexture.SetOverride(Monocle.VirtualTexture,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)"/>
        </member>
        <member name="M:Monocle.MTextureExt.SetOverride(Monocle.MTexture,Celeste.Mod.ModAsset)">
            <inheritdoc cref="M:Monocle.patch_MTexture.SetOverride(Celeste.Mod.ModAsset)"/>
        </member>
        <member name="M:Monocle.MTextureExt.UndoOverride(Monocle.MTexture)">
            <inheritdoc cref="M:Monocle.patch_MTexture.UndoOverride"/>
        </member>
        <member name="M:Monocle.MTextureExt.UndoOverride(Monocle.MTexture,Celeste.Mod.ModAsset)">
            <inheritdoc cref="M:Monocle.patch_MTexture.UndoOverride(Celeste.Mod.ModAsset)"/>
        </member>
        <member name="M:Monocle.MTextureExt.GetParent(Monocle.MTexture)">
            <summary>
            Gets the parent texture of the given MTexture.
            </summary>
        </member>
        <member name="M:Monocle.MTextureExt.SetParent(Monocle.MTexture,Monocle.MTexture)">
            <summary>
            Sets the parent texture of the given MTexture.
            </summary>
        </member>
        <member name="M:Monocle.RendererListExt.UpdateLists(Monocle.RendererList)">
            <summary>
            Update the renderer lists - apply any pending additions or removals.
            </summary>
        </member>
        <member name="M:Monocle.patch_Scene.FindEntitiesWithSid(System.String)">
            <summary>
            Finds all entities created from an EntityData with the specified SID, using the Tracker if possible.
            </summary>
        </member>
        <member name="F:Monocle.patch_SpriteBank.XMLPath">
            <summary>
            The path to the file from which the SpriteBank was loaded.
            </summary>
        </member>
        <member name="M:Monocle.patch_SpriteBank.LoadSpriteBank(System.String)">
            <summary>
            Load SpriteBank from file and merge mod SpriteBanks.
            </summary>
            <param name="filename">Xml file to load</param>
            <returns></returns>
        </member>
        <member name="M:Monocle.patch_SpriteBank.GetSpriteBankExcludingVanillaCopyPastes(System.Xml.XmlDocument,System.Xml.XmlDocument,System.String)">
            <summary>
            Returns a mod SpriteBank with all sprites copy-pasted and unmodified from the vanilla SpriteBank filtered out.
            This allows to minimize mod conflicts.
            </summary>
            <param name="vanillaSpritesXml">The content of the vanilla SpriteBank</param>
            <param name="modSpritesXml">The content of the mod SpriteBank</param>
            <param name="path">The path to the SpriteBank file, for logging</param>
            <returns>The mod SpriteBank with all sprites identical to vanilla filtered out.</returns>
        </member>
        <member name="M:Monocle.patch_SpriteBank.xmlNodesAreIdentical(System.Xml.XmlNode,System.Xml.XmlNode)">
            <summary>
            Checks if the 2 given nodes are identical (same attributes and same child elements).
            </summary>
            <param name="node1">The first node to compare</param>
            <param name="node2">The second node to compare</param>
            <returns>true if the nodes match up, false otherwise.</returns>
        </member>
        <member name="M:Monocle.patch_SpriteBank.getChildElements(System.Xml.XmlNode)">
            <summary>
            Gets a list of child <b>elements</b> (excluding comments, text, etc) for the given node.
            </summary>
            <param name="node">The node to get the children from</param>
            <returns>The list of child elements</returns>
        </member>
        <member name="M:Monocle.SpriteBankExt.GetXMLPath(Monocle.SpriteBank)">
            <summary>
            Get the path to the file from which the SpriteBank was loaded.
            </summary>
        </member>
        <member name="M:Monocle.patch_StateMachine.AddState(System.String,System.Func{System.Int32},System.Func{System.Collections.IEnumerator},System.Action,System.Action)">
            <summary>
            Adds a new state to this state machine with the given behaviour, and returns the index of the new state.
            </summary>
            <param name="name">The name of this state, for display purposes by mods only.</param>
            <param name="onUpdate">A function to run every frame during this state, returning the index of the state that should be switched to next frame.</param>
            <param name="coroutine">A function that creates a coroutine to run when this state is switched to.</param>
            <param name="begin">An action to run when this state is switched to.</param>
            <param name="end">An action to run when this state ends.</param>
            <returns>The index of the new state.</returns>
        </member>
        <member name="M:Monocle.patch_StateMachine.AddState``1(System.String,System.Func{``0,System.Int32},System.Func{``0,System.Collections.IEnumerator},System.Action{``0},System.Action{``0})">
             <summary>
             Adds a new state to this state machine with the given behaviour, providing access to the entity running this state machine.
            
             It's preferable to use the <c>AddState</c> methods provided in <c>Player</c>, <c>AngryOshiro</c>, and <c>Seeker</c> than to use this directly, as
             they ensure the correct type is used. If the entity has the wrong type, then these functions are given <c>null</c>.
             </summary>
             <param name="name">The name of this state, for display purposes by mods only.</param>
             <param name="onUpdate">A function to run every frame during this state, returning the index of the state that should be switched to next frame.</param>
             <param name="coroutine">A function that creates a coroutine to run when this state is switched to.</param>
             <param name="begin">An action to run when this state is switched to.</param>
             <param name="end">An action to run when this state ends.</param>
             <typeparam name="E">The type of the entity that these functions run on. If the entity has the wrong type, the functions are given <c>null</c>.</typeparam>
             <returns>The index of the new state.</returns>
        </member>
        <member name="M:Monocle.patch_StateMachine.GetStateName(System.Int32)">
            <summary>
            Returns the name of the state with the given index, which defaults to the index in string form.
            These names are for display purposes by mods only.
            </summary>
            <param name="state">The index of the state.</param>
            <returns>The display name of that state.</returns>
        </member>
        <member name="M:Monocle.patch_StateMachine.SetStateName(System.Int32,System.String)">
            <summary>
            Sets the name of the state with the given index.
            These names are for display purposes by mods only.
            </summary>
            <param name="state">The index of the state.</param>
            <param name="name">The new display name it should use.</param>
        </member>
        <member name="M:Monocle.patch_StateMachine.GetCurrentStateName">
            <summary>
            Returns the name of the current state, which defaults to the index in string form.
            These names are for display purposes by mods only.
            </summary>
            <returns>The display name of the current state.</returns>
        </member>
        <member name="T:Monocle.patch_Tileset">
            <summary>
            Add bounds checking (wrap indices using %) to indexers.
            </summary>
        </member>
        <member name="T:Monocle.TrackedAsAttribute">
            <summary>
            When applied on an entity or component, this attribute makes the entity tracked the same way as another entity or component.
            </summary>
        </member>
        <member name="M:Monocle.TrackedAsAttribute.#ctor(System.Type)">
            <summary>
            Makes this entity/component tracked the same way as another entity/component.<br/>
            It can then be accessed through <see cref="M:Monocle.Tracker.GetEntities``1"/> or <see cref="M:Monocle.Tracker.GetComponents``1"/> with the generic param of <paramref name="trackedAsType"/>.
            </summary>
            <param name="trackedAsType">Type to track this entity/component as.</param>
        </member>
        <member name="M:Monocle.TrackedAsAttribute.#ctor(System.Type,System.Boolean)">
            <inheritdoc cref="M:Monocle.TrackedAsAttribute.#ctor(System.Type)"/>
            <param name="trackedAsType">Type to track this entity/component as.</param>
            <param name="inherited">Whether all child classes should also be tracked as <paramref name="trackedAsType"/>.</param>
        </member>
        <member name="M:Monocle.patch_Tracker.AddTypeToTracker(System.Type,System.Type,System.Boolean)">
            <summary>
            Dynamically add a new type to the active scene's tracker. The <paramref name="type"/> can also be TrackedAs if <paramref name="trackedAs"/> is provided.
            If <paramref name="inheritAll"/> is true, all subtypes of <paramref name="type"/> will be tracked under it.
            Call <seealso cref="!:AddSpecificType(Type, Type, Dictionary&lt;Type, List&lt;Type&gt;&gt;, HashSet&lt;Type&gt;)"/> to add the scene's entities to the tracker after adding the type.
            </summary>
            <param name="type">The type to add to the Tracker</param>
            <param name="trackedAs">If the type should be TrackedAs</param>
            <param name="inheritAll">If all subtypes of <paramref name="type"/> should also be tracked under it</param>
        </member>
        <member name="M:Monocle.patch_Tracker.AddTypeToTracker(System.Type,System.Type,System.Type[])">
            <summary>
            Dynamically add a new type to the active scene's tracker. The <paramref name="type"/> can also be TrackedAs if <paramref name="trackedAs"/> is provided.
            Any <paramref name="subtypes"/> passed will also be tracked under <paramref name="type"/>.
            Call <seealso cref="!:AddSpecificType(Type, Type, Dictionary&lt;Type, List&lt;Type&gt;&gt;, HashSet&lt;Type&gt;)"/> to add the scene's entities to the tracker after adding the type.
            </summary>
            <param name="type">The type to add to the Tracker</param>
            <param name="trackedAs">If the type should be TrackedAs</param>
            <param name="subtypes">Any subtypes that should be tracked under <paramref name="type"/></param>
        </member>
        <member name="M:Monocle.patch_Tracker.Refresh(Monocle.Scene,System.Boolean)">
            <summary>
            Ensures the <paramref name="scene"/>'s tracker contains all entities of all tracked Types from the <paramref name="scene"/>.
            Must be called if a type is added to the tracker manually and if the <paramref name="scene"/>'s Tracker isn't refreshed.
            If called back to back without a type added to the Tracker, it won't go through again, for performance.
            <paramref name="force"/> will make ensure the Refresh happens, even if run back to back.
            Only the <paramref name="scene"/>'s Tracker's refreshed state is changed.
            If <paramref name="scene"/> is null, it will default to Engine.Scene.
            </summary>
        </member>
        <member name="M:Monocle.patch_Tracker.GetEntitiesTrackIfNeeded``1">
            <summary>
            Gets all entities of the given type, adding that type to the tracker if needed.
            </summary>
        </member>
        <member name="M:Monocle.patch_Tracker.GetComponentsTrackIfNeeded``1">
            <summary>
            Gets all components of the given type, adding that type to the tracker if needed.
            </summary>
        </member>
        <member name="M:Monocle.patch_Tracker.GetEntitiesTrackIfNeeded(System.Type)">
            <summary>
            Gets all entities of the given type, adding that type to the tracker if needed.
            Will throw an exception when the type does not derive from Entity.
            </summary>
        </member>
        <member name="M:Monocle.patch_Tracker.GetComponentsTrackIfNeeded(System.Type)">
            <summary>
            Gets all components of the given type, adding that type to the tracker if needed.
            Will throw an exception when the type does not derive from Component.
            </summary>
        </member>
        <member name="M:Monocle.VirtualAssetExt.Unload(Monocle.VirtualAsset)">
            <summary>
            Unloads a virtual asset without removing it from the virtual asset list.
            </summary>
            <param name="self">The asset to unload.</param>
        </member>
        <member name="M:Monocle.VirtualAssetExt.Reload(Monocle.VirtualAsset)">
            <summary>
            Reloads a single virtual asset.
            </summary>
            <param name="self">The asset to reload.</param>
        </member>
        <member name="P:Monocle.patch_VirtualContent.Assets">
            <summary>
            The list of all managed VirtualAssets.
            </summary>
        </member>
        <member name="M:Monocle.patch_VirtualContent.CreateTexture(Celeste.Mod.ModAsset)">
            <summary>
            Create a new VirtualTexture based on the passed mod asset.
            </summary>
        </member>
        <member name="M:Monocle.patch_VirtualContent.ForceReload">
            <summary>
            Forcibly unload and reload all content.
            </summary>
        </member>
        <member name="M:Monocle.patch_VirtualContent.UnloadOverworld">
            <summary>
            Unload all overworld-related content.
            </summary>
        </member>
        <member name="P:Monocle.VirtualContentExt.Assets">
            <inheritdoc cref="P:Monocle.patch_VirtualContent.Assets"/>
        </member>
        <member name="M:Monocle.VirtualContentExt.CreateTexture(Celeste.Mod.ModAsset)">
            <inheritdoc cref="M:Monocle.patch_VirtualContent.CreateTexture(Celeste.Mod.ModAsset)"/>
        </member>
        <member name="M:Monocle.VirtualContentExt.Reload">
            <summary>
            Reload all content.
            </summary>
        </member>
        <member name="M:Monocle.VirtualContentExt.Unload">
            <summary>
            Unload all content.
            </summary>
        </member>
        <member name="M:Monocle.VirtualContentExt.ForceReload">
            <inheritdoc cref="M:Monocle.patch_VirtualContent.ForceReload"/>
        </member>
        <member name="M:Monocle.VirtualContentExt.UnloadOverworld">
            <inheritdoc cref="M:Monocle.patch_VirtualContent.UnloadOverworld"/>
        </member>
        <member name="M:Monocle.VirtualTextureExt.GetMetadata(Monocle.VirtualTexture)">
            <summary>
            If the VirtualTexture originates from a mod, get the mod asset metadata.
            </summary>
        </member>
        <member name="M:Monocle.VirtualTextureExt.SetFallback(Monocle.VirtualTexture,Monocle.VirtualTexture)">
            <summary>
            Set a fallback texture in case the texture becomes unavailable on reload.
            </summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the WholeLineIsCommandsRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.WholeLineIsCommandsRegex_0.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.CommandRegex_1">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the CommandRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.CommandRegex_1.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.CommandRegex_1.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.CommandRegex_1.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.PortraitRegex_2">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the PortraitRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.PortraitRegex_2.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.PortraitRegex_2.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.PortraitRegex_2.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.VariableRegex_3">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the VariableRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.VariableRegex_3.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.VariableRegex_3.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.VariableRegex_3.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.InsertRegex_4">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the InsertRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.InsertRegex_4.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.InsertRegex_4.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.InsertRegex_4.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.Utilities">
            <summary>Helper methods used by generated <see cref="T:System.Text.RegularExpressions.Regex"/>-derived implementations.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.Utilities.s_defaultTimeout">
            <summary>Default timeout value set in <see cref="T:System.AppContext"/>, or <see cref="F:System.Text.RegularExpressions.Regex.InfiniteMatchTimeout"/> if none was set.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.Utilities.s_hasTimeout">
            <summary>Whether <see cref="F:System.Text.RegularExpressions.Generated.Utilities.s_defaultTimeout"/> is non-infinite.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.Utilities.IsWordChar(System.Char)">
            <summary>Determines whether the character is part of the [\w] set.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.Utilities.StackPop(System.Int32[],System.Int32@,System.Int32@,System.Int32@)">
            <summary>Pops 2 values from the backtracking stack.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.Utilities.StackPush(System.Int32[]@,System.Int32@,System.Int32)">
            <summary>Pushes 1 value onto the backtracking stack.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.Utilities.StackPush(System.Int32[]@,System.Int32@,System.Int32,System.Int32)">
            <summary>Pushes 2 values onto the backtracking stack.</summary>
        </member>
    </members>
</doc>
