summaryrefslogtreecommitdiff
path: root/src/hexen/h2_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-30hexen: 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-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-11-06Show package string on Hexen startup, to match other games.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2746
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-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 startup for Hexen, and add netgame startup callback forSimon Howard
the spinal loading screen. Subversion-branch: /branches/v2-branch Subversion-revision: 2585
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-17Rearrange Hexen startup to fix crash when starting a deathmatch game.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2439
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-14Convert Hexen to use common main loop code. Working multiplayer!Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2423
2011-09-24Add -testcontrols to Hexen.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2398
2011-09-05Place Hexen savegames in configdir/savegames/hexen.wad/ rather thanSimon Howard
configdir/hexndata/, to be in line with Doom / Heretic behavior. Subversion-branch: /branches/raven-branch Subversion-revision: 2362
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-04-18Split out WAD command line parsing code into common code shared betweenSimon Howard
games. Subversion-branch: /branches/raven-branch Subversion-revision: 1910
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-10Make Hexen weapon and map keys reconfigurable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1587
2009-06-09Make Hexen menu keys reconfigurable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1585
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-09Recreate Hexen graphical startup in SDL.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1380
2008-11-02Fix up raven-branch copyright notices.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1375
2008-11-02Remove Hexen TIMEBOMB code.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1374
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-10-13Set window title for chocolate-hexen.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1359
2008-10-13Perform necessary shutdown tasks on exit of Hexen.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1357
2008-10-10Set SavePath correctly and create the directory if necessary.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1350
2008-10-09Add mouse grab callback for Hexen.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1347
2008-10-08Save config file at exit and initialise sound (fixes music)Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1344
2008-10-08Replace hexen "shareware" variable with gamemode/gamemission. UseSimon Howard
d_iwad.c code to find the IWAD file. Remove AddWADFile and use the w_wad.c API directly. Subversion-branch: /branches/raven-branch Subversion-revision: 1343
2008-10-08Minor tweaks to get chocolate-hexen to build.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1341
2008-10-08Switch configuration file code to common configuration file code, andSimon Howard
remove old code. Subversion-branch: /branches/raven-branch Subversion-revision: 1338
2008-10-03Add missing UpdateState variable.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1329
2008-10-03Rename Hexen main function to common D_DoomMain function.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1326
2008-10-02Split out high-level sound code from hexen/i_ibm.c and refactor to useSimon Howard
common interface. Subversion-branch: /branches/raven-branch Subversion-revision: 1324
2008-10-01Remove some redundant DOS and NeXT-related code.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1319
2008-10-01Remove some duplicate definitions from h2def.h.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1318
2008-10-01Merge hexen/v_video.c to common.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1314
2008-10-01Use common versions of ticcmd_t and event_t for Hexen code. Remove oldSimon Howard
i_video definitions and use common i_video.c interface. Subversion-branch: /branches/raven-branch Subversion-revision: 1312
2008-10-01Merge Hexen fixed_t and angle definitions to common code, plus byteSimon Howard
swapping macros, bounding box checking, read/write file, screenshot and command line argument code. Update Heretic code to use ANG1_X rather than the new (correct) ANG1 definition. Subversion-branch: /branches/raven-branch Subversion-revision: 1311