156 Commits

Author SHA1 Message Date
morkt
ee14a418c0 (FileSystemStack.ChDir): propagate OperationCanceledException. 2015-09-16 23:54:35 +04:00
morkt
f4c1bc2ae4 FormatCatalog definition moved to a separate file. 2015-09-16 23:00:22 +04:00
morkt
8ef162709a (ArcFile.CreateFileSystem): changed return type. 2015-09-06 05:31:06 +04:00
morkt
a06bae057e TreeArchiveFileSystem fixes. 2015-09-05 10:04:38 +04:00
morkt
489a00cf7b (ArchiveFileSystem): check archive directory for duplicates. 2015-09-03 17:15:39 +04:00
morkt
a647b68fed updated assembly versions to reflect VFS implementation. 2015-09-03 07:21:41 +04:00
morkt
81ab95ebf1 (ArchiveFileSystem): base abstract class for flat ant tree archive file systems. 2015-09-02 04:25:35 +04:00
morkt
047d07f376 (FileSystemStack.ChDir): directory traversal fixes. 2015-09-02 04:12:38 +04:00
morkt
5dcbcd76c9 (VFS.FullPath): do not rebuild hierarchy when new path is almost identical. 2015-09-02 02:57:36 +04:00
morkt
a149cab7e6 (IFileSystem.FileExists): new method. 2015-09-01 14:13:11 +04:00
morkt
1db7e865cd (IFileSystem.CombinePath): new method. 2015-09-01 12:15:10 +04:00
morkt
0223fb0625 (ArchiveFileSystem): fixed directory traversal. 2015-09-01 10:30:36 +04:00
morkt
7f44339b30 fixed full path order. 2015-09-01 09:23:29 +04:00
morkt
2ea64e25da virtual file system fixes. 2015-09-01 09:07:34 +04:00
morkt
857069cb33 virtual file system preliminary implementation. 2015-09-01 09:07:33 +04:00
morkt
47b3d6adf0 released v1.1.6 2015-08-31 01:22:50 +04:00
morkt
46dbf2b142 GameRes refactoring.
(FormatCatalog.CreateEntry): method renamed to 'Create' and made generic
towards Entry type.
2015-08-30 22:34:06 +04:00
morkt
f355288e97 (ImageMetaData): added FileName property. 2015-08-14 20:01:45 +04:00
morkt
a9ffd7cccc added shortcuts to standard formats as static properties of ImageFormat and AudioFormat.
namely,
ImageFormat.Jpeg
ImageFormat.Png
ImageFormat.Bmp
AudioFormat.Wav
2015-08-14 06:05:15 +04:00
morkt
5bf2493044 widget/options methods moved from ArchiveFormat to IResource.
any resource could have options and corresponding widget.
2015-08-12 01:31:03 +04:00
morkt
142f7e1cdf (Crc32.Table): public property. 2015-08-12 01:29:00 +04:00
morkt
0db69aea4e released v1.1.5 2015-08-07 14:55:35 +04:00
morkt
af0e936cbe (ArcView.Frame.ReadSByte): additional method. 2015-08-05 11:53:58 +04:00
morkt
036c19fabe (FormatCatalog): images are prioritized over archives in format lookups. 2015-08-05 11:53:05 +04:00
morkt
9a27fe31a1 (TgaFormat.Reader): fixed stride calculation. 2015-08-05 11:52:03 +04:00
morkt
097672845d (Image.Read): sort matched formats according to filename extension. 2015-07-25 10:13:56 +04:00
morkt
60479757ac (ArcFile.OpenSeekableEntry): check for PackedEntry.IsPacked. 2015-07-25 10:12:56 +04:00
morkt
5e5bb6ed3b released v1.1.4 2015-07-20 02:44:21 +04:00
morkt
7853d6a462 (Binary.CopyOverlapped): use Buffer.BlockCopy when destination precedes source. 2015-07-19 15:29:00 +04:00
morkt
7fdaf03521 (ArcFile.TryOpen): compare against all extensions. 2015-07-15 06:42:14 +04:00
morkt
e42d82712c implemented color-mapped images. 2015-07-14 21:22:08 +04:00
morkt
6ba6526536 (ImageData.Create): allow custom stride. 2015-07-11 10:20:50 +04:00
morkt
57b0115d41 (ArchiveFormat.IsSaneCount): new static method. 2015-07-11 10:19:46 +04:00
morkt
9fd2defa07 (ArcFile.TryOpen): check file length. 2015-07-11 10:19:05 +04:00
morkt
dd13ce551b fixed WAV data size writing. 2015-07-02 03:20:17 +04:00
morkt
7704f2b34f (OpenSeekableEntry): added capacity prediction and fixed positioning. 2015-06-27 14:31:41 +04:00
morkt
f47432fc09 (ArcFile.OpenView): dispose of the intermediate stream. 2015-06-19 15:59:06 +04:00
morkt
df66b70a38 released v1.1.3 2015-06-15 09:04:51 +04:00
morkt
ab70e8b9f8 (PngFormat.ReadMetaData): don't check stream against Signature. 2015-06-14 10:17:55 +04:00
morkt
d7899fa852 assembly version update. 2015-06-12 22:50:22 +04:00
morkt
490bf8eaff (PngFormat.FindChunk): method made static and public. 2015-06-12 22:49:21 +04:00
morkt
e20853967f (ArcFile.TryOpen): abort on OperationCanceledException. 2015-06-11 12:31:24 +04:00
morkt
50eb805cd2 added FileSystem infrastructure. 2015-06-08 19:58:51 +04:00
morkt
7f8b091d05 (ArcView): added constructor from IO.Stream. 2015-06-08 19:21:31 +04:00
morkt
86ccf69aef released v1.1.2 2015-06-03 14:05:20 +04:00
morkt
7f4b01b7ca (ArcFile.OpenSeekableEntry): new public method. 2015-06-02 22:53:20 +04:00
morkt
54ae9e191e (IDataUnpacker): new interface. 2015-06-01 00:51:02 +04:00
morkt
03e280c045 added AsciiString class.
wrapper around byte array.
2015-05-29 14:51:28 +04:00
morkt
8cd51ae896 (WaveAudio.TryOpen): reset sound position on embedded stream errors. 2015-05-16 17:11:15 +04:00
morkt
7b131442ad format ids that require conversion are stored in a static HashSet. 2015-05-16 00:35:32 +04:00
morkt
8f77fde7d5 (WaveAudio): recognize mp3-tagged streams. 2015-05-15 17:33:08 +04:00
morkt
08abdbfd92 released v1.1.1 2015-05-14 20:04:35 +04:00
morkt
14ef2f9071 implemented audio formats conversion. 2015-05-14 15:58:16 +04:00
morkt
9a43b6b055 refactored SoundInput interface.
added Source property for access to underlying stream.
2015-05-14 11:26:47 +04:00
morkt
53b7077786 assembly version update. 2015-05-13 23:26:30 +04:00
morkt
c85622f5e4 (WaveAudio.Write): fixed RIFF size calculation. 2015-05-11 20:22:14 +04:00
morkt
6c0f5a0d80 (JpegFormat): added common signature. 2015-05-06 02:49:07 +04:00
morkt
e9f505c73d (ImageData): added default DPI properties. 2015-05-03 22:09:16 +04:00
morkt
0bf0d7b4bf (WaveInput): force ADPCM streams conversion. 2015-05-03 22:08:03 +04:00
morkt
941149fc28 (WaveInput): use NAudio WaveFileReader instead of manual parsing. 2015-05-03 05:40:34 +04:00
morkt
888718e900 (WaveAudio): support Ogg-tagged wave streams. 2015-05-01 23:30:57 +04:00
morkt
0a3fe37bb0 (ImageData.Create): new convenient static method. 2015-04-20 14:04:46 +04:00
morkt
039eff6f32 (TgaFormat): RLE compression implementation. 2015-04-19 15:20:17 +04:00
morkt
f5d2cac377 (Binary.GetCString): new static method. 2015-04-16 22:39:57 +04:00
morkt
9b4aa48e37 utility classes updated.
(BigEndian): read bigendian-packed integer packed into byte array.
(LittleEndian): added Pack methods.
2015-04-14 10:30:23 +04:00
morkt
0936c172cb exception note. 2015-04-14 10:28:38 +04:00
morkt
87ec61587f (IResource): properties no longer backed up by private fields. 2015-04-06 17:08:32 +04:00
morkt
1e70ac5961 implemented WaveAudio.Write method. 2015-03-31 14:38:47 +04:00
morkt
3c6e030b38 (AudioFormat.Write): new virtual method. 2015-03-31 14:35:44 +04:00
morkt
6c3e1ed433 released v1.0.4 2015-03-11 21:27:02 +04:00
morkt
cc44a73bc5 (ArcView): store file name. 2015-02-15 19:50:17 +04:00
morkt
2593f9ffc3 store last thrown exception in FormatCatalog.LastError. 2014-11-07 17:11:51 +04:00
morkt
2a7520939d use Buffer.BlockCopy instead of Array.Copy. 2014-11-07 17:11:11 +04:00
morkt
07ea1b9af7 added audio resource format. 2014-11-07 02:44:22 +04:00
morkt
0164ce838a released v1.0.3 2014-11-01 13:26:08 +04:00
morkt
6aeb3ea27e automatically update assembly build/revision number. 2014-10-31 18:47:02 +04:00
morkt
82b1fc0603 (ArcFile.OverwriteNotify): new event.
preliminary support for extracted file overwrite notification.
2014-09-12 16:04:18 +04:00
morkt
ae559f34a6 (ArchiveFormat.CopyEntry): new virtual method.
the idea is to allow implementations to give extracted file a name
different from the one it stored within archive.
2014-09-12 16:03:30 +04:00
morkt
58018d3c67 (ArcStream): added constructors from ArcView.Frame 2014-09-12 15:58:18 +04:00
morkt
58f8b4845d incremented version number. 2014-09-08 11:54:39 +04:00
morkt
ad1b51b24c use Enumerable.Empty() to return empty list. 2014-08-25 15:05:30 +04:00
morkt
b0f621e8ab CopyOverlapped function defined in GameRes.Utitlity now.
CopyOverlapped copies ranges within array the same way standard C
function memcpy does (that is, ignoring potential region overlapping).
2014-08-25 15:04:26 +04:00
morkt
8a53d74d5e use invariant case conversion methods. 2014-08-22 10:13:37 +04:00
morkt
83e4414ffc (ArcStream): added CreateStream method with single argument. 2014-08-16 10:37:25 +04:00
morkt
26526a97bb added ICheckSum interface and CheckedStream class.
Crc32 and Adler32 classes now implement ICheckSum interface.
2014-08-16 04:23:12 +04:00
morkt
1b46da45a6 refactoring.
(ArchiveFormat): added Query<ResourceOptions> protected method for
convenient invocation of  parameters requests.
(FormatCatalog): changed misguiding method name 'LookupTag' to
'LookupExtension'.
2014-08-02 10:01:06 +04:00
morkt
16efe95597 (FormatCatalog.ReadString): removed misplaced big-endian treatment. 2014-08-02 09:04:31 +04:00
morkt
959dec52f2 changed target framework version to v4.5 2014-08-01 20:14:08 +04:00
morkt
7a6c5d8054 (MappedViewExtension.GetPointer): use supplied offset argument. 2014-08-01 20:11:32 +04:00
morkt
3ba8c6d237 disable PDB generation in release build. 2014-08-01 19:49:00 +04:00
morkt
f15676d0a1 (TryOpen): use lazy evaluation for filename extension check. 2014-07-29 15:30:23 +04:00
morkt
64f38255ee (TryOpen): check formats that match filename extension first. 2014-07-29 14:17:41 +04:00
morkt
6330309552 (Encodings.WithFatalFallback): turned into Encoding extension method. 2014-07-29 11:48:43 +04:00
morkt
8bc92d0dea ArchiveFormat refactored.
(Extract): method is no longer virtual.
(CreateFile): added check for malicious and malformed filenames.
(ParametersRequestEventArgs): removed InputWidget property.
2014-07-29 07:01:36 +04:00
morkt
32f3dd134f (Encodings): added WithFatalFallback static method. 2014-07-29 06:54:46 +04:00
morkt
9922955323 added license clause and third-party copyright notices. 2014-07-28 00:50:18 +04:00
morkt
1c33e4c9d5 refactored ResourceOptions handling. 2014-07-27 07:39:58 +04:00
morkt
08b8e8a46b added callback into archive creation method. 2014-07-27 03:37:51 +04:00
morkt
2446927e83 (Adler32): use "unsafe" implementation. added appropriate methods. 2014-07-26 23:20:08 +04:00
morkt
4cf46ed91c (ArchiveFormat): added CanCreate virtual property. 2014-07-26 23:18:50 +04:00