summaryrefslogtreecommitdiff
path: root/src/strife/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-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
2011-02-11Finished routines in m_saves.c. Added M_CreateSaveDirs to makeJames Haley
directories under the standard choco savegamedir for each Strife saveslot. Subversion-branch: /branches/strife-branch Subversion-revision: 2253
2011-02-10Restarted work on hub save code. Brought in multiple filepath handlingJames Haley
routines from Eternity. Subversion-branch: /branches/strife-branch Subversion-revision: 2252
2011-02-07Added graphical intro loading screen, and -nograph parameter whichJames Haley
disables it. Made most D_DoomMain messages dependent on -devparm. wipegamestate should start == 1, which is currently GS_UNKNOWN. Changed -wart behavior. Verified *no* changes in Strife to p_sight.c. Subversion-branch: /branches/strife-branch Subversion-revision: 2251
2011-02-06Numerous fixes/adjustments: removed bodyque, restored "is turbo" (foundJames Haley
it in there after all), removed some dead code in p_dialog, added a 'default: break;' case in EV_VerticalDoor, initialize player_t::allegiance in P_SetupLevel, minor changes to EV_Teleport, 2nd-pass verification for p_tick, and big fixes in p_user.c including noclip cheat, viewz clipping against floor, air control thrust amount, and missing/incorrect else's. Subversion-branch: /branches/strife-branch Subversion-revision: 2250
2010-10-03Eliminated the rest of the notion of an episode, added proper skyJames Haley
setting, and other misc code in g_game. Also started *trying* to add new savegame code in g_game, but this is a just about a lost cause without any portable filepath handling support from the engine. Subversion-branch: /branches/strife-branch Subversion-revision: 2152
2010-09-29Significant work on savegames.James Haley
Subversion-branch: /branches/strife-branch Subversion-revision: 2150