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.
- 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)
- 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)
- 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)
- 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)
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)
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)
- 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)
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)
- 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)
- 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)
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)
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)
- Fixed: Heretic linetype translations included the wrong file.
- Removed all 2D sound positioning code from s_sound.cpp. Everything uses
FMOD's 3D engine now.
- Removed all the channel selection code from s_sound.cpp. FMOD has code to
handle this sort of thing, so let's use it.
- Replaced S_StopSoundID() with S_CheckSingular(). There is no longer a limit
on the number of copies of a particular sound that can be playing at once,
aside from Strife's special singular sounds. (Sorry, Heretic and Hexen.)
Consequently, the SNDINFO $limit command is now ignored.
- Removed ATTN_SURROUND, since FMOD Ex doesn't exactly support it, and it
only worked as intended on stereo speakers anyway.
- Cleaned out ancient crud from i_sound.cpp.
SVN r826 (trunk)
- Fixed: ACS SetMugShotState needs to check the StatusBar pointer for the
proper object type.
- Move SBarInfo loading code in d_main.cpp into a static method of DSBarInfo.
- Removed dobject.err from the repository. It only contained a list of compiler
errors for some very old version of dobject.cpp.
- Fixed: A_JumpIfCloser was missing a z-check.
- Added Blzut3's SBARINFO update #13:
- Split sbarinfo.cpp into two files sbarinfo_display.cpp and sbarinfo_parser.cpp
- Rewrote the mug shot system for SBarInfo to allow for scripting and custom
states for different means of death.
- SBarInfo now loads all SBarInfo lumps instead of just the last one. Clashing
status bar definitions will now be cleared before the bar is read.
- Fixed: When using transparency with bars the new drawing method (bg over fg)
didn't work. In the case that the border value is set to 0 it will revert to
the old method (fg over bg).
- Fixed: drawbar lost any high res information it was given.
- Added: ACS command SetMugShotState(str state) which sets the mug shot state
for the activating player.
- Added: keepoffsets flag to drawbar. When set the offsets in the fg image will
also be applied when displaying the bar.
SVN r812 (trunk)
already. For some reason, a stock install of MinGW doesn't define it, but
if you compile your own GCC, it installs headers that do.
- Changed the way that the makefiles detect MSYS to a method that should
be more foolproof, thanks to changes in MSYS.
SVN r737 (trunk)