RoosterDragon
4f3d8f4caa
Fix Png parsing.
...
A regression from 06df75ffee causes this parsing to fail depending on how the image was compressed.
2023-06-26 19:28:06 +02:00
RoosterDragon
06df75ffee
Improve PNG parsing performance.
...
Switch on the filter once per row rather than once per byte. This allows each row to be processed with a much tighter loop.
2023-06-10 16:20:02 +02:00
RoosterDragon
277699cbd5
Fix CA1822
2023-06-06 11:51:47 +03:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
Eduardo Cáceres
7eb64ea6fc
Use read-only autoimplemented property when possible
2022-05-18 11:42:36 -05:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
teinarss
10676be377
Replace F extension with string interpolation
2021-05-08 22:20:59 +02:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
teinarss
ed295ae315
Change throw exceptions to use nameof in parameter
2021-02-28 18:43:51 +01:00
Paul Chote
62fa3b7c9c
Rename SpriteFrameType enums.
2020-12-25 18:51:25 +01:00
Paul Chote
ce09b402d0
Fix definition and use of non-indexed sprite color channels.
...
Our SpriteFrameType names refer to the byte channel order rather than
the bit order, meaning that SpriteFrameType.BGRA corresponds to the
standard Color.ToArgb() etc byte order when the (little-endian) integer
is read as 4 individual bytes.
The previous code did not account for the fact that non-indexed Png
uses big-endian storage for its RGBA colours, and that SheetBuilder
had the color channels incorrectly swapped to match and cancel this out.
New SpriteFrameType enums are introduced to distinguish between BGRA
(little-endian) and RGBA (big-endian) formats, and also for 24bit data
without alpha. The channel swizzling / alpha creation is now handled
when copying into the texture atlas, removing the need for non-png
ISpriteLoader implementations to allocate an additional temporary array
and reorder the channels during load.
2020-12-25 18:51:25 +01:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
Paul Chote
c253aaeb9d
Replace for(;;) with while (true).
2019-06-08 18:46:03 +02:00
Paul Chote
f69c6ab3fb
Update SharpZipLib to 1.1.0.
...
The default code page has been changed to UTF8
so our workarounds are no longer needed.
2019-03-30 20:47:22 +01:00
Paul Chote
5cc81f7bf7
Implement a simple managed png writer.
2019-03-14 01:01:49 +01:00
Paul Chote
ab6ae7bc8d
Support 24 bit png loading.
2019-03-11 20:14:09 +01:00
Paul Chote
ab4a7e3558
Replace System.Drawing primitives with our own.
2019-03-04 18:26:42 +00:00
Paul Chote
b41d4f5cee
Allow Pngs to be created from pixel data.
2019-02-24 14:02:19 +01:00
Paul Chote
4f73b51240
Add Png.Save method.
2019-02-24 14:02:19 +01:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Paul Chote
52be0192f6
Add RGBA support to png parser.
2019-01-08 21:20:06 +00:00
Paul Chote
d2ee9bcad9
Move Png loader back to OpenRA.Game.
2019-01-08 21:20:06 +00:00
Andre Mohren
693b5a54af
PNG spritesheet support, along with PaletteFromPng.
...
Cursor palette loader can now be specified via yaml.
2018-09-29 21:12:40 +02:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
RoosterDragon
c8c7629bce
Convert some stray spaces to tabs.
2017-12-16 15:53:03 +00:00
Paul Chote
34810756c2
Move Voxel code to Mods.Cnc.
2017-06-14 18:56:06 +02:00
Andre Mohren
96ca3baff8
Fixed PNGLoader crash with palette containing less than 256 colors.
2017-05-31 20:34:09 +02:00
Paul Chote
69587a2128
Move InstallShieldPackage to Mods.Common.
2017-05-29 12:41:28 +02:00
Paul Chote
ba7290cc2c
Move classic-mod package loaders and support files to Mods.Cnc.
2017-05-29 12:41:28 +02:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
reaperrr
07312f8c62
ReplayMetadata style fix
2016-11-25 12:35:16 +01:00
Paul Chote
ab344b390d
Ignore invalid replay files instead of crashing.
2016-11-11 13:00:58 +00:00
reaperrr
ed210b380f
Move audio loaders from engine to mod level
2016-06-23 23:47:52 +02:00
Paul Chote
a9a5b9bc71
Change Blast.Decompress to use Stream I/O.
2016-06-16 21:20:27 +01:00
Matthias Mailänder
4719a085bb
Dispose global mix database.dat properly.
2016-04-17 14:09:52 +02:00
Paul Chote
bf61785f96
Remove BinaryReader from XccGlobalDatabase.
2016-04-01 17:21:50 +01:00
Paul Chote
35cb2cb609
Lazily parse Wav data.
2016-03-12 13:17:28 +00:00
Paul Chote
3e37b717a4
Lazily parse Aud data.
2016-03-12 13:17:23 +00:00
teees
0193ee5b3c
Object oriented sound loader approach
...
Reshapes the ISoundLoader interface and
adds a new ISoundFormat interface to allow streaming in the near future
2016-03-12 12:50:52 +00:00
RoosterDragon
9166d9b369
Ensure we do not leak bitmaps when parsing invalid PNG files.
2016-03-04 19:55:44 +00:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00
RoosterDragon
8e89a6a696
Simplify names, remove unused usings, remove redundant casts.
2016-01-17 21:35:36 +00:00
Matthias Mailänder
047f71e5ec
Reset stream position after TryParseSound failures
2016-01-15 18:29:25 +01:00
Matthias Mailänder
dc62dcd56d
Avoid the bracket syntax everywhere
2016-01-15 18:29:25 +01:00
Matthias Mailänder
71e8e20987
Report unknown codecs when failing
2016-01-15 18:29:11 +01:00
Matthias Mailänder
fb39aed29f
Return earlier on error in AudLoader
2016-01-15 18:11:22 +01:00
Matthias Mailänder
a01bc02390
Log sound parsing errors in sound.log
2016-01-15 18:10:52 +01:00