Commit graph

112 commits

Author SHA1 Message Date
Christoph Oelckers
9d126954d1 - removed the default parameter handling from all native script functions because it is no longer needed.
# Conflicts:
#	src/p_actionfunctions.cpp

# Conflicts:
#	src/hwrenderer/postprocessing/hw_postprocessshader.cpp
#	src/v_2ddrawer.cpp
2019-04-15 14:59:00 +02:00
Christoph Oelckers
2fe54f4a53 - use TArray and FString in resource file management. 2018-11-12 21:53:13 +01:00
Christoph Oelckers
91663e1202 - replaced a few temporary allocations with TArray and added a few convenience loader functions for this.
Amazingly with today's optimizers this creates code which is just as good as doing it all manually with the added benefit of being safer.
2018-11-12 21:53:10 +01:00
Christoph Oelckers
a2760d7da2 - use a single TArray to allocate the memory for the lump manager's hash lists.
# Conflicts:
#	src/w_wad.cpp
#	src/w_wad.h
2018-11-02 14:40:51 +01:00
Christoph Oelckers
04b8a12ca4 - Build texture work. Currently broken. 2018-03-19 20:02:38 +01:00
Christoph Oelckers
c85389c976 Re-fixed 95d74614
This should be dealt with at the source, not one level up, so that it also works properly if the GetReader function of the ResourceFile object is called directly and not through the resource manager.
2018-03-12 10:26:36 +01:00
alexey.lysiuk
e0f7c99496 Fixed crash on loading directories 2018-03-12 11:00:40 +02:00
Christoph Oelckers
54061ad50c - another one.
This would be easier if Travis CI didn't abort compilation after each single error...
2018-03-11 23:25:30 +01:00
Christoph Oelckers
b939836846 - renamed FileRdr back to FileReader. 2018-03-11 19:29:37 +01:00
Christoph Oelckers
b14ee50d0d - transition to new FileReader interface complete, but untested. 2018-03-11 12:33:46 +01:00
Christoph Oelckers
247785bca2 - converted map loader to FileRdr and took the opportunity to clean up its interface. 2018-03-10 21:48:33 +01:00
Christoph Oelckers
26e948357e - added an abstract FileReader wrapper.
The idea here is to decouple the actual reader creation from the code using them so that, for example, the Open function can decide if it wants to open the file regularly or memory mapped and return different readers as deemed useful. For that to work the exposed object needs to be an abstract wrapper so that this can be done without having to use pointers and all the drawbacks coming from that.
So far put to use in a few parts of the music code so the general functionality could be tested.
2018-03-10 13:46:35 +01:00
Christoph Oelckers
a6fa906764 Framework for context independent sounffont management
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
8627a48b34 - consolidation of 'stat' calls.
Since this is a non-standard function it's better kept to as few places as possible, so now DirEntryExists returns an additional flag to say what type an entry is and is being used nearly everywhere where stat was used, excluding a few low level parts in the POSIX code.
2017-12-02 16:07:09 +01:00
Christoph Oelckers
e1edb46bbb - - let FWadLump use the newly added fdopen function. 2017-12-02 11:56:26 +01:00
alexey.lysiuk
415ed57713 Added Wads.CheckNumForFullName() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 15:11:49 +02:00
alexey.lysiuk
2f45218f70 Added Wads.ReadLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
91fda180de Added Wads.FindLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
52634dbec1 Fixed compilation warning reported by GGC/Clang
src/w_wad.cpp:284:20: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
2017-09-16 12:54:09 +03:00
Rachael Alexanderson
765646ee1c - fixed: Changed IWAD_FILENUM to a dynamic lookup. 2017-09-13 04:19:03 -04:00
Christoph Oelckers
6599e2c425 - moved the VM types into their own file and only include it where really needed. 2017-04-13 01:12:04 +02:00
Christoph Oelckers
d2beacfc5f - except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types. 2017-03-09 19:54:41 +01:00
Christoph Oelckers
8ab562ef13 - the fourth. 2017-03-08 18:55:54 +01:00
Christoph Oelckers
7385cd70c0 - scriptified the Minotaur.
Interesting tidbit: The damage calculation in P_MinotaurSlam had been incorrect for the Heretic version since the friendly Hexen Dark Servant was added, but nobody ever noticed in 14 years...
2016-11-26 01:14:47 +01: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
alexey.lysiuk
1798fab973 Added support for Hexen Mac beta
It's very similar to Mac demo but also contains MAP41: Maze like DOS full version 1.0
2016-01-31 12:53:22 +02:00
alexey.lysiuk
552c440afa Fixed another issue with Hexen Mac
Hopefully there will be no more bugs with Hexen Mac IWADs (demo or full) as all extra lumps are now discarded
2016-01-17 13:29:44 +02:00
alexey.lysiuk
9176d75580 Fix incorrect small font rendering with Hexen Mac IWAD
Unused high resolution font lumps broke composite font logic
Small font had doubled height because of that, at least alternate HUD and inter-hub text messages had noticeable visual issues
2015-12-14 11:47:46 +02:00
Christoph Oelckers
13fb76db21 - changed lump reader setup for music so that for uncompressed data it opens a new FILE instead of caching the lump.
This reinstates behavior of pre-OpenAL versions but still uses the FileReader interface to keep the simplified code of the OpenAL branch.
2015-04-26 23:28:05 +02:00
Randy Heit
006868c072 Miscellaneous warning fixes 2015-04-14 18:02:15 -05:00
Randy Heit
7b4d6e2f87 Add lump filtering for archive resources
- Multi-directory archives (e.g. zips) now support filtering lumps
  depending on the loaded IWAD. The search rules are the same as for the
  Autoload entries in the user's ini. For instance, if you are playing
  Doom 2, the following filters will be applied:
  * "filter/doom2/*"
  * "filter/doom/*"
  They will be renamed to strip out the "filter/doom2/" and "filter/doom/"
  parts and will be ordered so they take precedence over any files not
  inside a filter/ directory. Any files inside another filter/ directory
  (e.g. "filter/hexen/*") will be ignored.
2015-04-03 22:42:22 -05:00
Randy Heit
966d0b7034 Use FString for FResourceLump::FullName 2015-04-03 20:00:58 -05:00
Edward Richardson
bf6cdba0bb Added -hashfiles command 2015-03-17 18:07:50 +13:00
Shawn Walker
59885b856d - remove texture name length limits for udmf maps 2014-05-18 15:38:46 -07:00
Christoph Oelckers
ca4179caa3 - allow texture lookup by full path names. Due to technical limitations this may result in double textures if the same graphics lump is also referenced by its short texture name. 2014-05-13 20:51:16 +02:00
Braden Obrzut
dcb1a3c8bd - GCC warning cleanup
SVN r4031 (trunk)
2013-01-21 22:30:30 +00:00
Randy Heit
d0c3c924d4 - Initialize the nerve checksum at compile-time instead of run-time.
- Fixed: Crash in FWadCollection::RenameNerve() for files without a FileReader object.

SVN r3932 (trunk)
2012-11-03 00:38:58 +00:00
Randy Heit
bfae51ed2e - Added Gez's BFG edition patch.
SVN r3926 (trunk)
2012-11-01 02:42:14 +00:00
Randy Heit
f96dd8ff8a - Make GCC happy.
SVN r3164 (trunk)
2011-03-11 00:44:38 +00:00
Christoph Oelckers
387bfc0260 - added 'nospriterename' key to GAMEINFO lump so that PWADs have a means to disable this feature without having to specify a command line switch.
SVN r2623 (trunk)
2010-08-28 17:19:48 +00:00
Randy Heit
b53baf5f46 - Added support for Blood's ambient sounds, because I thought it would be an easy way to
test the new ambient sound range parameters. (Hahaha! If I hadn't had to fix all the
  Build/Blood stuff first, it would have been.)

SVN r2223 (trunk)
2010-03-18 05:01:10 +00:00
Christoph Oelckers
c191d95110 - Fixed: Hexen's fighter's skull has a different animation than Heretic's so it needs to be a separate class.
- Added an option to parse lumps named ZMAPINFO in place of MAPINFO. Any MAPINFO lumps in files containing
  a ZMAPINFO lump will be completely ignored. This is to allow ZDoom specific definitions which are incompatible 
  with other engines capable of reading MAPINFO. Any ZMAPINFO lump must be in the new MAPINFO format.



SVN r2208 (trunk)
2010-03-13 08:28:13 +00:00
Christoph Oelckers
370eff9014 - replaced wadlist_t with an array of FStrings and added a list parameter to
everything that eventually calls D_AddFile. Also create the list of files
  loaded on the command line separately to allow further checks on them.


SVN r2072 (trunk)
2010-01-01 12:40:47 +00:00
Randy Heit
f305b2f70c - Fixed: FWadCollection::AddFile() did not call FixPathSeperator(), so
savegames would hold the full file path for wads that had been specified
  with backslash characters, because GetWadName() would not trim off the
  path.


SVN r1994 (trunk)
2009-11-24 02:26:01 +00:00
Randy Heit
30b21b2eea - Removed the one embedded DeHackEd lump restriction.
SVN r1972 (trunk)
2009-11-12 02:47:28 +00:00
Christoph Oelckers
1d582a7550 - fixed: The newly altered WAD code could not load embedded WADs anymore.
SVN r1785 (trunk)
2009-09-02 20:29:52 +00:00
Randy Heit
c24c31cc9f - Added directory detection to the -file parameter. This obsoletes -dir, so
that parameter is now gone.
- Removed automatic ".wad" appending from FWadCollection::InitMultipleFiles()
  since it isn't needed and prevented files without extensions from being
  loaded. D_AddFile() already takes care of adding the extension if the
  name as-given does not exist.
- Fixed: Loading single files did not print a newline in the startup text.


SVN r1784 (trunk)
2009-09-02 03:47:48 +00:00
Randy Heit
93202a5488 - Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the
issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
2009-08-02 03:38:57 +00:00
Christoph Oelckers
db0a924fc9 - Reintroduced damage thrust clamping but with a higher threshold. The clamping
is now also done in floating point before any fixed point overflows can occur.


SVN r1670 (trunk)
2009-06-16 22:04:26 +00:00