Skip to content

Commit 2fc4ee7

Browse files
committed
Correctly apply antialiasing & fullscreen within options & hotkeys
1 parent a7aebc5 commit 2fc4ee7

6 files changed

Lines changed: 62 additions & 5 deletions

File tree

OpenTibia/Assets/Scripts/Constants.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ public enum MouseLootPresets : int
469469
ShiftPlusRight,
470470
Left,
471471
}
472-
public enum HUDStyles : int
472+
public enum HUDStyle : int
473473
{
474474
Bars = 0,
475475
Arcs = 1,
@@ -480,7 +480,7 @@ public enum CoulouriseLootValuesTypes : int
480480
Corners = 1,
481481
Frames = 2,
482482
}
483-
public enum AntialiasingModes : int
483+
public enum AntialiasingMode : int
484484
{
485485
None = 0,
486486
Antialiasing = 1,

OpenTibia/Assets/Scripts/Core/Input/MappingSet.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ static MappingSet() {
3737
new Binding(StaticActionList.MiscLogoutCharacter, 'q', KeyCode.Q, EventModifiers.Control, false),
3838
new Binding(StaticActionList.MiscChangeCharacter, 'g', KeyCode.G, EventModifiers.Control, false),
3939
//new Binding(StaticActionList.MiscEditOptions, 'z', KeyCode.Z, EventModifiers.Control, false),
40+
new Binding(StaticActionList.MiscToggleFullScreen, 'f', KeyCode.F, EventModifiers.Control, false),
4041
new Binding(StaticActionList.MiscShowEditHotkeys, 'k', KeyCode.K, EventModifiers.Control, false),
4142
//new Binding(StaticActionList.MiscToggleMappingMode, '\0', KeyCode.Return, EventModifiers.Control),
4243
new Binding(StaticActionList.PlayerMount, 'r', KeyCode.R, EventModifiers.Control, false),
@@ -66,6 +67,7 @@ static MappingSet() {
6667
new Binding(StaticActionList.MiscLogoutCharacter, 'q', KeyCode.Q, EventModifiers.Control, false),
6768
new Binding(StaticActionList.MiscChangeCharacter, 'g', KeyCode.G, EventModifiers.Control, false),
6869
//new Binding(StaticActionList.MiscEditOptions, 'z', KeyCode.Z, EventModifiers.Control, false),
70+
new Binding(StaticActionList.MiscToggleFullScreen, 'f', KeyCode.F, EventModifiers.Control, false),
6971
new Binding(StaticActionList.MiscShowEditHotkeys, 'k', KeyCode.K, EventModifiers.Control, false),
7072
new Binding(StaticActionList.PlayerMount, 'r', KeyCode.R, EventModifiers.Control, false),
7173
new Binding(StaticActionList.PlayerCancel, '\0', KeyCode.Escape, EventModifiers.None, false),

OpenTibia/Assets/Scripts/Core/Input/StaticAction/StaticActionList.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public static class StaticActionList
99
public static ChangeCharacter MiscChangeCharacter = new ChangeCharacter(12, "MISC_CHANGE_CHARACTER", InputEvent.KeyDown);
1010

1111
public static ShowDialog MiscShowOutfit = new ShowDialog(18, "MISC_SHOW_OUTFIT", InputEvent.KeyDown, DialogType.CharacterOutfit);
12+
public static ToggleFullScreen MiscToggleFullScreen = new ToggleFullScreen(19, "MISC_TOGGLE_FULL_SCREEN", InputEvent.KeyDown);
1213

1314
// Chat
1415
public static ChatMoveCursorHome ChatMoveCursorHome = new ChatMoveCursorHome(259, "CHAT_MOVE_CURSOR_HOME", InputEvent.KeyDown);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace OpenTibiaUnity.Core.Input.StaticAction
8+
{
9+
public class ToggleFullScreen : StaticAction
10+
{
11+
public ToggleFullScreen(int id, string label, uint eventMask) : base(id, label, eventMask, false) { }
12+
13+
public override bool Perform(bool repeat = false) {
14+
var optionStorage = OpenTibiaUnity.OptionStorage;
15+
optionStorage.FullscreenMode = !optionStorage.FullscreenMode;
16+
17+
optionStorage.UpdateFullscreenMode();
18+
return true;
19+
}
20+
21+
public override IAction Clone() {
22+
return new ToggleFullScreen(_id, _label, _eventMask);
23+
}
24+
}
25+
}

OpenTibia/Assets/Scripts/Core/Input/StaticAction/ToggleFullScreen.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

OpenTibia/Assets/Scripts/Core/Options/OptionStorage.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ public class OptionStorage
2323
public MouseLootPresets MouseLootPreset { get; set; } = MouseLootPresets.Left;
2424
public bool AllowAllToInspectMe = false;
2525
public bool AutoChaseOff = true;
26-
public HUDStyles HUDStyle = HUDStyles.Bars;
26+
public HUDStyle HUDStyle = HUDStyle.Bars;
2727
public bool ShowActionBar1 = true;
2828
public bool ShowActionBar2 = false;
2929
//private CoulouriseLootValuesTypes ColouriseLootValues = CoulouriseLootValuesTypes.Frames;
30-
public AntialiasingModes AntialiasingMode = AntialiasingModes.Antialiasing;
30+
public AntialiasingMode GameAntialiasingMode = AntialiasingMode.Antialiasing;
3131
public bool FullscreenMode = false;
3232

3333
// Advanced Options
@@ -117,6 +117,7 @@ public int KeyboardDelay {
117117
public int SelectedClientVersion = -1;
118118
public int SelectedBuildVersion = -1;
119119
public int MiniMapZoom = 0;
120+
public int GameQualityLevel = 4;
120121

121122
// internal game options
122123
public CombatAttackModes CombatAttackMode = CombatAttackModes.Balanced;
@@ -193,7 +194,23 @@ public void UpdateQualitySettings() {
193194
else
194195
Application.targetFrameRate = Mathf.Clamp(FramerateLimit, 10, 200);
195196

196-
QualitySettings.SetQualityLevel(3); // High
197+
GameQualityLevel = Mathf.Clamp(GameQualityLevel, 0, 5);
198+
QualitySettings.SetQualityLevel(GameQualityLevel);
199+
200+
switch (GameAntialiasingMode) {
201+
case AntialiasingMode.None:
202+
OpenTibiaUnity.GameManager.WorldMapRenderTexture.filterMode = FilterMode.Point;
203+
break;
204+
205+
case AntialiasingMode.Antialiasing:
206+
OpenTibiaUnity.GameManager.WorldMapRenderTexture.filterMode = FilterMode.Bilinear;
207+
break;
208+
}
209+
}
210+
211+
public void UpdateFullscreenMode() {
212+
Screen.fullScreenMode = FullScreenMode.ExclusiveFullScreen;
213+
Screen.fullScreen = FullscreenMode;
197214
}
198215

199216
public void LoadOptions() {
@@ -203,6 +220,7 @@ public void LoadOptions() {
203220

204221
OpenTibiaUnity.MiniMapRenderer.Zoom = MiniMapZoom;
205222
UpdateQualitySettings();
223+
UpdateFullscreenMode();
206224
}
207225

208226
public bool SaveOptions() {

0 commit comments

Comments
 (0)