summaryrefslogtreecommitdiff
path: root/src/strife/d_main.c
AgeCommit message (Collapse)Author
2015-03-26Add a wrapper with "void (void)" signature around G_CheckDemoStatusFabian Greffrath
This is meant to be passed over to I_AtExit() which expects an argument of void type. It thus prevents undefined behaviour because of the different signature of G_CheckDemoStatus() which is of boolean type. Fixes #519
2015-02-20Refactor config file API.Simon Howard
The config file API previously relied on binding config variables using M_BindVariable() which took a void pointer. It occurred to me that if used on a boolean variable, this would be erroneous, but the void pointer would make it impossible to tell. Split this into separate M_Bind{Foo}Variable() functions based on type, which allows for proper type checking on the pointers that are passed. Vaguely related to #509.
2014-10-27Missed change for startskill initJames Haley
Resolves #433
2014-10-18Fix dehacked patch loading order.Simon Howard
The order in which we load dehacked patches is important. Change the order so that IWAD dehacked patches are loaded before any others, and so if, for example, we're playing with Freedoom, the Freedoom string replacements can be overridden by those from extra mods we're playing with. As part of this, ditch DEH_Init() and use DEH_ParseCommandLine() instead to handle the -deh option. Remove the DEH_Init() message from startup and show messages about dehacked patches that we load with the WAD files that we load.
2014-08-16Fix finding of voices.wad when -iwad is only hintJames Haley
Somebody broke this by using sizeof() on a malloc'd char *
2014-05-05Clean up file headers.Simon Howard
This change rewrites and simplifies the copyright headers at the top of all source files: * Remove "Emacs style mode select" line; this line was included in the headers for the originally released source files and appears to be to set the file type for old versions of Emacs. I'm not sure entirely why it was required but I don't think it is any more. * Remove "You should have received a copy of..." text from copyright header. This refers to the old 59 Temple Place address where the FSF headquarters used to be located and is no longer correct. Rather than change to the new address, just remove the paragraph as it is superfluous anyway. This fixes #311. * Remove ---- separator lines so that the file headers are barer and more simplified.
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-30strife: 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-29strife: Eliminate use of unsafe string functions.Simon Howard
Eliminate use of strcpy, strcat, strncpy, and use the new safe alternatives.
2014-03-25Set GUS patch path variable using D_SetVariable.Simon Howard
commit 42faefce1fd03 added code to set the GUS patch path automatically when the BFG Edition is installed, but this caused problems because gusconf.c is not included as part of the build for the setup tool. Use D_SetVariable() instead which accomplishes the same thing without a hard dependency.
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-08Don't grab the mouse at the Strife startup screen.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2697
2013-09-19Change to using V_DrawFilledBox to clear the intro screen instead ofJames Haley
loading and drawing PANEL0. Subversion-branch: /branches/v2-branch Subversion-revision: 2664
2013-09-16Support for the -random parameter. Needs netcode support (passing theJames Haley
ball to fraggle). Subversion-branch: /branches/v2-branch Subversion-revision: 2657
2013-09-15Hopefully complete implementation of player names and Strife player chatJames Haley
features, which work differently than they did in DOOM. If working properly, then this fully completes Chocolate Strife, aside from any presently unknown issues. Subversion-branch: /branches/v2-branch Subversion-revision: 2646
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-10Fix Strife documentation comments. Remove -episode which does not existSimon Howard
in Vanilla Strife. Subversion-branch: /branches/v2-branch Subversion-revision: 2613
2013-08-10Tweak Strife documentation comments.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2612
2013-04-05Use two-stage netgame startup for Strife, and restore the previousSimon Howard
startup splash-screen behavior (before it was modified in r2435). Subversion-branch: /branches/v2-branch Subversion-revision: 2586
2013-03-24Initial docgen changes to generate manpages for Heretic, Hexen, Strife.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2568
2013-03-02Complete support for v1.31 behaviors in addition to v1.2, including theJames Haley
ability to save on multiple save slots. Subversion-branch: /branches/v2-branch Subversion-revision: 2561
2012-02-14Fix save game directory behavior under Windows.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2504
2012-02-10Addiional words on the INTRO-FIXME comments.James Haley
Subversion-branch: /branches/v2-branch Subversion-revision: 2502
2012-02-10While I'm screwing with intro related stuff, I may as well replace theJames Haley
S_SetSfxVolume hack with a more appropriate fix. Subversion-branch: /branches/v2-branch Subversion-revision: 2501
2012-02-10Added INTRO-FIXME tags to borked-up intro code.James Haley
Subversion-branch: /branches/v2-branch Subversion-revision: 2500
2012-02-09Two Strife bugs knocked out:James Haley
* R_ExecuteSetViewSize must use centery, not viewheight, or you get to see a nice infinite horizon if you resize the screen while looking at the floor or ceiling. * Finally fixed status bar flickering problem when resizing the screen - Rogue reordered some code in D_Display - HUD and ST_DrawExternal are done *after* the border redraws. Subversion-branch: /branches/v2-branch Subversion-revision: 2496
2011-10-30Fix previous change - Strife games are not always -altdeath; the defaultSimon Howard
is -deathmatch and -altdeath enables Deathmatch II mode. Subversion-branch: /branches/v2-branch Subversion-revision: 2471
2011-10-29Update Strife multiplayer behavior to always use altdeath mode inSimon Howard
netgames, and remove code for -deathmatch parameter. Update setup tool to remove game type dropdown when setting up a Strife game. Subversion-branch: /branches/v2-branch Subversion-revision: 2470
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-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-13Add temporary hack to fix Strife multiplayer startup when the introSimon Howard
screen is enabled. Subversion-branch: /branches/v2-branch Subversion-revision: 2421
2011-10-13Update Strife main loop code to use d_loop.c common main loop code.Simon Howard
Working multiplayer! Subversion-branch: /branches/v2-branch Subversion-revision: 2416
2011-10-10Re-enable FEATURE_MULTIPLAYER, but #undef it in the Strife code so theSimon Howard
build isn't broken. Subversion-branch: /branches/v2-branch Subversion-revision: 2411
2011-09-26Add graphical_startup option for Strife (to match Heretic/Hexen).Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2408
2011-09-25Temporary hack to avoid needing an Excedrin.James Haley
Subversion-branch: /branches/v2-branch Subversion-revision: 2403
2011-09-24Start -testcontrols for Strife on level 3 (rebel base).Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2401
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-24Rework Strife -testcontrols code to use common code.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2397
2011-09-19The current Chocolate Strife code emulates v1.2, not 1.31. 1.31 supportJames Haley
is still a TODO and cannot be pursued without resolution of the keybinding issue for the menu system. Subversion-branch: /branches/v2-branch Subversion-revision: 2386
2011-09-18Fix a minor annoyance with Strife startup - we are *not* emulating theSimon Howard
"Final Doom" executable. -gameversion processing code remains in case support for other Strife versions is desired in the future. Strip out some redundant gameversion / chex stuff as well. Subversion-branch: /branches/v2-branch Subversion-revision: 2385
2011-06-29Added support for -work and -flip command-line parameters. -randomJames Haley
cannot be supported yet because it requires addition to the list of transmitted variables during network game initialization (TODO!) Subversion-branch: /branches/strife-branch Subversion-revision: 2351
2011-03-06Fix up config file variables to match Vanilla.Simon Howard
Subversion-branch: /branches/strife-branch Subversion-revision: 2295
2011-03-06Merge from raven-branch.Simon Howard
Subversion-branch: /branches/strife-branch Subversion-revision: 2293
2011-03-02Fixed automap background color, size of plrkilledmsg buffer, a bug whichJames Haley
caused the scanner to never be depleted from the inventory, and emulation of seemingly inconsequential undefined behavior in P_XYMovement via use of negative numspechit is currently addressed by changing the branch condition to > 0. Subversion-branch: /branches/strife-branch Subversion-revision: 2286
2011-02-20Removed ability to disable messages, and replaced with configurationJames Haley
variable to control dialogue text messages, as in vanilla. Also, absence of voices.wad, or use of the -novoices parameter, will now properly both disable voices AND enable dialogue text. Subversion-branch: /branches/strife-branch Subversion-revision: 2268
2011-02-12Merge from raven-branch. FEATURE_MULTIPLAYER has been disabledSimon Howard
temporarily until the netgame changes on raven-branch are finished. Subversion-branch: /branches/strife-branch Subversion-revision: 2259
2011-02-12Savegame code complete, hubs functional. Chocolate Strife is playable!James Haley
Subversion-branch: /branches/strife-branch Subversion-revision: 2255
2011-02-11Don't crash in D_IntroBackground when using -nograph.James Haley
Subversion-branch: /branches/strife-branch Subversion-revision: 2254