|
8 | 8 | import net.vulkanmod.config.gui.OptionBlock; |
9 | 9 | import net.vulkanmod.config.video.VideoModeManager; |
10 | 10 | import net.vulkanmod.config.video.VideoModeSet; |
| 11 | +import net.vulkanmod.config.video.WindowMode; |
11 | 12 | import net.vulkanmod.render.chunk.build.light.LightMode; |
12 | 13 | import net.vulkanmod.render.vertex.TerrainRenderType; |
13 | 14 | import net.vulkanmod.vulkan.Renderer; |
@@ -77,19 +78,18 @@ public static OptionBlock[] getVideoOpts() { |
77 | 78 | new OptionBlock("", new Option<?>[]{ |
78 | 79 | resolutionOption, |
79 | 80 | RefreshRate, |
80 | | - new SwitchOption(Component.translatable("options.fullscreen"), |
| 81 | + new CyclingOption<>(Component.translatable("vulkanmod.options.windowMode"), |
| 82 | + WindowMode.values(), |
81 | 83 | value -> { |
82 | | - minecraftOptions.fullscreen().set(value); |
83 | | -// window.toggleFullScreen(); |
84 | | - fullscreenDirty = true; |
85 | | - }, |
86 | | - () -> minecraftOptions.fullscreen().get()), |
87 | | - new SwitchOption(Component.translatable("vulkanmod.options.windowedFullscreen"), |
88 | | - value -> { |
89 | | - config.windowedFullscreen = value; |
| 84 | + boolean exclusiveFullscreen = value == WindowMode.EXCLUSIVE_FULLSCREEN; |
| 85 | + minecraftOptions.fullscreen() |
| 86 | + .set(exclusiveFullscreen); |
| 87 | + |
| 88 | + config.windowMode = value.mode; |
90 | 89 | fullscreenDirty = true; |
91 | 90 | }, |
92 | | - () -> config.windowedFullscreen), |
| 91 | + () -> WindowMode.fromValue(config.windowMode)) |
| 92 | + .setTranslator(value -> Component.translatable(WindowMode.getComponentName(value))), |
93 | 93 | new RangeOption(Component.translatable("options.framerateLimit"), |
94 | 94 | 10, 260, 10, |
95 | 95 | value -> Component.nullToEmpty(value == 260 ? |
|
0 commit comments