Commit Graph

104 Commits

Author SHA1 Message Date
RoosterDragon
ca01a1f186 Presize MemoryStream when possible.
Also use GetBuffer when we know we have presized the stream to the exact required size to prevent a needless copy.
2017-12-19 00:59:11 +01:00
Paul Chote
93fcfbb131 Fix ReadWriteZipFile crashing on update. 2017-07-18 00:10:07 +02:00
Paul Chote
daf8f8d956 Throw a FileNotFoundException if source zip file isn't found. 2017-07-08 23:22:44 +02:00
Paul Chote
f7c57cfc6f Fix crash when loading read-only ReadWriteZipFiles. 2017-07-08 16:45:44 +01:00
RoosterDragon
297f4ad9ed Ensure we set ZipConstants.DefaultCodePage by using a helper method.
We were currently dealing with this terrible global variable in FileSystem/ZipFile.cs previously, but other parts of the code such as DownloadPackageLogic were creating these files too, and may not have executed the static ctors that fixed the encoding yet.
2017-07-05 22:45:15 +01: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
Paul Chote
8321d1f3e3 Remove legacy FileSystem.OpenPackage(string, IReadOnlyPackage). 2017-05-29 12:27:24 +02:00
Paul Chote
df40d38b91 Rework read/write zip file loading/saving. 2017-05-29 12:20:32 +02:00
Paul Chote
a3f7641b68 Move D2kSoundResources to Mods.D2k dll. 2017-05-07 13:25:43 +01:00
Paul Chote
0222ea675c Implement mod-defined package loaders. 2017-05-07 13:25:38 +01:00
Paul Chote
9b4f602cca Remove unused leftover oramod loading code. 2017-05-07 13:25:04 +01:00
Paul Chote
248c12827e Resolve assembly paths before loading the FileSystem. 2017-05-07 13:25:03 +01:00
Paul Chote
e984c98565 Remove oramod package support. 2017-04-21 17:55:15 +01:00
abcdefg30
aa73b19ee2 Give an proper error when a file is not found 2017-02-19 17:35:22 +01:00
Taryn Hill
38304bc57b Throw an InvalidOperationException when a mod manifest references a bogus package
Bogus packages are packages that:
  * Cannot be located on disk
  * Are of an unsupported format
2017-02-18 16:55:26 -06:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
RoosterDragon
226c0a050a Dispose some sound streams. 2016-12-23 19:37:17 +00:00
RoosterDragon
e65c73785e Allow MixFile to support all stream types again, not just FileStream. 2016-09-20 07:41:31 +01:00
Paul Chote
3df9efb95d Rework mod enumeration / caching.
- Replaced ModMetadata.AllMods with Game.Mods.
- Store / reference mod Manifest instead of ModMetadata.
- Removes engine dependency on ModContent class.
2016-08-08 22:36:07 +01:00
Matthias Mailänder
2ab82664e3 Dispose the intermediate Stream after copying it to pkgStream. 2016-07-26 22:14:42 +02:00
Paul Chote
f4c42581d5 Remove legacy CAB package support. 2016-07-13 21:01:56 +01:00
Taryn Hill
6a228f0428 FileSystem: Use TryGetValue in Mount(string, string) 2016-07-03 08:25:14 -05:00
Matthias Mailänder
96d9a01f76 Dispose pkgStream. 2016-07-03 10:26:56 +02:00
Paul Chote
89c4cf9658 Hack around map creation crash. 2016-07-01 21:58:27 +01:00
Paul Chote
c706e68b73 Rework zip file updating. 2016-07-01 21:58:26 +01:00
reaperrr
ad77dca12a Remove WavReader dependency from BagFile reader 2016-06-23 01:55:01 +02:00
Paul Chote
a9a5b9bc71 Change Blast.Decompress to use Stream I/O. 2016-06-16 21:20:27 +01:00
Paul Chote
bd3096f21b Add command to dump Mix contents. 2016-06-14 18:15:03 +01:00
Paul Chote
92ea404b0b Add command to dump InstallShield contents. 2016-06-14 18:15:03 +01:00
Matthias Mailänder
4719a085bb Dispose global mix database.dat properly. 2016-04-17 14:09:52 +02:00
Paul Chote
7315ffbcb7 Fix outdated file headers. 2016-04-10 09:41:12 -04: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
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