Commit graph

21 commits

Author SHA1 Message Date
Christoph Oelckers
5dfc396bb9 - read snapshots from zip. 2016-09-22 01:28:05 +02:00
Christoph Oelckers
ac3c00883d - implemented saving of new format savegames as zips. The code for that was adapted from zipdir.c. 2016-09-21 17:37:56 +02:00
Christoph Oelckers
075e98c967 - use FCompressedBuffer to store level snapshots. FCompressedMemFile has been removed. 2016-09-21 01:48:23 +02:00
Christoph Oelckers
3a1191281f - some preparations for converting the player serialization code.
- converted sound and canvas texture serialization.
- refactored file_zip, so that it can be used to load loose zip files and extract their compressed data directly.
- added handling to FSerializer to generate and consume compressed Zip file entries.

If all goes well this will allow saving savegames as Zips when the rework is done, which will make analyzing them a lot easier.
2016-09-20 23:13:12 +02:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
4d2a52418f - added an errorlog option.
This cuts down on as much message noise as possible, outputs everything to a file specified as a parameter and then quits immediately, allowing this to run from a batch that's supposed to check a larger list of files for errors.
Multiple outputs get appended if the file already exists.
2016-02-09 14:20:49 +01:00
Christoph Oelckers
6fc63daabd - fixed: Zips whose central directory cannot be read need to print an error message. 2015-04-13 22:08:44 +02:00
Randy Heit
efa82cf38b Consolidate archive sorting into FResourceFile base class 2015-04-03 20:22:18 -05:00
Randy Heit
966d0b7034 Use FString for FResourceLump::FullName 2015-04-03 20:00:58 -05:00
alexey.lysiuk
3fa89b4e9f Fixed crash on attempt to load corrupted data file
Instance of FileReader is no longer destructed when header of data file is valid but complete loading of file fails
Loading of truncated .zip file is the simplest test case
2014-04-27 10:18:50 +03:00
alexey.lysiuk
5c05f1f3cd - Ignored dehacked.exe from *.zip files to enable loading of *.deh files. 2013-08-02 10:17:06 +03:00
Braden Obrzut
cd2c1f6816 - Remove 255 character length restriction on lump names.
- Removed directory checking for big endian wads since the header check should be sufficient.

SVN r3899 (trunk)
2012-10-22 21:58:52 +00:00
Christoph Oelckers
627838f379 - Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
  set because it used atoi to convert the string into a number.

SVN r1624 (trunk)
2009-05-31 10:49:47 +00:00
Christoph Oelckers
2effc9b803 - Rewrote IWAD detection code to use the ResourceFile classes instead of
reading the WAD directory directly. As a side effect it should now be
  possible to use Zip and 7z for IWADs, too.


SVN r1621 (trunk)
2009-05-30 09:53:38 +00:00
Randy Heit
2e87ebff22 - Added input buffering to the Implode and Shrink routines for a marked
speedup.
- Replaced the Shanno-Fano/Huffman reading routines from FZipExploder with
  ones of my own devising, based solely on the specs in the APPNOTE.


SVN r1590 (trunk)
2009-05-17 03:05:26 +00:00
Christoph Oelckers
c0d2f78b2a - fixed: FZipLump passed the uncompressed lump size to ShrinkLoop as size of the input data but this must be the compressed size.
SVN r1589 (trunk)
2009-05-16 10:06:39 +00:00
Randy Heit
cef12aac6d - Found a copy of PKZIP 1.1 and verified that Implode support works with
files that use a literal table and 8k dictionary, and that the just-added
  Shrink support works at all.
- Replaced the bit-at-a-time Shannon-Fano decoder from GunZip.c64 with the
  word-at-a-time one from 7-Zip for a slight speedup when working with
  Imploded files.


SVN r1588 (trunk)
2009-05-16 03:10:37 +00:00
Christoph Oelckers
a732687548 - Changed APlayerPawn::DamageFade to a PalEntry from 3 floats.
- Removed #pragma warnings from cmdlib.h and fixed the places where they were 
  still triggered.
  These #pragmas were responsible for >90% of the GCC warnings that were not
  listed in VC++.
- Fixed one bug in the process: DSeqNode::m_Atten was never adjusted when the
  parameter handling of the sound functions for attenuation was changed.
  Changed m_Atten to a float and fixed the SNDSEQ parser to set proper values. 
  Also added the option to specify attenuation with direct values in addition 
  to the predefined names.

SVN r1583 (trunk)
2009-05-15 10:39:40 +00:00
Randy Heit
b9fa7626bc - Fixed non-POD passing in G_BuildSaveName() and other things GCC warned
about.
- Added support for imploded zips.



SVN r1581 (trunk)
2009-05-15 03:11:44 +00:00
Christoph Oelckers
2e90519c13 -Fixes in new resource file code: Added file length checks and set lump count to 1 for single lump files.
SVN r1558 (trunk)
2009-04-24 22:31:35 +00:00
Christoph Oelckers
cc066bc409 - complete restructuring of resource file handling for more flexibility and future
extensions.
- Removed merging of special namespaces. For the texture manager this has
  become totally useless so there is no need to do this anymore. Not merging
  the namespaces also allows a much more reliable detection of lumps belonging
  to special namespaces so the ScanForFlatHack function is no longer needed.
  Instead, any lump up to F_END with a length of 4096 will be marked for 
  inclusion as a flat texture if no F_START marker is found.
- Made the counting of intermission stats in Doom a GAMEINFO option so that
  it can be activated in all games.


SVN r1555 (trunk)
2009-04-23 22:49:38 +00:00