morkt
bb18303eb4
IBinaryStream migration.
2016-10-16 09:22:53 +04:00
morkt
d0c1d5da01
IBinaryStream migration - continued.
2016-10-15 12:21:12 +04:00
morkt
503b734645
migration to IBinaryStream interface.
2016-10-15 09:34:46 +04:00
morkt
a63e9e4d6b
(IBinaryStream): new interface for binary streams.
2016-10-12 04:25:40 +04:00
morkt
a648aff032
(FormatCatalog.LookupGame): look for archive name, too.
2016-10-11 00:06:27 +04:00
morkt
f1d66206bc
(IResource.CanWrite): new property.
...
(ArchiveFormat.CanCreate): renamed to CanWrite.
2016-10-11 00:05:22 +04:00
morkt
6a57bfb43d
added game title lookup facility.
2016-10-09 10:10:12 +04:00
morkt
a4311a0f2a
(Binary.BigEndian): simplified.
2016-10-03 23:23:43 +04:00
morkt
4533787c57
released v1.2.20
2016-09-28 00:12:59 +04:00
morkt
edc677f273
changed DataDirectory property value to "GameData".
2016-09-28 00:07:27 +04:00
morkt
e703f6f675
serialization tweaks.
2016-09-18 05:27:13 +04:00
morkt
7f74a3cf7d
moved serialization code to GameRes.
2016-09-17 17:36:39 +04:00
morkt
98d0c47cfb
(Adler32): skip checksum update for zero-length arrays.
2016-09-14 20:08:13 +04:00
morkt
6c7ddb3f2a
(Binary.GetCString): added convenient overload.
2016-09-13 03:04:37 +04:00
morkt
546b5f986f
use non-threadsafe Lazy constructor where appropriate.
2016-09-08 13:16:43 +04:00
morkt
7c5b26933a
(FormatCatalog.DataDirectory): new property.
2016-09-07 20:28:23 +04:00
morkt
7f272a6c16
(IResource.GetDefaultExtension): new method.
2016-09-07 20:26:39 +04:00
morkt
07affe292c
(BmpFormat.EnableExtensions): new field.
2016-09-07 20:25:26 +04:00
morkt
8c5164a3a5
(ImageData.Read): abort on OperationCanceledException.
2016-08-19 10:45:02 +04:00
morkt
8808b54c88
(BmpFormat.ReadMetaData): some fault-tolerance.
2016-08-18 14:59:17 +04:00
morkt
bb67e21ef4
(BmpFormat.Read): reset file position after extension failure.
2016-08-17 13:08:47 +04:00
morkt
0a606433f4
(ArcFile.TryOpen): some tweaks.
2016-08-13 23:52:59 +04:00
morkt
b3d74fb17c
released v1.2.19
2016-08-12 04:42:45 +04:00
morkt
1cf89e33b6
updated READMEs.
2016-08-06 16:23:50 +04:00
morkt
0732a9cf45
introduced extensions infrastructure.
2016-08-02 16:38:42 +04:00
morkt
2ac291b1d8
(ArchiveFormat.CopyEntry): removed unused method.
2016-08-02 05:17:25 +04:00
morkt
0e8a3ea417
updated prerelease config.
2016-07-28 21:22:41 +04:00
morkt
ef2552deec
added 'prerelease' configuration.
2016-07-26 07:08:07 +04:00
morkt
5a858cf42d
(BMP): refined detection of bitmaps with alpha channel.
2016-07-26 07:05:02 +04:00
morkt
9133adeab9
released v1.2.18
2016-07-07 17:38:02 +04:00
morkt
02efade7ff
(ImageFormat.Write): use overloaded BitmapFrame.Create method.
...
incorrect metadata sometimes causes ArgumentException.
2016-06-18 11:02:33 +04:00
morkt
394a7949dd
(ArcFile.TryOpen): don't try same format twice.
2016-06-18 10:10:19 +04:00
morkt
95e7aa7614
released v1.2.17
2016-06-12 01:38:09 +04:00
mireado
066bf1fa13
update korean translation ( #29 )
2016-06-11 21:37:15 +04:00
morkt
08cd673408
(ArcFile.OpenView): ensure that length supplied to ArcView is always greater than zero.
2016-06-11 06:38:47 +04:00
morkt
9f004452ba
(ViewPointer): unsafe wrapper around memory mapped view pointer.
2016-05-30 15:51:37 +04:00
morkt
ca9126907c
don't concatenate strings inside lambda expressions.
2016-05-25 03:07:19 +04:00
morkt
0c426d723f
released v1.2.16
2016-05-20 04:33:05 +04:00
morkt
d20fed194c
(VFS): added GetDirectoryName methods.
2016-05-20 03:58:22 +04:00
morkt
78d7d693d6
(BmpFormat): recognize non-standard bitmaps with embedded alpha channel.
2016-04-25 18:02:01 +04:00
morkt
3711e28d79
moved checksum classes to separate file.
2016-04-24 22:06:50 +04:00
morkt
dee61a2929
apparently simplified chinese locale is called "zh-Hans" in .Net framework.
2016-04-14 01:06:33 +04:00
morkt
a76b432846
added simplified chinese string resources.
2016-04-13 18:07:06 +04:00
tenyuhuang
4d3f883292
ArcFormats & GameRes: Simplified Chinese Locale ( #23 )
2016-04-13 18:01:21 +04:00
morkt
1f9a8e5a09
(IFileSystem): added GetFiles(pattern) method.
2016-04-09 00:34:28 +04:00
morkt
e6548dcf5b
released v1.2.15
2016-03-28 06:53:38 +04:00
morkt
05aa1568ea
added filename glob matching.
2016-03-06 15:17:26 +04:00
morkt
bb55fe7eed
released v1.2.14
2016-03-04 07:09:24 +04:00
morkt
b41f93cd0e
(RawPcmInput): class representing raw PCM sound input.
2016-03-03 08:51:07 +04:00
morkt
1b5e682fe7
(ArcView.ArcStream): don't limit stream size to uint.MaxValue.
2016-02-08 09:14:43 +04:00
morkt
05837d28ba
released v1.2.13
2016-02-07 09:58:51 +04:00
morkt
410d40313e
(Binary.Rotate): added ulong methods.
...
(Crc32.UpdateCrc): method made public.
2016-01-15 11:50:13 +04:00
morkt
f85cf12fcd
released v1.2.12
2016-01-07 18:08:46 +04:00
morkt
207cc8e144
(ArchiveFormat.IsSaneCount): method made public.
2015-12-19 06:39:55 +04:00
morkt
e0bbb0e7ac
(UnknownFormatException): propagate inner exception.
2015-12-13 17:11:09 +04:00
morkt
63c57cccce
released v1.2.11
2015-12-11 16:33:05 +04:00
morkt
1c457e1249
(TgaFormat): read grayscale images.
2015-12-09 17:57:48 +04:00
morkt
b442bd5afb
(ArcView.ReadString): added commented out unsafe implementation.
...
unsafe variant doesn't allocate temporary buffer for name, but requires
.Net framework version 4.6 or later.
2015-12-08 20:56:10 +04:00
morkt
aeea84a693
(CopyOverlapped): slightly optimized BlockCopy loop.
2015-12-05 20:26:36 +04:00
morkt
6d6b81c88f
(Binary): added RotByteR and RotByteL methods.
2015-12-03 15:51:06 +04:00
morkt
1ee96fc3e9
(Binary): added RotR and RotL methods.
2015-12-01 11:24:48 +04:00
morkt
95e861c5b1
fixed file system navigation.
2015-12-01 11:23:47 +04:00
morkt
7ca6a5d1a4
released v1.2.10
2015-11-28 01:46:23 +04:00
morkt
b38e3a0601
relaxed entry placement check.
...
archives with external index and single entry didn't pass check.
2015-11-26 02:23:24 +04:00
morkt
3c22e9c077
(FileSystemStack.Flush): don't dispose of LastVisitedArc if it currently resides on top of the stack.
2015-11-21 10:15:54 +04:00
morkt
b0d06882b2
(ArcFile.Dispose): don't assign null on dispose.
2015-11-21 10:13:42 +04:00
morkt
6c6c6be7a0
(ArcView.ReadBytes): new method.
2015-11-19 11:35:56 +04:00
morkt
bbadd583df
(BigEndian): added ToUInt16 and ToInt16 methods.
2015-11-17 21:30:46 +04:00
morkt
1c031ad24b
(TgaFormat.ReadMetaData): additional sanity check for color-mapped images.
2015-11-13 11:41:52 +04:00
morkt
58718944ab
released v1.2.9
2015-11-11 12:56:31 +04:00
morkt
330d255883
(ImageFormat.Tga): new static property.
2015-11-09 00:09:36 +04:00
morkt
382b257532
(WaveAudio): store ogg/mp3 format tags in a set.
2015-11-04 04:02:42 +04:00
morkt
91110ad1df
(TifFormat): enabled in release build.
2015-10-30 08:53:40 +04:00
morkt
d1fa630f3d
updated string resources.
2015-10-27 20:27:15 +04:00
mireado
49113e324f
garstring korean translation
2015-10-27 22:51:16 +09:00
morkt
97c5849edd
released v1.2.8
2015-10-26 03:19:35 +04:00
morkt
86d9121b94
(ImageFormat.FindFormat): ignore streams less than 4 bytes length.
2015-10-24 15:51:28 +04:00
morkt
12d9ea4765
ignore errors in pre-build events.
2015-10-22 21:04:05 +04:00
morkt
f676fd613e
(PngFormat): fixed oFFs chunk CRC calculation.
2015-10-19 17:06:49 +04:00
morkt
43b1631e67
(ImageData.CreateFlipped): new static method.
2015-10-12 12:14:57 +04:00
morkt
f9448e4613
fixed filesystem traversal.
2015-09-22 22:39:10 +04:00
morkt
de5bb88256
released v1.2.7
2015-09-21 22:13:34 +04:00
morkt
2f3b80e744
ZLibStream moved to GameRes assembly.
2015-09-19 10:24:14 +04:00
morkt
9a8bff184d
implemented external storage of resource schemes.
2015-09-18 01:27:53 +04:00
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
morkt
c0fa230abb
(ArcView): MemoryMappedFile should not dispose underlying file stream itself.
2014-07-26 23:17:55 +04:00
morkt
46c05b25de
ImageFormat.Read method made static.
2014-07-25 08:56:32 +04:00
morkt
3a7d2111be
implemented archive creation frontend.
2014-07-25 07:05:55 +04:00
morkt
53d0267eca
(LittleEndian): added 64-bit integer readers.
2014-07-25 00:52:24 +04:00
morkt
0a1f14e051
added preliminary archive creation support.
2014-07-24 05:43:20 +04:00
Poddav
e208029dd3
Initial commit.
2014-07-21 23:26:28 +04:00