diff --git a/SMCode/SM.Base/Drawing/Text/Font.cs b/SMCode/SM.Base/Drawing/Text/Font.cs
index d96a61e..9a66924 100644
--- a/SMCode/SM.Base/Drawing/Text/Font.cs
+++ b/SMCode/SM.Base/Drawing/Text/Font.cs
@@ -31,6 +31,7 @@ namespace SM.Base.Drawing.Text
_lib ??= new Library();
_fontFace = new Face(_lib, path);
+ UnpackAlignment = 1;
}
public void RegenerateTexture()
diff --git a/SMCode/SM.Base/Textures/Texture.cs b/SMCode/SM.Base/Textures/Texture.cs
index caa3efb..d3fa7a5 100644
--- a/SMCode/SM.Base/Textures/Texture.cs
+++ b/SMCode/SM.Base/Textures/Texture.cs
@@ -33,6 +33,8 @@ namespace SM.Base.Textures
private int? _height;
private int? _width;
+ public int UnpackAlignment = 4;
+
///
/// Decides if the bitmap will automatically dispose itself.
///
@@ -100,7 +102,7 @@ namespace SM.Base.Textures
{
base.Compile();
- _id = GenerateTexture(Map, Filter, WrapMode, AutoDispose);
+ _id = GenerateTexture(Map, Filter, WrapMode, AutoDispose, UnpackAlignment);
}
///
@@ -120,11 +122,13 @@ namespace SM.Base.Textures
/// Auto dispose of the bitmap? Default: false
///
public static int GenerateTexture(Bitmap map, TextureMinFilter filter, TextureWrapMode wrapMode,
- bool dispose = false)
+ bool dispose = false, int unpackAlignment = 4)
{
var id = GL.GenTexture();
GL.BindTexture(TextureTarget.Texture2D, id);
+ GL.PixelStore(PixelStoreParameter.UnpackAlignment, unpackAlignment);
+
var data = map.LockBits(new Rectangle(0, 0, map.Width, map.Height), ImageLockMode.ReadOnly,
map.PixelFormat);