Age | Commit message (Collapse) | Author |
|
For the Hexen substitute mapping configuration file, it's desirable
to be able to include two mappings for each music lump: a straight
high quality recording of that lump, and the recording that was
included on the Hexen CD audio tracks. So allow multiple mappings
so that we can fall back to try other filenames if the first choice
file doesn't appear to exist.
|
|
fixes #428
|
|
|
|
The Mac version of hexen.wad is slightly different from the normal
DOS one: it contains a bunch of extra lumps but more importantly,
the GENMIDI and DMXGUS lumps are missing. This means that Chocolate
Hexen would crash on startup with the default settings (as OPL is
the default music output).
To work around this problem and allow the game to start up properly,
detect if the required lump is missing and adjust the music settings,
printing a helpful message to stdout to inform the user.
|
|
Use of the wrong enum value as an index into weaponinfo left the
torpedo's selectability accidentally relying on you having 30 or more
rockets instead of cells. Verified against binary as a choco error.
|
|
First sector moved instantly for buildDown16 stairs due to neglect of
using direction instead of constant 1. Also found that Strife clears the
tag of the first stair sector.
|
|
Was not propagating properly from player to beacon to rebels due to
mistranslated assembly code; access to wrong structure.
|
|
|
|
|
|
It was pointed out to me recently that vldoor_e has enum values
named 'open' and 'close'. These can potentially conflict with POSIX
standard functions that have the same names, if the right header
files are included.
This doesn't currently cause any problems. However, to avoid any
possibility of a conflict occurring if a different compiler is used,
add a vld_ prefix to all the enum values, to namespace them.
|
|
If using one of the Freedoom IWADs, detect it by checking for the
FREEDOOM lump, and then load its DEHACKED lump to apply the
cosmetic string changes that it includes. In case we're using an old
version of one of the Freedoom IWADs, don't bomb out with an error
while parsing the DEHACKED lump.
|
|
Magic comments allow some of the Vanilla limits to be overridden, but
they should only apply to the files in which they were defined. Reset
the flag variables that control these overrides before every new
Dehacked file is parsed, so that a flag set in one file cannot spill
over into other files that are parsed subsequently.
|
|
The Dehacked code must pass a special flag to DEH_ReadLine() when
parsing the [STRINGS] section, so that lines can be escaped onto
following lines. However, this flag value was calculated incorrectly.
The BEX [STRINGS] section cannot be looked up at the start of
parsing a Dehacked file, because GetSectionByName() will return
NULL for it (extended strings are not available yet). Instead,
simplify the logic to look at the name of the current section and
check that way.
|
|
Boom added an alternate method for overriding Dehacked strings, using
the [STRINGS] section with special symbolic names for each of the
strings that can possibly be replaced.
This format is used in the Freedoom DEHACKED lump (deliberately, so
that the Freedoom WAD does not include the original text to be
replaced). As we want to have support for the Freedoom IWADs with
Chocolate Doom, add support for the BEX [STRINGS] section, but
protected by a magic comment that must be included in Dehacked/BEX
files that use it.
Thanks to Fabian Greffrath for implementing this.
|
|
|
|
- restructure DEH_ReadLine() to avoid use of "goto"
- bex_string_t type name ends in "_t"
- declare constant table as "static const"
- add magic comment *allow-extended-strings* and corresponding
variable deh_allow_extended_strings
- fix logical error when no [STRINGS] section is registered to which
corrent_section could be compared
|
|
|
|
Update setup.vcproj
|
|
Need to include the missing files in the setup project: txt_joyaxis.h and txt_joyaxis.c.
Without this, setup won't compile, complain about unresolved external symbol.
|
|
The Buffalo Classic USB Gamepad is a USB gamepad that resembles the
classic SNES controller. Thansk to Fabian Greffrath for sending in
the report.
|
|
Thanks to "Absolute Zero" for the report with the gamepad settings.
|
|
|
|
The XBOX One controller apparently appears identical to the Xbox
360 controller. Thanks Brad Harding.
|
|
Somebody broke this by using sizeof() on a malloc'd char *
|
|
|
|
|
|
|
|
apparently, this has been forgotten before, so DEH_PointerInit()
was not executed which meant that *some* DEHACKED patches
would not work when loaded from within a PWAD but would work
when extracted from that WAD and loaded via -deh.
fixes #421
|
|
Thanks valgrind!
|
|
This fixes conflicting array sizes for the variable "spechit" as
reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748393.
Fixes #414
|
|
Ignore some more autogenerated files
|
|
Add desktop entries for all the games, make the Setup launch generic
|
|
|
|
The same icon is used for all four games, even though it's designed to
resemble Doom's logo and looks a bit silly with all of them lined up.
Also the Setup Desktop Entry now only launches chocolate-setup, which
then prompts for the game to configure. This avoids cluttering up a
DE's Preferences menu, control panel, or however it will be displayed.
|
|
Max optimization settings for release that were derived from Eternity
are now effective for all 4 games. In addition, generate map files for
debugging purposes.
|
|
The Xbox360 controller is handled differently by different
operating systems, and the layout is different on Linux to Windows.
Detect the Linux layout and set some appropriate defaults.
|
|
Reduce the width slightly (the previous size was excessively wide) and
tweak "none" string to match the joystick button widget.
|
|
Only init the joystick subsystem when we need to call the joystick
API functions, and quit the subsystem when we are finished. This avoids
conflicts with the joystick widgets that quit the subsystem while the
main code relies on it running.
This fixes a bug where trying to calibrate the joystick twice would
fail on the second attempt.
|
|
Move code for configuring joystick axes into a separate widget, and
add axis widgets to the configuration window for all possible movement.
|
|
Add a section that discusses the different ways in which Chocolate
Doom aims for Vanilla compatibility (expanded version of the brief
description in README). Perform some minor rewording of the existing
text and add a reference to the philosophy file in README.
|
|
Add reference to PHILOSOPHY file.
|
|
A negative time division file indicates the MIDI file uses SMPTE time
rather than the normal time system. This is not supported yet, but for
the time being, return a sensible time division value that doesn't
cause the sound to stutter and the game to become unplayable.
This fixes #352, although the affected MIDIs do not yet play properly.
|
|
This is a summary of changes since v2.0.0.
|
|
Fix build with MSVC2008
|
|
|
|
|
|
Fix compilation error with Clang
|
|
hexen: Fix desync of demo1 on some platforms/compilers
|
|
|
|
Multi-track MIDI files are played back using separate callback chains
for each track, and this introduces the possibility of one track
becoming out of sync with the others. This was noticeable in WADs
that use multi-track MIDIs, such as Alien Vendetta. Increase the
timing resolution to microsecond precision to fix this.
|