2021-06-28 15:38:30 +02:00
|
|
|
# Changelog
|
2021-11-29 21:44:00 +01:00
|
|
|
MLEM tries to adhere to [semantic versioning](https://semver.org/). Breaking changes are written in **bold**.
|
2021-06-28 15:38:30 +02:00
|
|
|
|
2021-06-29 00:57:04 +02:00
|
|
|
Jump to version:
|
2021-12-21 23:23:25 +01:00
|
|
|
- [5.3.0 (Unreleased)](#530-unreleased)
|
2021-12-21 23:16:18 +01:00
|
|
|
- [5.2.0](#520)
|
2021-09-24 16:51:06 +02:00
|
|
|
- [5.1.0](#510)
|
2021-06-30 00:18:54 +02:00
|
|
|
- [5.0.0](#500)
|
2021-06-29 00:57:04 +02:00
|
|
|
|
2021-12-21 23:23:25 +01:00
|
|
|
## 5.3.0 (Unreleased)
|
2021-12-22 12:46:17 +01:00
|
|
|
### MLEM
|
2021-12-22 13:00:41 +01:00
|
|
|
Additions
|
|
|
|
- Added StringBuilder overloads to GenericFont
|
2021-12-22 14:24:37 +01:00
|
|
|
- Added ColorExtensions.Multiply
|
2021-12-28 14:45:20 +01:00
|
|
|
- Added SoundEffectInstanceHandler.Stop
|
2021-12-22 13:00:41 +01:00
|
|
|
|
2021-12-22 12:46:17 +01:00
|
|
|
Improvements
|
|
|
|
- Generify GenericFont's string drawing
|
2021-12-21 23:23:25 +01:00
|
|
|
|
2022-01-02 23:31:47 +01:00
|
|
|
Fixes
|
|
|
|
- Fixed StaticSpriteBatch handling rotated sprites incorrectly
|
|
|
|
|
2021-12-24 12:10:04 +01:00
|
|
|
### MLEM.Ui
|
|
|
|
Improvements
|
|
|
|
- Allow for checkboxes and radio buttons to be disabled
|
2022-01-06 23:26:14 +01:00
|
|
|
- Only set a paragraph's area dirty when a text change would cause it to change size
|
2022-01-09 01:12:16 +01:00
|
|
|
- Ensure that a panel gets notified of all relevant changes by calling OnChildAreaDirty for all grandchildren
|
2022-01-09 01:15:05 +01:00
|
|
|
- Avoid unnecessary panel updates by using an Epsilon comparison when scrolling children
|
2021-12-24 12:10:04 +01:00
|
|
|
|
2022-01-07 20:50:32 +01:00
|
|
|
Fixes
|
|
|
|
- Fixed paragraph links having incorrect hover locations when using special text alignments
|
|
|
|
|
2022-01-02 22:49:39 +01:00
|
|
|
### MLEM.Data
|
|
|
|
Improvements
|
|
|
|
- Rethrow exceptions when no RawContentManager readers could be constructed
|
2022-01-02 22:51:52 +01:00
|
|
|
- Make Newtonsoft.Json dependency optional
|
2022-01-02 22:49:39 +01:00
|
|
|
|
2021-12-21 23:16:18 +01:00
|
|
|
## 5.2.0
|
2021-10-10 20:30:40 +02:00
|
|
|
### MLEM
|
|
|
|
Additions
|
|
|
|
- Added a strikethrough formatting code
|
2021-10-12 03:23:35 +02:00
|
|
|
- Added GenericFont SplitStringSeparate which differentiates between existing newline characters and splits due to maximum width
|
2021-10-17 23:20:05 +02:00
|
|
|
- Added StaticSpriteBatch class
|
2021-11-16 15:08:35 +01:00
|
|
|
- Added missing easing functions Quart and Quint to Easings
|
2021-11-22 14:48:38 +01:00
|
|
|
- Added RotationVector extension methods for Matrix and Quaternion
|
2021-11-27 15:03:30 +01:00
|
|
|
- Added DrawExtendedAutoTile to the AutoTiling class
|
2021-10-10 20:30:40 +02:00
|
|
|
|
2021-10-19 22:06:49 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Moved AutoTiling to Graphics namespace**
|
2021-11-08 02:50:53 +01:00
|
|
|
- Cache TokenizedString inner offsets for non-Left text alignments to improve performance
|
2021-10-19 22:06:49 +02:00
|
|
|
- Exposed Camera's RoundPosition
|
2021-10-28 23:26:42 +02:00
|
|
|
- Exposed the epsilon value used by Camera
|
2021-11-18 10:58:50 +01:00
|
|
|
- Added Padding.Empty
|
2021-11-22 17:50:17 +01:00
|
|
|
- Throw an exception when text formatter macros resolve recursively too many times
|
2021-11-27 14:27:56 +01:00
|
|
|
- Allow using StaticSpriteBatch for AutoTiling
|
2021-11-27 22:45:37 +01:00
|
|
|
- Made TextFormatter string size based on the currently active font rather than the default one
|
2021-12-21 20:12:15 +01:00
|
|
|
- Allow storing multiple texture regions per SpriteAnimation frame
|
2021-10-19 22:06:49 +02:00
|
|
|
|
2021-11-22 18:52:52 +01:00
|
|
|
Fixes
|
|
|
|
- Fixed some end-of-line inconsistencies when using the Right text alignment
|
|
|
|
|
2021-11-29 21:24:08 +01:00
|
|
|
Removals
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Removed deprecated Misc versions of SoundEffectInfo and SoundEffectInstanceHandler**
|
2021-11-29 21:24:08 +01:00
|
|
|
|
2021-10-01 03:42:27 +02:00
|
|
|
### MLEM.Ui
|
2021-10-11 23:35:50 +02:00
|
|
|
Additions
|
|
|
|
- Allow specifying a maximum amount of characters for a TextField
|
2021-10-12 02:16:09 +02:00
|
|
|
- Added a multiline editing mode to TextField
|
2021-11-27 22:45:37 +01:00
|
|
|
- Added a formatting code to allow for inline font changes
|
2021-12-11 17:26:55 +01:00
|
|
|
- Added a SquishingGroup element
|
2021-12-12 12:32:09 +01:00
|
|
|
- Added UiMetrics
|
2021-10-11 23:35:50 +02:00
|
|
|
|
2021-10-04 23:57:58 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Made Image ScaleToImage take ui scale into account**
|
|
|
|
- **Added style properties for a lot of hardcoded default element styles**
|
|
|
|
- **Allow setting a custom effect and depth stencil state for ui drawing**
|
2021-12-21 11:54:32 +01:00
|
|
|
- **Made StyleProp immutable**
|
2021-10-28 23:26:42 +02:00
|
|
|
- Exposed the epsilon value used by Element calculations
|
2021-10-30 15:33:38 +02:00
|
|
|
- Allow style properties to set style values with a higher priority, which allows elements to style their default children
|
|
|
|
- Allow changing the entire ui style for a single element
|
2021-11-01 13:39:37 +01:00
|
|
|
- Skip unnecessary area updates for elements with dirty parents
|
2021-11-08 02:02:59 +01:00
|
|
|
- Calculate panel scroll bar height based on content height
|
2021-11-14 21:32:13 +01:00
|
|
|
- Remember the location that a scroll bar scroller was grabbed in when scrolling
|
2021-12-21 00:01:57 +01:00
|
|
|
- Automatically set area dirty when changing child padding or paragraph fonts
|
2021-10-04 23:57:58 +02:00
|
|
|
|
2021-10-01 03:42:27 +02:00
|
|
|
Fixes
|
|
|
|
- Fixed VerticalSpace height parameter being an integer
|
2021-10-12 19:58:31 +02:00
|
|
|
- Fixed text not being pasted into a text field at all if it contains characters that don't match the input rule
|
2021-11-14 19:50:24 +01:00
|
|
|
- Fixed panels that don't auto-hide their scroll bars ignoring their width for child padding
|
2021-11-22 15:13:08 +01:00
|
|
|
- Fixed some inconsistencies with element transformations and mouse interaction
|
2021-09-24 17:00:05 +02:00
|
|
|
|
2021-11-14 21:04:50 +01:00
|
|
|
Removals
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Removed ScrollBar ScrollerOffset**
|
2021-11-14 21:04:50 +01:00
|
|
|
|
2021-10-16 20:22:06 +02:00
|
|
|
### MLEM.Data
|
2021-11-01 16:00:13 +01:00
|
|
|
Additions
|
|
|
|
- Allow RuntimeTexturePacker to automatically dispose submitted textures when packing
|
2021-11-06 23:38:21 +01:00
|
|
|
- Added JsonTypeSafeWrapper and JsonTypeSafeGenericDataHolder
|
2021-11-01 16:00:13 +01:00
|
|
|
|
2021-10-16 20:22:06 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Use TitleContainer for opening streams where possible**
|
2021-11-08 23:46:59 +01:00
|
|
|
- Set GraphicsResource Name when loading assets using RawContentManager
|
2021-10-16 20:22:06 +02:00
|
|
|
|
2021-12-03 12:52:26 +01:00
|
|
|
Removals
|
|
|
|
- Marked features related to Lidgren.Network as obsolete
|
|
|
|
|
2021-12-13 00:39:36 +01:00
|
|
|
### MLEM.Startup
|
|
|
|
Additions
|
|
|
|
- Added virtual InitializeDefaultUiStyle to MlemGame
|
|
|
|
- Added PreDraw and PreUpdate events and coroutine events
|
|
|
|
|
2021-09-24 16:51:06 +02:00
|
|
|
## 5.1.0
|
2021-06-30 19:40:43 +02:00
|
|
|
### MLEM
|
2021-07-05 19:46:39 +02:00
|
|
|
Additions
|
|
|
|
- Added RotateBy to Direction2Helper
|
|
|
|
|
2021-07-03 01:44:39 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Moved ColorHelper.Invert to ColorExtensions.Invert**
|
|
|
|
- **Allow enumerating SoundEffectInstanceHandler entries**
|
2021-08-27 20:36:04 +02:00
|
|
|
- Improved NinePatch memory usage
|
2021-07-05 19:46:39 +02:00
|
|
|
- Moved sound-related classes into Sound namespace
|
2021-07-18 22:18:46 +02:00
|
|
|
- Added customizable overloads for Keybind, Combination and GenericInput ToString methods
|
|
|
|
- Removed LINQ Any and All usage in various methods to improve memory usage
|
2021-08-27 20:36:04 +02:00
|
|
|
- Improved KeysExtensions memory usage
|
2021-07-13 15:41:42 +02:00
|
|
|
|
|
|
|
Fixes
|
|
|
|
- Set default values for InputHandler held and pressed keys to avoid an exception if buttons are held in the very first frame
|
2021-07-28 17:22:47 +02:00
|
|
|
- Fixed GenericFont MeasureString using incorrect width for Zwsp and OneEmSpace
|
2021-08-06 22:40:32 +02:00
|
|
|
- Fixed tiled NinePatches missing pixels with some scales
|
2021-07-03 01:44:39 +02:00
|
|
|
|
2021-07-03 01:50:37 +02:00
|
|
|
### MLEM.Ui
|
2021-07-08 18:17:39 +02:00
|
|
|
Additions
|
|
|
|
- Added a masking character to TextField to allow for password-style text fields
|
|
|
|
|
2021-07-18 22:18:46 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Explicitly disallow creating Paragraphs without fonts to make starting out with MLEM.Ui less confusing**
|
2021-07-18 22:18:46 +02:00
|
|
|
- Removed LINQ Any and All usage in various methods to improve memory usage
|
2021-07-24 07:36:42 +02:00
|
|
|
- Allow adding Link children to non-Paragraph elements
|
2021-07-18 22:18:46 +02:00
|
|
|
|
2021-07-03 01:50:37 +02:00
|
|
|
Fixes
|
|
|
|
- Fixed a crash if a paragraph has a link formatting code, but no font
|
2021-07-22 04:27:57 +02:00
|
|
|
- Fixed tooltips with custom text scale not snapping to the mouse correctly in their first displayed frame
|
2021-09-09 16:53:12 +02:00
|
|
|
- Fixed tooltips not displaying correctly with auto-hiding paragraphs
|
2021-09-24 16:35:53 +02:00
|
|
|
- Fixed rounding errors causing AutoInline elements to be pushed into the next line with some ui scales
|
2021-07-03 01:50:37 +02:00
|
|
|
|
2021-07-19 23:10:27 +02:00
|
|
|
### MLEM.Extended
|
|
|
|
Improvements
|
2021-08-19 21:43:17 +02:00
|
|
|
- Use FontStashSharp's built-in LineHeight property for GenericStashFont
|
2021-07-19 23:10:27 +02:00
|
|
|
|
2021-07-12 03:14:05 +02:00
|
|
|
### MLEM.Data
|
|
|
|
Additions
|
|
|
|
- Added the ability to specify a coordinate offset in data texture atlases
|
|
|
|
|
2021-07-27 16:40:42 +02:00
|
|
|
Improvements
|
|
|
|
- Improved RawContentManager's reader loading and added better exception handling
|
2021-08-05 03:59:14 +02:00
|
|
|
- Improved CopyExtensions construction speed
|
2021-09-05 16:18:26 +02:00
|
|
|
- Improved DynamicEnum caching
|
2021-07-27 16:40:42 +02:00
|
|
|
|
2021-09-22 20:33:11 +02:00
|
|
|
Fixes
|
|
|
|
- Fixed DynamicEnum AddFlag going into an infinite loop
|
|
|
|
|
2021-06-30 00:18:54 +02:00
|
|
|
## 5.0.0
|
2021-06-28 15:38:30 +02:00
|
|
|
### MLEM
|
|
|
|
Additions
|
|
|
|
- Added some Collection extensions, namely for dealing with combinations
|
|
|
|
- Added repeat-ignoring versions of IsKeyPressed and IsGamepadButtonPressed
|
|
|
|
- Added SoundExtensions
|
|
|
|
- Added string truncation to TokenizedString
|
|
|
|
- Added a sprite batch extension to generate a gradient
|
|
|
|
- Added InputsDown and InputsPressed properties to InputHandler
|
|
|
|
- Added text alignment options to tokenized strings
|
|
|
|
|
2021-06-29 00:57:04 +02:00
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Replaced TextInputWrapper with a more refined MlemPlatform that includes the ability to open links on various platforms**
|
2021-06-28 15:38:30 +02:00
|
|
|
- Allow NinePatches to be drawn tiled rather than stretched
|
|
|
|
- Added the ability for Direction2 to be used as flags
|
|
|
|
- Made Padding and Direction2 DataContracts
|
|
|
|
- Expose the viewport of cameras
|
|
|
|
- Greatly improved the efficiency of line splitting for GenericFont and TokenizedString
|
|
|
|
- Improved performance of TextFormatter tokenization
|
|
|
|
- Allow for underline and shadow formatting codes to be mixed with font changing codes
|
|
|
|
- Exposed Keybind Combinations
|
|
|
|
|
|
|
|
Fixes
|
|
|
|
- Fixed the input handler querying input when the window is inactive
|
|
|
|
- Fixed UnderlineCode ending in the wrong places because it was marked as a font-changing code
|
|
|
|
|
|
|
|
Removals
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Removed the array-based GetRandomEntry method**
|
|
|
|
- **Removed obsolete ColorExtension methods**
|
2021-06-28 15:38:30 +02:00
|
|
|
|
|
|
|
### MLEM.Ui
|
|
|
|
Additions
|
|
|
|
- Added a text scale multiplier value to Paragraph
|
|
|
|
- Added an option to limit auto-height and auto-width in elements to a maximum and minimum size
|
|
|
|
- Added the ability to set a custom viewport for ui systems
|
|
|
|
- Added string truncation to Paragraph
|
|
|
|
- Added a simple way to change the action that is executed when a link is pressed in a paragraph
|
|
|
|
- Added events for when a root element is added or removed
|
|
|
|
- Added an ElementHelper method to create a keybind button
|
|
|
|
- Added text alignment options to paragraphs
|
|
|
|
|
|
|
|
Improvements
|
2021-11-29 21:44:00 +01:00
|
|
|
- **Removed unnecessary GraphicsDevice references from UiSystem**
|
2021-06-28 15:38:30 +02:00
|
|
|
- Stop a panel's scroll bar from being removed from its children list automatically
|
|
|
|
- Dispose of panels' render targets to avoid memory leaks
|
|
|
|
- Allow changing the color that a panel renders its texture with
|
|
|
|
|
|
|
|
Fixes
|
|
|
|
- Fixed auto-sized elements doing too many area update calculations
|
|
|
|
- Fixed a rare stack overflow where scroll bars could get stuck in an auto-hide loop
|
|
|
|
- Fixed auto-sized elements without children not updating their size correctly
|
|
|
|
- Fixed panels drawing children early within the render target (instead of regularly)
|
|
|
|
|
|
|
|
### MLEM.Extended
|
|
|
|
Additions
|
|
|
|
- Added GenericFont compatibility for FontStashSharp
|
|
|
|
- Added a method to make sidescrolling collision detection easier with TiledMapCollisions
|
|
|
|
- Added some more TiledMapExtension utility methods
|
|
|
|
|
|
|
|
Improvements
|
|
|
|
- Reversed the y loop in GetCollidingTiles to account for gravity which is usually more important
|
|
|
|
|
|
|
|
Fixes
|
|
|
|
- Fixed some number parsing not using the invariant culture
|
|
|
|
|
|
|
|
### MLEM.Data
|
|
|
|
Additions
|
|
|
|
- Added StaticJsonConverter
|
|
|
|
- Added DynamicEnum, a cursed custom enumeration class that supports arbitrarily many values
|
|
|
|
|
|
|
|
Fixes
|
|
|
|
- Fixed some number parsing not using the invariant culture
|
|
|
|
- Fixed RawContentManager crashing with dynamic assemblies present
|