Commit Graph

107 Commits

Author SHA1 Message Date
Braden Obrzut b958e930cf - Cleared developer warnings with modern (3.0+) versions of CMake. 2015-03-23 23:28:18 -04:00
Randy Heit d84c85d40f Remove warnings warned by Clang 2015-03-08 17:21:15 -05:00
Braden Obrzut 601852d224 - Fixed: fixrtext isn't needed with Win64 builds. 2014-11-17 21:56:16 -05:00
Braden Obrzut 1ae53473ff Merge branch 'edward-san-cmake_gcc_compatible' 2014-06-26 17:54:48 -04:00
Christoph Oelckers 270541f942 fixed compilation with latest LZMA SDK on Windows.
LZMA SDK recently added an #include <windows.h> to its headers, meaning it's no longer safe to include its headers globally in platform independent files.
The following changes were necessary:

- rename DWORD type in zipdir.c
- add USE_WINDOWS_DWORD and reorder includes in file_7z.cpp
- wrap LZMA decoder stream into a local struct that's declared anonymously in files.h and adjust files.cpp for this change.
2014-06-26 09:43:51 +02:00
Edoardo Prezioso 1a3ac9d0b3 - Simplify CMake GCC and Clang checking.
Introduce the variable 'ZD_CMAKE_COMPILER_IS_GNUC(XX)_COMPATIBLE' and replace any occurrence of '"${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "Clang"' with it. This makes it possible to add more GCC compatible compilers in just one place.
2014-06-26 01:23:41 +02:00
crimsondusk c47d77228d - increased updaterevision's buffer sizes to prevent GIT_BRANCH from cut short 2014-03-30 21:27:05 +03:00
Christoph Oelckers 6824e8c931 Merge branch 'maint' 2014-01-18 01:12:06 +01:00
Edoardo Prezioso b329a34a58 - Fixed some cmake --warn-uninitialized messages 2014-01-17 23:36:59 +01:00
Braden Obrzut 49edd7c60c - Add support for cross compiling so that OS X PowerPC builds can still be made on systems without rosetta (10.7+). (Compiling x86 binaries on ppc should also be possible.) 2014-01-02 01:59:04 -05:00
Braden Obrzut 1710e92c3a - Fix issues with building XCode projects with CMake. 2013-11-21 01:54:56 -05:00
Randy Heit a5f5d8adcb - Remove the first parameter from updaterevision, since it isn't needed with git. 2013-06-24 20:58:14 -05:00
Randy Heit b9d5949825 - Add popen/pclose macros for updaterevision on Windows. 2013-06-24 20:52:52 -05:00
Randy Heit e989e11f5c - update revision via popen() (via GZDoom OS X) 2013-06-24 20:52:01 -05:00
Christoph Oelckers 054899ea53 - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 17:38:51 -05:00
Randy Heit fece189bdb - Change updaterevision to use git instead of svnversion 2013-06-22 20:49:38 -05:00
Braden Obrzut 01fed92920 - Added support for Visual Studio to the CMake project.
SVN r4166 (trunk)
2013-02-25 00:12:21 +00:00
Christoph Oelckers 1993e969b7 - GCC warning fixes (GCC stupidity for the most part.)
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Braden Obrzut ee20d0ea7a - Fixed: GCC compiler warnings.
- zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.

SVN r3035 (trunk)
2010-12-13 17:09:35 +00:00
Christoph Oelckers 8a843e4b3c - tempnam would set the errno to 2 on the Mac even though everything seemed to be working as expected.
SVN r2161 (trunk)
2010-02-14 08:13:50 +00:00
Randy Heit a3ac7ee081 - Fixed: Attempt to free a non-heap object in zipdir.
SVN r2115 (trunk)
2010-01-18 05:07:10 +00:00
Christoph Oelckers 9522d81cd7 - Added Blzut's zipdir compatibility patch for Solaris.
SVN r2020 (trunk)
2009-12-11 07:42:06 +00:00
Randy Heit 8992f71773 - Fixed: zipdir did not byte-swap file sizes in the central directory.
SVN r1787 (trunk)
2009-09-03 04:06:55 +00:00
Randy Heit 3f003e06db - Replaced the use of autoconf's WORDS_BIGENDIAN with __BIG_ENDIAN__, since
latter comes predefined by GCC.


SVN r1779 (trunk)
2009-08-31 21:47:29 +00:00
Christoph Oelckers e43453b614 - added Hirogen2's patch for using the default BZip2 library under Linux.
SVN r1604 (trunk)
2009-05-25 20:58:59 +00:00
Christoph Oelckers a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Christoph Oelckers bf4e17703d - Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are
  properly named.
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
  be possible to load DEHSUPP lumps from user WADs.
- Brought back the text-based DEHSUPP parser and changed it to be able to 
  reference states by label. Also changed label names of 
  DoomUnusedStates and added proper labels to all states that were
  previously forced to be the first state of an actor so that the old
  (limited) method could access them. This was done to address the following
  bug:
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
  part of the state set that is accessible by Dehacked. These will produce
  error messages when mapped to non-players.

SVN r1512 (trunk)
2009-03-28 11:49:44 +00:00
Randy Heit 1e57e07926 - Fixed a double-fclose and memory leaks in zipdir.
- Fixed building of LZMA SDK on Linux with some help from p7zip.



SVN r1469 (trunk)
2009-03-10 23:56:47 +00:00
Randy Heit 75b7db858f - Added support for zip/pk3 files with LZMA and bzip2 compression to ZDoom.
- Added more output to zipdir and a -q option to turn it off.
- Added -u option to zipdir to only recompress those files in a zip that have
  changed. 
- Added -d and -f options to zipdir. -d forces deflate compression, and -f
  forces a write of the zip, even if it's newer than all the files it contains.
- Added support for bzip2 and LZMA compression to zipdir.


SVN r1468 (trunk)
2009-03-10 23:07:37 +00:00
Christoph Oelckers 43715c5249 - Added DECORATE conversions for Hexen's Cleric weapons by Karate Chris.
- Added a check to Zipdir that excludes files with a .orig extension. These
  can be left behind by patch.exe and create problems.
- fixed: Unmorphing from chicken caused a crash when reading non-existent
  meta-data strings.


SVN r1112 (trunk)
2008-08-05 16:04:37 +00:00
Randy Heit fb40f5f711 - Removed filename-lowercasing from zipdir.
SVN r1099 (trunk)
2008-07-31 22:11:55 +00:00
Randy Heit 21a7564c98 - Fixed: Mace SpawnID was assigned to the MacePowered actor instead.
- Fixed: Sorcerer2FX1's SpawnID was not restricted to Heretic.


SVN r1097 (trunk)
2008-07-31 18:08:30 +00:00
Randy Heit de5d4715c2 - Added Linux support for the CMakeLists. This meant downgrading them for
CMake 2.4, since the distros don't seem to consider 2.6 stable yet.
  As a bonus, GTK+ is no longer a required dependency; now it's optional.
- Made dehsupp ignore CR characters, so it doesn't spew warnings on Linux.



SVN r1092 (trunk)
2008-07-25 01:37:44 +00:00
Randy Heit 0e9c1d0c2a - Fixed zipdir on Windows for real. Logic this time, not just syntax.
SVN r1091 (trunk)
2008-07-24 22:22:50 +00:00
Randy Heit 2f7b7673f8 - Fixed zipdir for Windows.
SVN r1090 (trunk)
2008-07-24 22:20:58 +00:00
Randy Heit 0f2633d78c - Added Linux parts for the zipdir tool.
SVN r1088 (trunk)
2008-07-23 23:33:59 +00:00
Randy Heit 59735a261d - Fixed building of re2c on Linux. (It was never used in Linux builds before, was it?)
SVN r1086 (trunk)
2008-07-23 20:36:36 +00:00
Randy Heit fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00
Christoph Oelckers a8c283dacd - fixed: Morphing to a class without a face definition crashed.
- Converted all of Heretic's actors except the weapons to DECORATE.
- Added the option to define the ActorInfos for native classes in DECORATE.


SVN r1078 (trunk)
2008-07-21 17:03:30 +00:00
Randy Heit a4dc93fb91 - Removed the 8-character limit on endpic names from the parser. (Though it
might still be present in the texture manager; I don't remember.)
- Fixed: EndSequence needs a proper constructor.
- Some more GCC warning removals.



SVN r1021 (trunk)
2008-06-05 04:30:18 +00:00
Randy Heit bc5f49dd49 - Various fixes for compiling working 64-bit binaries with Visual C++. The
number of changes was pleasantly small, and a cursory check seems to show
  everything working alright.


SVN r948 (trunk)
2008-04-29 02:43:42 +00:00
Randy Heit 6ce25fe6c3 - Fixed: When an instrument's envelope runs out, it does not immediately ramp
to zero. Rather, it lets the remainder of the sample finish playing.


SVN r938 (trunk)
2008-04-25 01:28:06 +00:00
Christoph Oelckers 4667bfe46f - Added translucent blending modes to FMultipatchTexture (not tested yet!)
- Also changed all true color texture creation functions to use proper alpha
  values instead of inverted ones.
- Changed FRemapTable so that all palette entries must contain proper alpha
  values. 
- Fixed: The F1 screen check in m_menu.cpp was missing a NULL pointer check.
- Changed: The boss brain's explosions play weapons/rocklx which is an 
  unlimited sound. This can become extremely loud. Replaced with a new
  sound which is just an alias to weapons/rocklx but has a limit of 4.


SVN r932 (trunk)
2008-04-22 18:48:30 +00:00
Randy Heit d7656bf73b - Fixed updaterevision for Vista: tmpnam() creates a path to the root directory of
the drive, which is normally protected on Vista. The tempnam() function uses the
  TMP variable for a path instead.

SVN r928 (trunk)
2008-04-20 00:00:40 +00:00
Randy Heit 42c80b3ee5 - Updated fmod_wrap.h for FMOD 4.14.
- Set note velocity back to using a linear sounding volume curve, although
  it's now used to scale channel volume and expression, so recompute_amp()
  is still only doing one volume curve lookup.
- Fixed: TimidityMIDIDevice caused a crash at the end of a non-looping song.


SVN r920 (trunk)
2008-04-16 20:02:16 +00:00
Christoph Oelckers b2bfad0c50 - Added translation support to multipatch textures. Incomplete and not tested yet!
- Added Martin Howe's morph weapon update.


SVN r916 (trunk)
2008-04-15 22:17:30 +00:00
Randy Heit de485ec662 - Changed the Makefiles that are used by both Linux and MinGW so that msys
detection occurs only if $OS is Windows_NT. Otherwise, spurious nul files
  are created when compiling on Linux.


SVN r878 (trunk)
2008-04-03 23:16:07 +00:00
Christoph Oelckers 6eca1036c3 - Changed Lemon so that it always writes the header. It still kept recompiling
the grammar over and over again once it had been changed locally.


SVN r851 (trunk)
2008-03-25 10:42:02 +00:00
Randy Heit 3237c6b4e8 - Changed MIDI playback to not bother playing super short songs that don't
contain enough music to fill the initial output buffers.
- Removed the read barrier around ADehackedPickup::RealPickup. If the real
  pickup is picked up, it may very well destroy itself before the dehacked
  wrapper's stubs that use it are called.
- Reverted revision 840. For a file we don't want end users to be touching,
  making DEHSUPP plain text sends out mixed messages: "Don't mess with this.
  Oh, by the way, it's plain text now to make it easier for you to edit."
  Is there some reason other than a desire to do away with binary lumps to
  make the distributed lump text?
- Added a new speakermode for Stereo + HRTF: "Headphones". This is the only
  way to get the HRTF low pass filter effect now.
- Fixed: No more than one sector could make noise at once.
- Trying out sound without varying priorities again. 
- Fixed: Need to use setSpeakerMix to let 2D sounds (aka streamed music) use
  their full volume range.


SVN r842 (trunk)
2008-03-23 05:24:40 +00:00
Christoph Oelckers 9c1fa19dd2 - Changed DEHSUPP loader so that it reads the text file directly. As a result
the DEHSUPP compiler is gone now. Unlike XLATCC I'm using FScanner though.
  A fully featured parser seems like overkill for this simple text file.


SVN r840 (trunk)
2008-03-22 21:07:31 +00:00