1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-05-23 09:03:38 +02:00
Commit graph

551 commits

Author SHA1 Message Date
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
Ell 664a2a9f11 added a way to access a keybind's combinations 2021-06-20 22:33:24 +02:00
Ell d1fbcb9559 added a sprite batch extension to generate a gradient 2021-06-03 21:33:09 +02:00
Ell d146e80cf6 updated some outdated dependencies 2021-05-29 18:06:20 +02:00
Ell 3da97fcc83 fixed UnderlineCode being a font code, making it end in the wrong places 2021-05-24 17:12:02 +02:00
Ell ef45c324f9 fixed a crash with truncated string tokenization 2021-05-20 19:59:37 +02:00
Ell d385581c25 added formatted string truncation to tokenized strings and ui paragraphs 2021-05-18 16:47:38 +02:00
Ell e916ddb7a8 allow for underline and shadow codes to be mixed with font codes 2021-05-18 16:19:40 +02:00
Ell f71f998508 clarify OpenLinkOrFile usage documentation 2021-04-23 14:34:59 +02:00
Ell b48ed479a0 streamlined TextInputWrapper into MlemPlatform and included link opening 2021-04-23 00:17:46 +02:00
Ell 1123b815b3 updated some package declarations to clean up warnings 2021-04-22 19:59:35 +02:00
Ell 338cf383f4 removed RequiresOnScreenKeyboard 2021-04-22 19:40:14 +02:00
Ell cf9bcc7ae4 updated to MonoGame 8 and added support for opening the on-screen keyboard to TextInputWrapper 2021-04-22 19:26:07 +02:00
Ell f3b3feec9b updated non-netstandard projects to net5.0 2021-04-22 02:21:36 +02:00
Ell 1759f0ef5b improve performance of TextFormatter tokenization 2021-04-22 01:21:44 +02:00
Ell 455ab59f09 improved performance of TokenizedString splitting massively 2021-04-22 01:14:48 +02:00
Ell 8078d41724 simplified GenericFont implementation 2021-04-19 14:02:28 +02:00
Ell e7ab8fefe8 improved performance of SplitString and re-added Zwsp compatibility 2021-04-14 23:13:19 +02:00
Ell 538fd08d8a improved TokenizedString splitting efficiency 2021-04-14 02:47:41 +02:00
Ell 55477c6341 removed Zwsp functionality, which was incomplete and did not work 2021-04-14 00:49:33 +02:00
Ell 2055c3a6ef convert tests to use graphics 2021-04-02 17:12:27 +02:00
Ell e7fd026a33 added some UI tests 2021-04-01 19:36:56 +02:00
Ell 35af9eee25 fixed some number parsing not using invariant culture 2021-03-28 06:20:27 +02:00
Ell 602f19a2a8 some minor code style and format improvements 2021-03-24 22:44:39 +01:00
Ell 702bf94f49 added some tests 2021-03-18 17:28:08 +01:00
Ell e24c871ecd added SoundExtensions 2021-03-17 22:47:23 +01:00
Ell 014b8f90df added repeat-ignoring versions of IsKeyPressed and IsGamepadButtonPressed to InputHandler 2021-03-14 17:09:45 +01:00
Ell 1e485a103c drop .NET Framework support for TextInputWrapper.DesktopGl 2021-03-13 17:09:16 +01:00
Ell e0263dc943 Removed obsolete ColorExtensions methods 2021-03-13 16:25:08 +01:00
Ell 37609ade76 fixed DrawString in generic font ignoring text scale for alignment 2021-03-12 20:47:57 +01:00
Ell 0411add4d1 added a newline macro to the default text formatter 2021-03-09 17:45:49 +01:00
Ell b594c271ac expose the viewport of a camera 2021-03-09 02:29:06 +01:00
Ell 0b39928334 minor general cleanup 2021-03-08 15:12:13 +01:00
Ell 053aaaf17c removed the array-based GetRandomEntry method as it made lists have to be typecast 2021-03-04 22:53:39 +01:00
Ell 1c8b738555 added some collection extensions, namely Combinations 2021-03-04 22:52:28 +01:00
Ell 80f2b55687 combine attributes 2021-02-28 16:44:29 +01:00
Ell 5b4757d3bf made Padding and Direction2 DataContracts 2021-02-28 16:42:51 +01:00
Ell 468bee9ca8 Turned Direction2 into a flags enum 2021-02-28 14:37:02 +01:00
Ell 6900da9858 allow nine patches to be drawn tiled rather than stretched 2021-02-19 21:24:08 +01:00
Ell eb3194a0c1 preserve position and scroll wheel value when the mouse is out of bounds 2021-02-19 02:47:32 +01:00
Ell 73eab1d41e only handle mouse input if the mouse is in the window 2021-02-19 02:31:38 +01:00
Ell 01b6168259 fixed the input handler querying input when the window is inactive 2021-02-18 18:36:29 +01:00
Ell 7619ac0dcf added an extension method for adding tooltip for elements 2021-02-18 04:16:17 +01:00
Ell a75d04cffc added a utility method for getting the points contained in a rectangle 2021-02-04 12:24:23 +01:00
Ell f3cf8dcc70 cast regardless of type in GenericDataHolder 2021-02-02 11:01:30 +01:00
Ell 3a0e2354b3 apply 3d after adding the sound 2021-01-30 22:26:44 +01:00
Ell 5d9a5ecf13 ensure the sound effect instance emitter is nonnull 2021-01-27 05:16:41 +01:00
Ell 182f8eff7a made listeners auto-update in SoundEffectInstanceHandler 2021-01-27 00:51:15 +01:00
Ell c85666502c allow pausing, resuming and applying 3d to the sound effect instance handler and move it to its own file 2021-01-24 19:43:47 +01:00
Ell 05543dfea8 added SoundEffectInstanceHandler 2021-01-24 19:35:09 +01:00
Ell d4bbe84ba1 allow looping a played 3d sound 2021-01-24 17:25:36 +01:00
Ell 05d80524e6 added a Play3D shorthand to SoundEffectInfo 2021-01-24 15:52:01 +01:00
Ell 3cd8c54e5c only store texture data if it changed 2021-01-20 05:22:30 +01:00
Ell b6ef243cf4 GenericFont support for zero-width spaces 2020-12-31 17:22:51 +01:00
Ell 267cbc8d9c allow image codes to copy the text's color 2020-12-29 12:41:29 +01:00
Ell 9895be2250 made texture atlases have an underlying texture region as well 2020-12-19 14:34:30 +01:00
Ell 1f40129ad3 extract GenericDataHolder behavior into an interface 2020-12-18 16:39:52 +01:00
Ell 106102adf6 clean up unused using statements 2020-12-14 21:51:27 +01:00
Ell f63a410cd2 use the actual unicode 1em space in GenericFont 2020-12-08 01:43:52 +01:00
Ell 490a8aab78 decorate GenericDataHolder with data contract serialization information 2020-11-28 22:48:30 +01:00
Ell fd9ad777c2 some fixes related to the branch name change 2020-11-07 00:58:43 +01:00
Ell bb596c91ff cleaned up color extensions and move some methods to colorhelper instead 2020-11-04 23:44:41 +01:00
Ell f68e55ebfd moved DataTextureAtlas to MLEM.Data 2020-10-25 01:45:01 +02:00
Ell e4081be2ce added some padding utility constructors 2020-10-25 01:33:05 +02:00
Ell 3005b3edcb added an extension method to auto-reverse an easing function 2020-10-24 22:10:34 +02:00
Ell cdc08c5cf2 improved NumberExtensions penetration method 2020-10-12 21:08:15 +02:00
Ell aaeda825e0 fixed some documentation issues 2020-10-06 20:14:57 +02:00
Ell 58eae7d240 added an extension method for rectangle penetration 2020-10-05 23:23:30 +02:00
Ell 6a383e200b a small rebranding 2020-09-28 20:53:39 +02:00
Ell 8b29903444 Replace ImageCode and TextField character ToString usage with ToCachedString for memory performace 2020-09-28 20:43:37 +02:00
Ell b814839458 made GenericFont a GenericDataHolder 2020-09-28 20:38:56 +02:00
Ell bd43c14a33 copy SpriteFont in GenericSpriteFont so that we don't modify the passed fonts' default character 2020-09-28 02:52:51 +02:00
Ell 3b382a46cf moved raw content handling to MLEM.Data 2020-09-16 23:39:01 +02:00
Ell 51fbba8731 made AStar.InfiniteCost a const because I don't know why it wasn't one before 2020-09-16 01:21:37 +02:00
Ell 4f63770de0 use dictionaries in favor of lists for AStar to speed up pathfinding 2020-09-10 02:12:53 +02:00
Ellpeck a5c1b6c2b4 allow sprite animations to be updated by a time span 2020-08-13 19:46:49 +02:00
Ellpeck 368630f109 Added Direction2Helper.To90Direction 2020-08-10 02:37:39 +02:00
Ellpeck 52443bfa68 added some more utility functions for directions and vectors 2020-08-10 02:16:35 +02:00
Ellpeck fe67b70332 (finally) added some tests 2020-07-31 17:14:25 +02:00
Ellpeck e80eb17b22 fixed incorrect icon link 2020-07-29 14:41:46 +02:00
Ellpeck 433299ed10 Rename vector floor extensions to FloorCopy since MonoGame added their own Floors 2020-07-27 00:24:49 +02:00
Ellpeck dddcb664d7 added aseprite script for populating the data texture atlas 2020-07-24 17:50:25 +02:00
Ellpeck 61e8b18403 make DataTextureAtlas not crash when a non-existent texture is queried 2020-07-24 00:39:04 +02:00
Ellpeck fe89fc24ea added data-based texture atlases 2020-07-24 00:33:11 +02:00
Ellpeck 9477b5f1d1 added a pivot point to TextureRegion 2020-07-23 23:30:44 +02:00
Ellpeck ec370479ef some matrix-related number extensions 2020-07-19 23:12:12 +02:00
Ellpeck f94802271b added easing functions 2020-07-16 00:45:25 +02:00
Ellpeck 98937ee83f added a method for generating square and circle textures 2020-07-12 19:41:25 +02:00
Ellpeck a17301504d added macros to text formatting 2020-07-01 14:30:47 +02:00
Ellpeck ca4c8731bc only throw an exception in TextInputWrapper if it is required 2020-06-24 16:54:23 +02:00
Ellpeck 096131ce15 Drop SoundEffectInstance (mis)usage in favor of new SoundEffectInfo 2020-06-22 13:59:33 +02:00
Ellpeck d891e19d2a reduce string allocations when rendering text 2020-06-21 23:23:52 +02:00
Ellpeck 7eaa1da860 fixed the new MeasureString in GenericFont not returning an empty size for empty strings 2020-06-20 15:42:36 +02:00
Ellpeck 64b9246aa5 clean up GenericFont changes 2020-06-20 12:12:34 +02:00
Ellpeck 73f2e1c565 use measurechar where applicable 2020-06-20 01:20:39 +02:00
Ellpeck 90e0ff55d1 use a custom character for image codes rather than trying to calculate spaces 2020-06-20 01:18:27 +02:00
Ellpeck deec553b22 code cleanup 2020-06-18 17:24:35 +02:00
Ellpeck 0a8a3c3660 removed some obsolete features 2020-06-12 17:19:19 +02:00
Ellpeck 251261f3d7 added a more generic keybind and input handling system 2020-06-12 17:09:35 +02:00
Ellpeck 1347d0bb1e use HasFlag in InputHandler for better readability 2020-06-05 23:56:53 +02:00
Ellpeck 1d38262388 only use nbsp in image codes if the font supports it 2020-06-04 22:18:53 +02:00
Ellpeck 3d1b660c9f don't use nbsp for image codes 2020-06-03 00:23:04 +02:00
Ellpeck 62c8b7766c fixed camera's ConstrainWorldBounds midpoint formula being incorrect 2020-06-01 17:00:32 +02:00
Ellpeck b237c0fcc4 added SetGesturesEnabled 2020-05-31 21:10:01 +02:00
Ellpeck af7e22d2af added DisableGestures to InputHandler 2020-05-31 20:49:03 +02:00
Ellpeck d3e8a9f811 allow multiple gestures to be queried simultaneously in GetGesture 2020-05-31 20:07:10 +02:00
Ellpeck 78049c9cd8 fixed formatting codes at the beginning of strings being ignored 2020-05-30 19:17:18 +02:00