1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-06-16 10:44:32 +02:00
Commit graph

447 commits

Author SHA1 Message Date
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
Ellpeck
7ba14ba7f5 removed parentheses around MLEM's name 2020-05-28 00:49:29 +02:00
Ellpeck
dce6499a0c added TextureExtensions 2020-05-25 22:01:41 +02:00
Ellpeck
08f66abe2f switch to using cake for builds 2020-05-21 22:50:38 +02:00
Ellpeck
dc48c4caa1 finished xml docs for the MLEM core package 2020-05-21 17:21:34 +02:00