Commit Graph

122 Commits

Author SHA1 Message Date
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
Paul Chote
293b6202ef Add support for oramod packages. 2016-02-28 20:30:40 +00:00
Paul Chote
5c32a77179 Don't dispose mod packages when returning to mod chooser. 2016-02-28 20:25:40 +00:00
Paul Chote
be52c1cb72 Properly use the virtual filesystem for map loading and saving. 2016-02-28 19:27:33 +00:00
Paul Chote
6490a66ffc Fix false Folder contains for absolute paths. 2016-02-28 10:18:50 +00:00
Paul Chote
617113fa86 Rework IReadWritePackage interface. 2016-02-28 10:18:50 +00:00
Paul Chote
b5f792b997 Fix unmounting of explicit packages. 2016-02-28 10:18:49 +00:00
Oliver Brakmann
4f1fa3acec Merge pull request #10786 from pchote/mappreview-packages
Remove internal use of map paths.
2016-02-23 22:52:54 +01: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
Paul Chote
226081d379 Remove map saving shim method. 2016-02-21 16:11:36 +00:00
Paul Chote
9978e20a83 Introduce IReadOnlyFileSystem interface. 2016-02-18 18:12:31 +00:00
Paul Chote
a229e4253f Implement new syntax for mod-specific filesystem requests. 2016-02-15 00:44:36 +00:00
Paul Chote
a0bc556172 Implement new syntax for package-specific filesystem requests. 2016-02-15 00:44:36 +00:00
Paul Chote
6c6826c3f3 Fix mod assembly loading on Windows. 2016-02-07 23:38:12 +00:00
Paul Chote
00945dc9ef Tidy IReadOnlyPackage interface and implementations. 2016-02-01 22:49:12 +00:00
Paul Chote
feab81bdea Remove IReadOnlyPackage.Priority.
Priority is now determined solely by order in mod.yaml
(later packages take priority of earlier ones).
2016-02-01 22:49:11 +00:00
Paul Chote
cbfd9bb921 Properly handle multiple mount/unmount requests. 2016-02-01 22:49:11 +00:00
Paul Chote
fcccc0f5f9 Merge mod Folders into Packages. 2016-02-01 22:49:11 +00:00
Paul Chote
31cc399579 Remove unused package annotations. 2016-01-29 20:41:20 +00:00
Paul Chote
cbf2b1984a Auto detect mix type. 2016-01-29 20:41:20 +00:00
Paul Chote
6085de7263 Remove unused PackagePaths. 2016-01-29 19:59:31 +00:00
Paul Chote
314aba0861 Overhaul InstallShieldPackage.
- Remove hashing
- Use full file paths
- Replace BinaryReader with stream extensions.
2016-01-29 19:56:17 +00:00
Paul Chote
7ed24ce6de Remove legacy hashing from BagFile. 2016-01-29 19:56:17 +00:00
Paul Chote
ccdbdebdb1 Remove legacy hashing from D2kSoundResources. 2016-01-29 19:56:16 +00:00
Paul Chote
91c25d7b84 Remove unused Package.(Classic|Crc)Hashes. 2016-01-29 19:56:16 +00:00
Paul Chote
86e4cb763d Replace FileSystem hash index with a regular string cache.
This requires that .mix files have valid max database
entries for all files used by the mod.
2016-01-29 19:56:16 +00:00
RoosterDragon
8e89a6a696 Simplify names, remove unused usings, remove redundant casts. 2016-01-17 21:35:36 +00:00
Paul Chote
bdb8fd48ca Remove legacy package creation code. 2016-01-16 10:37:21 +00:00
Paul Chote
f8d0b97e8d Split IPackage into IReadOnlyPackage and IReadWritePackage. 2016-01-16 10:37:21 +00:00
Pavel Penev
e3f5697f7e Some more renaming from "folder" to "package" 2016-01-14 22:08:49 +02:00
Pavel Penev
45382d193a Rename IFolder to IPackage 2016-01-11 21:53:48 +02:00
Matthias Mailänder
51468c60ed use UTF8 instead of system locale code page 2016-01-02 09:08:21 +01:00
RoosterDragon
b5f24c3fa6 Add some missing Dispose calls, fix some Dispose implementations. 2016-01-01 04:51:54 +00:00
Pavel Penev
d08a400565 Add a context argument to package files contructors 2015-12-14 03:42:25 +02:00
Pavel Penev
1b88d24cfa Unstatic GlobalFileSystem and rename it to FileSystem
Add a ModFiles field on ModData and move all access to the file system to go through that.
2015-12-14 03:42:22 +02:00
Pavel Penev
5684bcec1c Move IFolder out of GlobalFileSystem.cs 2015-12-14 03:42:18 +02:00
RoosterDragon
bfe1804bf6 Fix some spellings. 2015-11-27 16:19:59 +00:00
RoosterDragon
210c7e312b Don't keep mix files in memory.
Added SegmentStream class to assist in maintaining views into portions of the FileStream of the overall mix file to avoid having to copy sections into in-memory buffers.
2015-10-13 19:23:56 +01:00
James
5000369463 Fixed TFD Not Creating Install Directory 2015-10-12 19:52:49 +01:00
Matthias Mailänder
245d7904fe allow to specify the folder directly in the virtual file system
using folder:file syntax
2015-08-02 17:29:41 +02:00
James
8468ce5fe6 added InstallShield CAB Extractor 2015-07-29 08:18:26 +01:00
RoosterDragon
ce73bb909e Make IFolder interface inherently IDisposable.
Fix up implementations to ensure they dispose any stream they acquire, and ensure the constructor will not leave a stream open if it fails. Dispose folders when unmounting them in GlobalFileSystem.
2015-07-23 22:31:20 +01:00
Matthias Mailänder
e93faeaa04 dispose the memory stream and avoid the binary reader 2015-06-24 07:15:59 +02:00
Oliver Brakmann
a572044497 Revert "Dispose of a MemoryStream in PackageEntry" 2015-06-23 17:37:35 +02:00
penev92
04cc54c392 Get rid of an undisposed MemoryStream in PackageEntry
And a BinaryReader
2015-06-22 20:06:36 +03:00
Pavel Penev
b7567fa5fa Merge pull request #8399 from Mailaender/mix-readblock-guards
Fixed EndOfStreamException in MixFile.ReadBlocks
2015-06-11 17:38:35 +03:00
Matthias Mailänder
07711f01b3 add exceptions for debugging 2015-06-10 20:41:34 +02:00
Matthias Mailänder
9261f685a7 fix a null reference exception 2015-06-10 06:48:10 +02:00
Benno van den Bogaard
8cf7c46c8f Added audio.bag/audio.idx support used in RA2 2015-03-31 18:13:20 +02:00