summaryrefslogtreecommitdiff
path: root/src/heretic/d_main.c
AgeCommit message (Collapse)Author
2014-04-19Exit with error on startup if using the wrong IWAD.Simon Howard
Having multiple binaries can cause some confusion - some users try to run chocolate-doom with hexen.wad, thinking it is supported. Add a startup check that makes sure the user is not trying to start the game using the wrong IWAD file for the binary being run. This fixes #382.
2014-04-01Replace all snprintf() calls with M_snprintf().Simon Howard
The Windows API has an _snprintf function that is not the same as Unix's snprintf(): if the string is truncated then no trailing NUL character is appended. This makes the function unsafe. Define a replacement/wrapper called M_snprintf that works the same but always appends a trailing NUL, for safety on Windows and other OSes that behave like this. Do the same thing for vsnprintf(), and update HACKING to list snprintf/vsnprintf as forbidden functions. This fixes #375; thanks to Quasar for pointing out the different behavior of these functions.
2014-03-30heretic: Eliminate use of sprintf().Simon Howard
Use snprintf() in place of sprintf(). This is part of fixing #371.
2014-03-30hexen: Make -playdemo cope with paths.Simon Howard
Vanilla Hexen makes you specify the demo name to play by giving the plain lump name, eg. heretic -playdemo mydemo to load mydemo.lmp. It doesn't work if you specify the extension or the full file path. As a convenience and to match the behavior of Chocolate Doom, allow paths and extensions. Also rework the code for other games so that they're slightly more consistent. This fixes #301.
2014-03-30heretic: Make -playdemo cope with paths.Simon Howard
Vanilla Heretic makes you specify the demo name to play by giving the plain lump name, eg. heretic -playdemo mydemo to load mydemo.lmp. It doesn't work if you specify the extension or the full file path. As a convenience and to match the behavior of Chocolate Doom, allow paths and extensions. This fixes half of #301.
2014-03-29heretic: Eliminate use of unsafe string functions.Simon Howard
Eliminate use of strcpy, strcat, strncpy, and use the new safe alternatives.
2014-03-23Rearrange order of SDL sound startup.Simon Howard
Initialize low-level sound startup (calls to I_InitSound) separately from the high-level sound startup (S_Init). In particular, make sure that SDL sound is initialized before the textscreen multiplayer waiting screen is shown. This is an attempt to fix a bug with sound in multiplayer games on Windows; calling SDL_QuitSubSystem(SDL_INIT_VIDEO) (on closedown of the textscreen library) causes subsequent attempts to initialize audio to fail. Big thanks go to Alexandre-Xavier (AXDOOMER) for working out a fix for this bug and James Haley (Quasar) for giving some technical background about the lack of separation between SDL subsystems. This (hopefully) fixes #270.
2013-10-15Remove gamemission variables for Heretic and Hexen and hard-code to theSimon Howard
appropriate values. Subversion-branch: /branches/v2-branch Subversion-revision: 2708
2013-10-12Tweak mouse grab behavior: don't arbitrarily warp the mouse at gameSimon Howard
startup. Subversion-branch: /branches/v2-branch Subversion-revision: 2699
2013-10-08Set window title/icon for Heretic/Hexen startup windows, to match theSimon Howard
main game window. Subversion-branch: /branches/v2-branch Subversion-revision: 2696
2013-09-04Don't show ENDOOM screen when aborting netgame startup (thanks AlexandreSimon Howard
Xavier). Subversion-branch: /branches/v2-branch Subversion-revision: 2635
2013-08-10Add documentation comments for Heretic and Hexen command line arguments.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2611
2013-04-05Use two-stage netgame startup for Heretic.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2584
2011-10-29Enable gcc warning to detect redundant declarations, and clean upSimon Howard
instances of this within the code (thanks Edward-san). Subversion-branch: /branches/v2-branch Subversion-revision: 2468
2011-10-22Fix Heretic and Hexen multiplayer chat.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2455
2011-10-17Always show the Strife intro splash screen in windowed mode, and finishSimon Howard
the splash screen before network startup. Subversion-branch: /branches/v2-branch Subversion-revision: 2435
2011-10-13Convert Heretic code to use common main loop code. Working multiplayer!Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2417
2011-09-24Don't show graphical startup for Heretic, Hexen or Strife when runningSimon Howard
with -testcontrols. Subversion-branch: /branches/v2-branch Subversion-revision: 2399
2011-09-24Add -testcontrols to Heretic.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2396
2011-09-05Store Heretic savegames in the configuration directory, as with DoomSimon Howard
savegames. Subversion-branch: /branches/raven-branch Subversion-revision: 2361
2011-02-24Load response files from main() before calling D_DoomMain, so that allSimon Howard
executables load response files, including the setup tool. Subversion-branch: /branches/raven-branch Subversion-revision: 2276
2010-08-31Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1987
2010-05-03Use dehacked printf functions in Heretic code where appropriate.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1932
2010-04-18Split out WAD command line parsing code into common code shared betweenSimon Howard
games. Subversion-branch: /branches/raven-branch Subversion-revision: 1910
2010-04-18Add WAD merging command line options to Heretic.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1903
2010-02-08Add Heretic implementation of HHE "Text" section, add DEH_String()Simon Howard
around appropriate strings to allow string replacements. Subversion-branch: /branches/raven-branch Subversion-revision: 1867
2010-02-08Call DEH_Init on Heretic startup so that patches will be loaded.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1864
2009-06-13Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1601
2009-06-10Remove setbuf() call from Heretic/Hexen code.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1588
2009-06-09Make Heretic weapon keys reconfigurable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1584
2009-06-09Make Heretic map reconfigurable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1583
2009-06-09Make Heretic menu controls reconfigurable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1582
2009-05-11Fix crash on Heretic startup.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1519
2009-03-09Remove WATCOMC usage (thanks Quasar)Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1453
2009-03-08Fix -cdrom command line parameter to work with Heretic and Hexen;Simon Howard
compiles now work on Windows. Subversion-branch: /branches/raven-branch Subversion-revision: 1452
2008-12-20Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1423
2008-12-03Centralise the list of IWAD files and use bitmasks to select whichSimon Howard
mission types are valid. Subversion-branch: /branches/raven-branch Subversion-revision: 1405
2008-11-21Move setup/ into src/ and merge with main codebase. Remove duplicatedSimon Howard
code. Split out I_Endoom to separate i_endoom.c file. Subversion-branch: /branches/raven-branch Subversion-revision: 1384
2008-11-08Recreate Heretic startup progress bar using textscreen library.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1379
2008-11-02Fix up raven-branch copyright notices.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1375
2008-10-30Factor out Heretic and Hexen versions of m_misc.c. Make -file forSimon Howard
Heretic and Hexen use WAD path lookup. Subversion-branch: /branches/raven-branch Subversion-revision: 1368
2008-09-30Move d_iwad.c into common code and update Heretic to use it on startupSimon Howard
to locate the IWAD file. Subversion-branch: /branches/raven-branch Subversion-revision: 1308
2008-09-28Tidy up heretic start up messages.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1301
2008-09-27Split out startup banner code into common code; display copyright noticeSimon Howard
in Heretic. Subversion-branch: /branches/raven-branch Subversion-revision: 1295
2008-09-27Save Heretic configuration files on exit.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1294
2008-09-27Swap retail/registered version title bar descriptions.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1293
2008-09-27Set the title bar in Heretic.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1292
2008-09-25Remove ExtendedWAD variable; use gamemode == retail.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1286
2008-09-25Make ENDOOM screen work on Heretic.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1284
2008-09-25Add mouse grab callback for Heretic.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1282