1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-12-26 02:09:24 +01:00
Commit graph

557 commits

Author SHA1 Message Date
Ell
02cf01fcb7 added Append and Prepend to the net452 version for better code compatibility 2022-09-15 17:51:46 +02:00
Ell
9f60a59706 resolved some build warnings 2022-09-15 10:44:50 +02:00
Ell
48735c3d36 Multi-target net452, making MLEM compatible with MonoGame for consoles 2022-09-14 21:17:43 +02:00
Ell
fc026ad0de multi-target netstandard2.0 and net6.0 2022-09-14 19:24:00 +02:00
Ell
df2d102d8e further improved StaticSpriteBatch performance 2022-09-13 11:57:28 +02:00
Ell
b4e1b00c88 finished static sprite batch optimizations 2022-09-12 23:51:12 +02:00
Ell
eadabf3919 use SortedDictionary for StaticSpriteBatch 2022-09-12 23:09:36 +02:00
Ell
856d67b6cf Second pass at StaticSpriteBatch optimizations 2022-09-12 22:57:01 +02:00
Ell
742bc52437 First pass at drastically improving StaticSpriteBatch batching performance 2022-09-12 21:51:21 +02:00
Ell
d6e7c1086d Discard old data when updating a StaticSpriteBatch 2022-09-12 21:13:43 +02:00
Ell
023233a062 Fixed some TokenizedString tokens starting with a line break not being split correctly 2022-09-02 14:07:23 +02:00
Ell
0fe4c940d7 Fixed TokenizedString handling trailing spaces incorrectly in the last line of non-left aligned text 2022-09-02 13:58:12 +02:00
Ell
32dad847a0 adAdded TokenizedString.Realign 2022-09-02 13:42:21 +02:00
Ell
0a696941dc cleaned up code 2022-08-20 11:39:28 +02:00
Ell
e50d28ce11 Allow using external gesture handling alongside InputHandler through ExternalGestureHandling 2022-08-11 11:37:41 +02:00
Ell
8044cb59cb Improved EnumHelper.GetValues signature to return an array 2022-07-29 19:52:01 +02:00
Ell
48dfa8f1ee Allow RandomExtensions to operate on any ICollection 2022-07-19 15:20:19 +02:00
Ell
288b8352af improved the README and some package descriptions slightly 2022-07-04 23:53:48 +02:00
Ell
d32bc0cbfb Added TryGetUpTime, GetUpTime, TryGetTimeSincePress and GetTimeSincePress to InputHandler 2022-06-29 15:57:41 +02:00
Ell
d58c5d8b33 fixed the new TextInput not updating correctly if the Font is set late 2022-06-29 14:34:13 +02:00
Ell
6f05263980 ensure that SimpleEndCode doesn't end formatting codes with shorter names 2022-06-26 17:18:38 +02:00
Ell
6e2c2b3730 Improved the way terminating formatting codes work by introducing SimpleEndCode 2022-06-26 15:08:11 +02:00
Ell
92018eea1e Made the base package's description more descriptive
This reverts commit 2973bd98e2.
This reverts commit 04c6bb5ff8.
2022-06-26 14:25:19 +02:00
Ell
2973bd98e2 moved MLEM's Input namespace into its own package 2022-06-25 23:46:06 +02:00
Ell
61055148ef some fixes and doc changes to make MLEM.FNA more in line with MLEM 2022-06-24 21:33:24 +02:00
Ell
5d7d238630 added MLEM.FNA 2022-06-24 14:01:26 +02:00
Ell
aff61508c4 Added TextInput class, which is an isolated version of MLEM.Ui's TextField logic 2022-06-19 18:17:46 +02:00
Ell
aabb1ed5df added .editorconfig 2022-06-17 18:23:47 +02:00
Ell
1795acb30e Added GenericInput support for Buttons.None 2022-06-15 11:44:28 +02:00
Ell
59af00c89a Code cleanup, and marked AStar.InfiniteCost as obsolete 2022-06-15 11:38:11 +02:00
Ell
d03116a49a Allow using multiple textures in a StaticSpriteBatch 2022-06-08 11:05:18 +02:00
Ell
7d9633d989 Fixed StaticSpriteBatch not resetting its texture when all items are removed 2022-06-07 11:57:25 +02:00
Ell
bd9d3f970b Added RandomPitchModifier and GetRandomPitch to SoundEffectInfo 2022-05-20 16:59:28 +02:00
Ell
161d44dbe0 Added an Enum constructor to GenericInput 2022-05-18 21:45:38 +02:00
Ell
30bcdc1710 Allow comparing Keybind and Combination based on the amount of modifiers they have 2022-05-18 18:50:00 +02:00
Ell
8968e6025d Added IsPressConsumed and IsAnyPressedAvailable to InputHandler 2022-05-17 18:20:31 +02:00
Ell
5ba550619d Added AndThen to Easings 2022-05-10 21:32:28 +02:00
Ell
7ebbe49786 Added ReverseInput and ReverseOutput to Easings 2022-05-10 20:56:14 +02:00
Ell
610527374e Make use of the new consuming variants in InputHandler and Keybind to consume UiControls inputs 2022-04-30 12:14:08 +02:00
Ell
4a88cca8bf also added consuming variants of IsPressed to Keybind 2022-04-30 11:38:05 +02:00
Ell
46c77d2444 Added InputHandler.InvertPressBehavior 2022-04-29 15:34:04 +02:00
Ell
6393d879d9 added SpriteBatchContext 2022-04-25 15:25:58 +02:00
Ell
f445f59078 Added consuming variants of IsPressed methods to InputHandler 2022-04-11 10:33:41 +02:00
Ell
ae6ce6e7d5 Added properties and constructors for existing operator overloads to GenericInput 2022-03-26 12:51:14 +01:00
Ell
c6fe72bdc9 Multiple improvements to InputHandler key/button repeats:
- Trigger InputHandler key and gamepad repeats for the most recently pressed input
- Added InputHandler.TryGetDownTime and store the down times of inputs
- Removed InputHandler.StoreAllActiveInputs and always store all active inputs
2022-03-25 15:18:57 +01:00
Ell
bb7192b3cc Fixed InputHandler.InputsPressed ignoring repeat events for keyboards and gamepads 2022-03-24 11:43:55 +01:00
Ell
35e3896dc1 fixed new InputHandler deadzone querying equality being inverted 2022-03-14 15:18:01 +01:00
Ell
5d97ab033f Added GamepadExtensions.GetAnalogValue to get the analog value of any gamepad button 2022-03-14 15:15:30 +01:00
Ell
96f0c51757 Added RectangleF.DistanceSquared and RectangleF.Distance 2022-03-10 16:03:09 +01:00
Ell
48a4aa0588 Some keybind and keybind button improvements 2022-03-10 12:39:56 +01:00
Ell
d5ec0b8001 Allow setting a default color for clickable links in UiStyle 2022-03-07 12:00:33 +01:00
Ell
af7c341d83 Added float version of GetRandomWeightedEntry 2022-02-23 14:35:35 +01:00
Ell
c360c90f28 Fixed Code.Draw receiving the index in the current line rather than the current token
Closes #3
2022-02-14 00:24:31 +01:00
Ell
856d69b7db Fixed a formatting Code only knowing about the last Token that it is applied in
Closes #3
2022-02-13 22:43:51 +01:00
Ell
0918e1700b made the new changes work correctly with touch input 2022-02-06 22:23:41 +01:00
Ell
48b96a10a4 Added InputHandler mouse and touch position querying that preserves the game's viewport and fixed the graphics device's viewport being ignored for mouse and touch queries
Closes #1
2022-02-06 22:07:33 +01:00
Ell
ab76ea5ba8 organized InputHandler properties and fields 2022-02-06 21:12:57 +01:00
Ell
f7cf9460d6 Renamed GenericFont.OneEmSpace to Emsp (and marked OneEmSpace as obsolete) 2022-01-24 11:16:23 +01:00
Ell
3edd593886 Added TextureRegion.OffsetCopy 2022-01-22 16:51:42 +01:00
Ell
2699d0e1c2 Fixed StaticSpriteBatch handling rotated sprites incorrectly 2022-01-02 22:58:01 +01:00
Ell
29bbd61f8b reformat and cleanup 2021-12-28 14:56:11 +01:00
Ell
b4f79f0753 Added SoundEffectInstanceHandler.Stop 2021-12-28 14:45:20 +01:00
Ell
7e49eaef10 Allow for checkboxes and radio buttons to be disabled 2021-12-24 12:10:04 +01:00
Ell
5d9cccc9fd Added ColorExtensions.Multiply 2021-12-22 14:24:37 +01:00
Ell
c060d78010 put StringBuilder overloads to use 2021-12-22 13:03:40 +01:00
Ell
f5adf50823 Added StringBuilder overloads to GenericFont 2021-12-22 13:00:41 +01:00
Ell
17ed82fc3c Generify GenericFont's string drawing 2021-12-22 12:46:17 +01:00
Ell
b5bee0facb improved SpriteAnimationGroup performance 2021-12-21 21:17:45 +01:00
Ell
c31e196071 Made AnimationFrame a generic data holder 2021-12-21 20:52:05 +01:00
Ell
14526d24d3 cleaned up the sprite animation changes 2021-12-21 20:17:02 +01:00
Ell
c76357a9e3 Allow storing multiple texture regions per SpriteAnimation frame 2021-12-21 20:12:15 +01:00
Ell
c0ce5a07ad Implemented IEquatable on a lot of classes that were missing it 2021-12-21 11:39:29 +01:00
Ell
103d7c7503 Added a SquishingGroup element to MLEM.Ui 2021-12-11 17:26:55 +01:00
Ell
18517c75bd removed unnecessary Math.Abs from Color.Invert 2021-12-11 01:02:20 +01:00
Ell
f24ad5025c use TextureRegion for AutoTiling 2021-12-03 21:10:19 +01:00
Ell
1ed6b019bb separate background and overlay regions in DrawExtendedAutoTile 2021-12-03 20:59:56 +01:00
Ell
f34d4e3b68 return added items for all methods that use StaticSpriteBatch 2021-12-03 19:57:26 +01:00
Ell
6541c6d797 fixed extended auto tiling only drawing parts of the texture 2021-12-03 19:10:10 +01:00
Ell
052c9e738c Removed unused rotation parameter in AddAutoTile 2021-12-03 18:42:18 +01:00
Ell
36abc3d1fe allow specifying a depth offset for extended auto tiles 2021-12-03 18:34:33 +01:00
Ell
831da36bcc allow drawing the background of extended auto tiles in a separate color 2021-12-03 18:04:03 +01:00
Ell
636522bc3e resolved some documentation warnings 2021-11-30 11:46:06 +01:00
Ell
376a068864 Moved AutoTiling to Graphics namespace and removed deprecated Misc versions of SoundEffectInfo and SoundEffectInstanceHandler 2021-11-29 21:24:08 +01:00
Ell
252d06888f consistently use the default font's line height 2021-11-28 11:30:57 +01:00
Ell
a11a63c067 some GenericFont code style improvements 2021-11-28 00:28:17 +01:00
Ell
f445aba45c improved Token memory allocations 2021-11-27 23:35:37 +01:00
Ell
293602269b prevent unnecessary allocations in GenericFont 2021-11-27 23:04:06 +01:00
Ell
53b93a34f8 Made TextFormatter string size based on the currently active font and added a formatting code to allow for inline font changes 2021-11-27 22:45:37 +01:00
Ell
ad1d6a864e Added DrawExtendedAutoTile to the AutoTiling class 2021-11-27 15:03:30 +01:00
Ell
5cb77be410 Allow using StaticSpriteBatch for AutoTiling 2021-11-27 14:27:56 +01:00
Ell
f37179486c added some pathfinding tests, as well as some minor code improvements 2021-11-23 21:42:18 +01:00
Ell
444b5c6afb copy base documentation for a lot of docfx unresolvable sources 2021-11-22 19:25:18 +01:00
Ell
84a6e5a29a Fixed some end-of-line inconsistencies when using the Right text alignment 2021-11-22 18:52:52 +01:00
Ell
c9c9e566b1 Throw an exception when text formatter macros resolve recursively too many times 2021-11-22 17:50:17 +01:00
Ell
5c8ef3d254 Added RotationVector extension methods for Matrix and Quaternion 2021-11-22 14:48:38 +01:00
Ell
b30ec9408b Added Padding.Empty 2021-11-18 10:58:50 +01:00
Ell
a59f1eb8af Added missing easing functions Quart and Quint to Easings 2021-11-16 15:08:35 +01:00
Ell
6702efd7fa added depth sorting to StaticSpriteBatch 2021-11-13 16:42:50 +01:00
Ell
dd295aca1b clarify StaticSpriteBatch depth documentation 2021-11-12 20:31:47 +01:00
Ell
d8517a7492 StaticSpriteBatch refactor that speeds up removal.
Items will now be drawn in an arbitrary order.
2021-11-12 20:21:08 +01:00
Ell
eb323bea01 only allow clearing a static sprite batch when batching 2021-11-12 18:35:10 +01:00
Ell
4a8a55fde3 allow removing items from a static sprite batch 2021-11-12 18:12:57 +01:00
Ell
b22d2d4d22 slight GenericDataHolder (and extensions) improvements and reversions 2021-11-07 00:46:35 +01:00
Ell
39138446ea added some more utility to JsonTypeSafeWrapper and revert SetData changes 2021-11-07 00:23:48 +01:00
Ell
ae559adf26 remove "see href" from xml docs since some IDEs can't display that 2021-11-06 23:42:23 +01:00
Ell
8e83cc06a6 Added JsonTypeSafeWrapper and JsonTypeSafeGenericDataHolder 2021-11-06 23:38:21 +01:00
Ell
ca89d03ca4 Some more ui style improvements 2021-10-30 15:33:38 +02:00
Ell
1c48a69371 dispose static sprite batch buffers properly 2021-10-30 13:48:52 +02:00
Ell
2be39a740e improve handling of arbitrary Epsilon values 2021-10-28 23:26:42 +02:00
Ell
9a480d391b some MlemPlatform doc clarifications and improvements 2021-10-23 22:05:32 +02:00
Ell
e5593f2132 copy vertex data more efficiently 2021-10-20 15:34:21 +02:00
Ell
04dc2bf2d0 don't recreate the VertexPositionColorTexture array every time 2021-10-19 23:12:56 +02:00
Ell
b271518956 Exposed Camera's RoundPosition 2021-10-19 22:06:49 +02:00
Ell
08bd443c36 don't draw empty vertex buffers 2021-10-19 17:20:00 +02:00
Ell
6f04b30591 use vertex and index buffers for StaticSpriteBatch 2021-10-18 01:22:22 +02:00
Ell
758281c845 sloppy rename 2021-10-17 23:21:11 +02:00
Ell
d89d8571c7 added StaticSpriteBatch 2021-10-17 23:20:05 +02:00
Ell
9aef994c51 Added GenericFont SplitStringSeparate which differentiates between existing newline characters and splits due to maximum width 2021-10-12 03:23:35 +02:00
Ell
11dd939009 Added a multiline editing mode to TextField 2021-10-12 02:16:09 +02:00
Ell
fd5b83eaa0 added a strikethrough formatting code 2021-10-10 20:30:40 +02:00
Ell
9743c05e1a Cache TokenizedString inner offsets for non-Left text alignments 2021-10-04 23:57:58 +02:00
Ell
a140e85300 fixed Docs casing in readme path 2021-09-24 04:50:42 +02:00
Ell
a53939837f added package readmes 2021-09-24 04:47:39 +02:00
Ell
6537ff00c1 Improved KeysExtensions memory usage 2021-08-27 20:36:04 +02:00
Ell
ff510c54c5 Fixed tiled NinePatches missing pixels with some scales 2021-08-06 22:40:32 +02:00
Ell
db7ee04d30 allow enumerating SoundEffectInstanceHandler entries 2021-08-02 20:34:13 +02:00
Ell
516265bf5b Fixed GenericFont's SplitString using incorrect width for special characters and improved documentation 2021-07-28 17:22:47 +02:00
Ell
1067055bb5 code cleanup 2021-07-19 23:49:16 +02:00
Ell
abac738123 Removed LINQ Any and All usage in various methods to improve memory usage 2021-07-18 22:18:46 +02:00
Ell
374d936be2 specify the MLEM version that Invert will be moved 2021-07-13 22:35:48 +02:00
Ell
a52b46dce9 Added ColorExtensions.Invert and made ColorHelper.Invert obsolete 2021-07-13 22:34:32 +02:00
Ell
6aa9ec03d4 Added customizable overloads for Keybind, Combination and GenericInput ToString methods 2021-07-13 15:41:42 +02:00
Ell
ee2b0b82fe allow for RotateBy, RotateCw and RotateCcw to accept invalid directions again 2021-07-10 06:16:33 +02:00
Ell
8d92131630 improved Direction2 code style 2021-07-05 19:49:18 +02:00
Ell
f352e6b437 added Direction2Helper.RotateBy 2021-07-05 19:46:39 +02:00
Ell
d1b229b589 moved sound classes into /Sound 2021-07-05 16:36:48 +02:00
Ell
f71eb6eddb improved NinePatch memory performance 2021-07-03 01:44:39 +02:00
Ell
00d9ee99d8 Merge branch 'release' into main
# Conflicts:
#	CHANGELOG.md
2021-07-01 05:06:39 +02:00
Ell
19893855dc added the changelog to the website 2021-07-01 05:00:59 +02:00
Ell
58bd076e2a Set default values for InputHandler held and pressed keys to avoid an exception if buttons are held in the very first frame 2021-06-30 19:40:43 +02:00
Ell
fe9b3830f8 (finally) added a changelog 2021-06-28 15:38:30 +02:00
Ell
705758090b fixed image tokens drawing themselves too many times for split strings 2021-06-25 16:40:09 +02:00
Ell
14940d39c5 added text alignment options to tokenized strings and paragraphs 2021-06-25 15:23:30 +02:00
Ell
dca013e551 fixed GetModifier being.. recursive 2021-06-21 01:03:24 +02:00
Ell
91730b1f27 improved GenericInput ToString 2021-06-21 00:57:56 +02:00
Ell
2f16bbdc44 the None input type should always be considered up 2021-06-21 00:51:21 +02:00
Ell
ce920b5219 added an element helper method to create a keybind button 2021-06-21 00:49:09 +02:00
Ell
a5a73af01c improved Keybind constructors 2021-06-20 23:48:02 +02:00
Ell
2118837062 added generic input equality checking 2021-06-20 23:17:39 +02:00
Ell
60c9236cbd added InputsDown and InputsPressed to InputHandler 2021-06-20 23:05:02 +02:00