1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-22 20:58:34 +01:00
Commit graph

174 commits

Author SHA1 Message Date
Ell
6f64661817
Improve the runtime texture packer algorithm (#31)
* use a random size for testing pack times to show how truly bad the current algo is

* expand overlap test to include padding and pixel padding

* fixed TestPackTimes on KNI

* also test for whether the padding intersects

* Use a binary tree algorithm for the runtime texture packer

* update changelog and bump version

* fixed fna compile errors

* save TestPackTimes textures separately
2024-11-07 16:18:51 +01:00
Ell
1cfdedfc80 Made fields and methods in StaticJsonConverter protected to allow extending it 2024-10-20 12:31:31 +02:00
Ell
c4bd03ff04 Image loading improvements:
- Added TextureExtensions.PremultipliedCopy for textures
- Create a premultiplied copy of UiParser images to support usage with KNI
2024-09-14 10:48:04 +02:00
Ell
ea8ec69dd6 Added MLEM.KNI and friends, which are fully compatible with KNI 2024-09-02 19:55:28 +02:00
Ell
ecc0c3b963 Allow static json converters to write null values 2024-07-19 21:35:47 +02:00
Ell
498e1d8fe6 Allow static json converters to throw an exception if a key does not exist 2024-07-19 21:10:30 +02:00
Ell
677230ce28 Moved extension methods into matching namespaces to avoid unexpected suggestions 2024-07-19 20:02:28 +02:00
Ell
8fd69566f1 remove lidgren references from mlem.data 2024-07-18 18:27:05 +02:00
Ell
b0c6067555 removed all non-recent obsolete methods, properties and types 2024-07-17 18:21:13 +02:00
Ell
556be37523 updated changelog links 2024-04-05 15:20:46 +02:00
Ell
1436cdb987 Also use IsAotCompatible for FNA projects 2023-12-20 20:54:23 +01:00
Ell
236ecfa116 Use IsAotCompatible instead of IsTrimmable to enable more warnings 2023-12-20 20:49:52 +01:00
Ell
a892d2424e fix new trimmable warnings 2023-11-22 12:17:21 +01:00
Ell
b8f46ff5d2 updated to .net 8 and reorganized third party deps 2023-11-22 10:39:13 +01:00
Ell
41a1a8aef1 dependency update 2023-10-04 15:54:05 +02:00
Ell
8eff529b9d Fixed various exception types not being wrapped by ContentLoadExceptions when loading raw or JSON content 2023-09-27 18:58:09 +02:00
Ell
bccef1f7f4 fixed FNA compatibility 2023-05-15 18:41:45 +02:00
Ell
e71450366b additional runtime texture packer improvements 2023-05-15 18:36:23 +02:00
Ell
4863b5504b restored FNA compatibility 2023-05-15 18:05:47 +02:00
Ell
99b45b09d9 Improved RuntimeTexturePacker performance for differently sized textures 2023-05-15 17:50:41 +02:00
Ell
c77ec3765c include correct readme file in packages 2023-04-16 13:37:43 +02:00
Ell
1e16c6fdc5 some docs website improvements with new docfx version 2023-04-15 15:11:50 +02:00
Ell
6607a5f48c net7.0 2023-03-29 23:31:30 +02:00
Ell
da2fab9b57 dependency and submodule update 2023-03-29 21:54:30 +02:00
Ell
7f7a9c6415 Revert "Improved RuntimeTexturePacker speed when using many distinct texture sizes"
This reverts commit ca9c8e6cfd.
2023-01-30 22:51:15 +01:00
Ell
ca9c8e6cfd Improved RuntimeTexturePacker speed when using many distinct texture sizes 2023-01-30 22:38:15 +01:00
Ell
14d0b24aa9 cleaned up preprocessor instructions 2022-12-13 13:11:36 +01:00
Ell
4189ae6d4d dependency update
Closes #6 and #7 (both of which were incomplete)
2022-12-08 17:02:22 +01:00
Ell
1a1b2025cd Made JsonTypeSafeWrapper.Of generic to potentially avoid reflective instantiation 2022-11-28 00:43:50 +01:00
Ell
d72b094a7a Added a generic version of IGenericDataHolder.SetData 2022-11-27 12:34:07 +01:00
Ell
9919ee4a97 added the ability to convert texture atlases to collections 2022-11-23 12:14:08 +01:00
Ell
92353e40e6 Allow adding JsonTypeSafeWrapper instances to JsonTypeSafeGenericDataHolder directly 2022-11-22 21:51:42 +01:00
Ell
e812dd7802 fixed JsonTypeSafeWrapper Value not being ignored when serializing 2022-11-22 20:43:11 +01:00
Ell
63ea3eba90 DataContract usage improvements 2022-11-22 20:09:12 +01:00
Ell
db02dfcfde Store a RuntimeTexturePacker packed texture region's source region 2022-11-14 11:49:47 +01:00
Ell
d138577285 Added trimming and AOT annotations and made MLEM trimmable 2022-10-31 18:33:53 +01:00
Ell
f58e3c94d5 Marked EnumHelper and DynamicEnum as obsolete due to their reimplementation in the DynamicEnums library 2022-10-31 13:20:26 +01:00
Ell
791c66b098 code cleanup 2022-10-27 10:22:25 +02:00
Ell
8745a3237e Added DynamicEnum IsDefined and EnumHelper and DynamicEnum GetUniqueFlags 2022-10-26 23:34:30 +02:00
Ell
7ab76d239d Added EnumHelper and DynamicEnum GetFlags 2022-10-26 15:02:33 +02:00
Ell
17ce7b668d Added the ability to add additional regions to a RuntimeTexturePacker after packing 2022-10-20 23:59:42 +02:00
Ell
8d689952cc Made GenericFont and TokenizedString support UTF-32 characters like emoji 2022-10-15 13:48:45 +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
c3c8b132da fixed DataTextureAtlas frm instruction failing if the original texture has an offset 2022-09-14 12:19:05 +02:00
Ell
7d8b14ee8d added from instruction to DataTextureAtlas 2022-09-14 11:59:28 +02:00
Ell
ff92a00e1a FNA doesn't support vector offsets 2022-09-14 11:24:45 +02:00
Ell
740c65a887 fixed new cpy instruction yielding incorrect pivots 2022-09-14 11:20:55 +02:00
Ell
4918a72760 fixed some issues with the new data texture atlas parser 2022-09-14 11:04:51 +02:00