Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [Harmonize(typeof(Microsoft.Xna.Framework.Graphics.RenderTarget2D), ".ctor", HarmonizeAttribute.Fixation.Prefix, PriorityLevel.Last)]
- internal static bool OnRenderTarget2DConstruct(
- GraphicsDevice graphicsDevice,
- int width,
- int height,
- bool mipMap,
- ref SurfaceFormat preferredFormat,
- ref DepthFormat preferredDepthFormat,
- ref int preferredMultiSampleCount,
- RenderTargetUsage usage,
- bool shared,
- int arraySize,
- out bool __state
- ) {
- var stackTrace = new StackTrace(skipFrames: 2, fNeedFileInfo: false);
- foreach (var frame in stackTrace.GetFrames()) {
- var method = frame.GetMethod();
- if (method?.DeclaringType != typeof(StardewValley.Game1)) {
- continue;
- }
- switch (method?.Name) {
- case "SetWindowSize": {
- __state = true;
- GraphicsDevice device = null;
- if (!LastGraphicsDevice?.TryGetTarget(out device) ?? false || device is null) {
- return true;
- }
- preferredMultiSampleCount = Config.DrawState.EnableMSAA ? 16 : 0;
- preferredDepthFormat = device.PresentationParameters.DepthStencilFormat;
- preferredFormat = device.PresentationParameters.BackBufferFormat;
- } return true;
- case "Initialize":
- case "allocateLightmap":
- case "takeMapScreenshot": {
- __state = true;
- } return true;
- }
- }
- __state = false;
- return true;
- }
- [Harmonize(typeof(Microsoft.Xna.Framework.Graphics.RenderTarget2D), ".ctor", HarmonizeAttribute.Fixation.Postfix, PriorityLevel.Last)]
- internal static void OnRenderTarget2DConstructPost(
- RenderTarget2D __instance,
- GraphicsDevice graphicsDevice,
- int width,
- int height,
- bool mipMap,
- SurfaceFormat preferredFormat,
- DepthFormat preferredDepthFormat,
- int preferredMultiSampleCount,
- RenderTargetUsage usage,
- bool shared,
- int arraySize,
- bool __state
- ) {
- if (__state) {
- __instance.Meta().IsSystemRenderTarget = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement