Commit Graph

273 Commits

Author SHA1 Message Date
Christoph Oelckers 893455ef61 - sync source with latest GZDoom:
Includes:
- Made the move tried from checking missile spawns ignore drop off height. This solves the Voodoo Gun ghostly civilian issue.
- Fixed: the NOTELEPORT flag is removed from Dehacked missiles which lose the MISSILE flag. This caused problems with certain special effects based on dehacked spawn cubes.
- Fixed: all Boom silent teleporters preserve relative height.
- support for palette independent particle colors if the renderer can handle them.


SVN r3329 (trunk)
2011-12-06 08:36:28 +00:00
Randy Heit 5284ab9688 - Do nothing in D_DoAdvanceDemo if gameaction is not ga_nothing.
SVN r3326 (trunk)
2011-12-06 01:50:38 +00:00
Randy Heit e121bd7d92 - Added compat_badangles to simulate Doom's incorrect sine table: Player
spawning and teleporting will be offset by one fineangle so they cannot
  face directly in one of the cardinal directions.



SVN r3308 (trunk)
2011-11-01 02:58:52 +00:00
Christoph Oelckers 080e769c76 - removed all asserts from the interpolation objects' Destroy methods. The condition will not be true after a failed savegame write occured.
- fixed: D_ErrorCleanup must clear 'savegamerestore'.
- fixed: Cleaning up when loading a savegame failed while restoring the thinker list did not work. There were two issues:
  * removed the asserts in GC::SweepList because they get triggered by thinkers that were not fully initialized during loading.
  * AActor::UnlinkFromWorld may not assume that the sector list has been initialized when this function is called. 

SVN r3274 (trunk)
2011-07-15 13:26:36 +00:00
Christoph Oelckers ba661308d4 - added GZDoom's option not to count monsters in E1M8-style end of level sectors, but controlled by a dmflag.
SVN r3267 (trunk)
2011-07-07 21:55:55 +00:00
Christoph Oelckers 4ef68ded5d - fixed some leftover references to the software renderer.
SVN r3264 (trunk)
2011-07-07 19:53:42 +00:00
Christoph Oelckers 5bfcaab25c - separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines.
SVN r3263 (trunk)
2011-07-07 15:37:47 +00:00
Christoph Oelckers 5bf6398d85 - moved render style and border drawing code out of r_draw.cpp.
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Randy Heit 29e486495b - Fixed: The sign in Eternall.wad, map25 on line 2236 rendered at the wrong height because Doom
ignored the Y locations of patches drawn on two-sided midtextures and always drew them at the
  top of the texture. Added a compatibility flag.

SVN r3205 (trunk)
2011-05-13 03:29:48 +00:00
Randy Heit 571210fe56 - Apply 3dfix2 and 3dfix3 (by hand, again).
SVN r3191 (trunk)
2011-04-29 03:50:33 +00:00
Randy Heit dc1f5f0220 - Add more information when trying to load old savegames.
- When loading a game from the menu, do not hide the fullscreen console until we know we can
  load the save. Otherwise, the gamestate goes invalid if the save is no good.

SVN r3187 (trunk)
2011-04-17 17:27:31 +00:00
Christoph Oelckers 4eaa7b1aaf - fixed: The shareware -file check wasn't working anymore.
SVN r3156 (trunk)
2011-02-20 08:27:48 +00:00
Christoph Oelckers 19b8e15af4 - added APROP_Dormant actor property for ACS (read only!)
- fixed_ When performing a restart menus and intermissions need to be closed first.


SVN r3048 (trunk)
2010-12-16 08:05:00 +00:00
Christoph Oelckers e33d1a989f - set all 'num' variables to 0 in P_FreeLevelData so that any code using them won't try to read the deleted map data.
SVN r3044 (trunk)
2010-12-15 23:10:08 +00:00
Christoph Oelckers 419a998bdf - warning removal
SVN r3043 (trunk)
2010-12-15 18:57:39 +00:00
Christoph Oelckers b42952b85c - added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
SVN r3042 (trunk)
2010-12-15 11:45:39 +00:00
Christoph Oelckers 770a879f6a - fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

SVN r3039 (trunk)
2010-12-15 00:09:31 +00:00
Christoph Oelckers f0f17e531c - move static AM color initialization into the AM_StaticInit function.
- move D_LoadWadSettings to keysections.cpp.
- made some more data reloadable.
- data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)


SVN r3036 (trunk)
2010-12-14 00:50:02 +00:00
Christoph Oelckers 99b5fe29f7 - cleaned up D_DoomMain a little. It's still far too large though.
- added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- added 'clearaliases' CCMD.


SVN r3033 (trunk)
2010-12-12 23:52:00 +00:00
Christoph Oelckers 572bc4620a - changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.


SVN r3031 (trunk)
2010-12-12 17:54:10 +00:00
Christoph Oelckers 6309d90be0 - moved texture counting code into FTextureManager.
- moved all code and data for Build tile management into FTextureManager.
- moved texture animation management into FTextureManager.
- changed: Animate textures only once per frame, not per view. Otherwise with animations that have sub-frame accuracy camera textures of the same area can show different animation frames if the frame changes falls between the rendering of the different views.


SVN r3026 (trunk)
2010-12-11 12:00:40 +00:00
Christoph Oelckers c9adcb0f47 - fixed: The GAMEINFO parser did not correctly handle NOSPRITERENAME
- added STTPRCNT to HUDFONT_DOOM

SVN r2961 (trunk)
2010-10-23 22:33:39 +00:00
Christoph Oelckers 8ebb555343 - fixed: Detection of MAP01 presence was wrong.
SVN r2950 (trunk)
2010-10-16 22:40:27 +00:00
Christoph Oelckers 0bde8591ee - forgot to handle GI_MAPxx flag.
SVN r2944 (trunk)
2010-10-15 15:40:16 +00:00
Christoph Oelckers eded2ef345 - Each IWAD can now define its own config section. Hacx, Harmony and Action Doom2 now do that.
- moved IWAD identification data into a lump in zdoom.pk3.
- rewrote IWAD checking code 

SVN r2943 (trunk)
2010-10-15 15:13:53 +00:00
Christoph Oelckers 352a926ddf - made all references to the GameNames array an inline function call to allow easier modification later
- changed all parsers that check for the current game to use the same function for the game check.
- fixed: The TEAMINFO parser handled 'game Any' incorrectly.


SVN r2934 (trunk)
2010-10-12 07:14:31 +00:00
Christoph Oelckers d9970ab9b6 - merged finale branch back into trunk.
SVN r2911 (trunk)
2010-10-06 10:44:03 +00:00
Christoph Oelckers 9abaaa1785 - added a default cursor for Chex Quest.
- set 'cursor' as default for Action Doom 2. Doom's bunny is probably not the best thing here...
- made cursor user-settable in the menu.



SVN r2855 (trunk)
2010-09-26 07:46:34 +00:00
Randy Heit 17f9e687bd - Added cursorpic gameinfo property to set the mouse cursor image.
SVN r2852 (trunk)
2010-09-26 05:31:52 +00:00
Christoph Oelckers 3f420c97bd - allow setting the startup screen's title through GAMEINFO lump.
SVN r2850 (trunk)
2010-09-24 14:27:52 +00:00
Christoph Oelckers 74525ab1d6 - moved some info into the GAMEINFO section:
* the sprite used for 'pause'.
 * the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
 * the decision to make monsters run faster in nightmare mode.
- moved the hard coded lock messages for lock types 102 and 103 into the language lump.
- fixed: Raven's fast monsters could become slower in Nightmare if they had very short walking states.


SVN r2834 (trunk)
2010-09-19 10:39:34 +00:00
Christoph Oelckers 54bdf38fef - resurrected some old statistics code I had and made some minor enhancements to be of more use.
SVN r2821 (trunk)
2010-09-18 16:08:10 +00:00
Christoph Oelckers 579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Christoph Oelckers 387bfc0260 - added 'nospriterename' key to GAMEINFO lump so that PWADs have a means to disable this feature without having to specify a command line switch.
SVN r2623 (trunk)
2010-08-28 17:19:48 +00:00
Christoph Oelckers 9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers 66f6115c86 - added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.
SVN r2543 (trunk)
2010-08-15 10:02:10 +00:00
Randy Heit 30ffe1d4b8 - Maybe enable assembly on Intel Macs?
SVN r2527 (trunk)
2010-08-13 03:14:05 +00:00
Christoph Oelckers 6df5e6f9cb - added Gez's anti-crossinclude submission but made some changes. Cross-includes overriding core files will produce fatal errors but cross-includes between PWADs will be tolerated. For DECORATE a command line override switch exists so that for testing the error can be disabled.
SVN r2400 (trunk)
2010-07-01 09:35:39 +00:00
Christoph Oelckers b8db84b6bc - added a new dmflag to allow killing all monsters spawned by a boss brain's cubes after killing the brain (for those who like clean level statistics.)
SVN r2385 (trunk)
2010-06-20 17:57:32 +00:00
Christoph Oelckers bdd2ebfe14 - added a new dmflag for allowing switching to weapons without ammo.
SVN r2346 (trunk)
2010-05-30 07:47:08 +00:00
Christoph Oelckers 042e913022 - added Boom's fix for finding the highest neighboring light level per sector (compatibility optioned by COMPATF_LIGHT.)
SVN r2343 (trunk)
2010-05-29 07:07:39 +00:00
Christoph Oelckers 8f881be0fb - added a Boom (strict) compatibility mode.
- Restored some original Doom behavior that received complaints from users:
* reactivated the old sliding against diagonal walls code and compatibility optioned it with COMPATF_WALLRUN.
* re-added the original hitscan checking code using a cross-section of the actor instead of the bounding box, compatibility optioned with COMPATF_HITSCAN.


SVN r2340 (trunk)
2010-05-28 11:15:05 +00:00
Randy Heit 61d2a808d7 - Response file improvements:
* Fixed: Trying to use a response file would result in infinite looping until memory was
    exhausted.
  * Fixed: Response files were read after coalescing file parameters, which would lead to
    non-coalesced parameters if the original command line and response file both had them.
  * You can now use more than one response file.
  * Response files can include other response files.

SVN r2334 (trunk)
2010-05-25 02:30:05 +00:00
Christoph Oelckers c4efbeb515 - fixed: Both Boom and MBF compatibility mode need COMPATF_MISSILECLIP set.
SVN r2331 (trunk)
2010-05-14 20:27:57 +00:00
Christoph Oelckers 1b0756e170 - added a am_showalllines cheat CVAR as countermeasure for maps that intentionally disable the full automap.
SVN r2307 (trunk)
2010-05-01 17:29:25 +00:00
Randy Heit 69c777df4c - Allow defaultenvironment to take names as well as numeric IDs.
SVN r2262 (trunk)
2010-03-31 23:33:18 +00:00
Randy Heit 7f96531dc0 - Use I_FPSTime() instead of I_MSTime() to drive R_UpdateAnimations().
SVN r2253 (trunk)
2010-03-28 04:04:44 +00:00
Randy Heit e83a9a2a00 - Use normal texture animation for the main menu cursors. This required updating animations
all the time and not just when inside a level.

SVN r2248 (trunk)
2010-03-27 03:30:02 +00:00
Christoph Oelckers a2cfbec3cf - added a CrushPainSound actor property for Strife.
- fixed memory leaks in SBARINFO and WAD loading code.
- added GetBloodColor and GetBloodType inline functions to AActor to wrap the GetMeta calls used for this.


SVN r2234 (trunk)
2010-03-21 08:09:45 +00:00
Randy Heit dfde55d249 - Everything on the command line before the first switch with an unrecognized switch is
now added to -file. This was previously restricted to only .wad, .zip, .pk3, and .txt.
- You can now pass -file/-deh/-bex more than once on the command line, and they will all
  have effect.

SVN r2184 (trunk)
2010-03-03 04:29:40 +00:00
Randy Heit 5da2885d88 - Changed DArgs to use a TArray of FStrings instead of doing its own string vector management
in preparation for doing GatherFiles the "right" way.

SVN r2183 (trunk)
2010-03-02 04:51:16 +00:00
Randy Heit 71b75f0d7a - Consolidated all conversation reply handling into a single function executed on all
machines, so when an NPC need to show the "enough" response, it has enough
  information available to do so.
- Some new Strife Teaser fixes I forgot to commit are in here.
- Moved norawinput check into FindRawInputFunctions().


SVN r2120 (trunk)
2010-01-22 05:17:57 +00:00
Christoph Oelckers 6b5089e53f - reverted r2089 because it didn't do what it was supposed to.
SVN r2091 (trunk)
2010-01-03 00:13:37 +00:00
Christoph Oelckers 1c2cc7bd3a - fixed: The GAMEINFO parser needs to use C mode.
SVN r2089 (trunk)
2010-01-02 23:37:43 +00:00
Christoph Oelckers 54283ee231 - unquoted strings should still work for GAMEINFO...
SVN r2074 (trunk)
2010-01-01 18:02:30 +00:00
Christoph Oelckers 90ea0c3f6f - added initial support for a GAMEINFO lump in PWADs. When the game is started
all files loaded with '-file' are scanned for this lump. This lump is read
  before any WAD initialization takes place, in particular the IWAD is not yet
  loaded at this time. This allows PWADs the option to specify an IWAD they 
  want to run with and optionally autoload external resource WADs.
- Fixed a few places where FixPathSeperator was called with a locked FString buffer.
  It's better to use the FString version of this function instead.


SVN r2073 (trunk)
2010-01-01 15:31:00 +00:00
Christoph Oelckers 370eff9014 - replaced wadlist_t with an array of FStrings and added a list parameter to
everything that eventually calls D_AddFile. Also create the list of files
  loaded on the command line separately to allow further checks on them.


SVN r2072 (trunk)
2010-01-01 12:40:47 +00:00
Christoph Oelckers 51e158d7dc - added all known maps requiring inverted sprite sorting to compatibility.txt.
- added compatibility option to invert sprite sorting. Apparently Doom.exe
  originally sorted them differently than most source port and on some maps
  which depends on this it doesn't look right (e.g. Strain MAP13)


SVN r2031 (trunk)
2009-12-18 08:19:34 +00:00
Randy Heit 20e265f8fb - Fixed: You should still be able to pick up ammo that has a max amount set at 0.
- Added a few NULL screen checks.


SVN r2019 (trunk)
2009-12-11 06:20:35 +00:00
Christoph Oelckers 3a198a29dc - fixed: fullscreen images with texture scaling used the unscaled size for
positioning. To avoid future problems with them I added a new DTA_Fullscreen
  option for DrawTexture.


SVN r1983 (trunk)
2009-11-15 14:33:35 +00:00
Randy Heit f09420fce7 - Modified the event-driven ticks to use the same code for calculating the
time as the polled timer so that the timer does not start running until the
  first time it is used.
- Removed the srand() call from D_DoomMain(), because it started the game
  timer running prematurely, and we never call rand() anywhere. (Not to
  mention, even if we did use rand(), always seeding it with 0 is rather
  pointless.)


SVN r1974 (trunk)
2009-11-12 03:45:51 +00:00
Randy Heit 7b7973c6a7 - Fixed: The framerate was not capped before starting a game.
SVN r1973 (trunk)
2009-11-12 03:14:10 +00:00
Randy Heit 30b21b2eea - Removed the one embedded DeHackEd lump restriction.
SVN r1972 (trunk)
2009-11-12 02:47:28 +00:00
Randy Heit f1738b0e03 - Added a command line option -warpwipe to perform the screen wipe if you
start with -warp or +map.


SVN r1960 (trunk)
2009-11-04 01:24:00 +00:00
Christoph Oelckers d51c0c047d - Changed call to R_DrawRemainingPlayerSprites into a virtual function
of DFrameBuffer because its implementation is specific to the software
  renderer and needs to be overridable.

SVN r1859 (trunk)
2009-09-20 06:23:10 +00:00
Randy Heit b8eb530a0d - Fixed: Wall drawing handled fixed light levels improperly (but did not
completely ignore them, either).
- Separated light level fixing out of player_t's fixedcolormap parameter.
  Using a fixed light level (e.g. PowerTorch) will no longer wipe out
  colored lighting.
- Moved the blending rectangle drawing into a separate discrete stage, since
  doing it while copying the 3D view window to the display now blends
  underneath the weapon instead of on top of it.
- Consolidated the special colormaps into a single 2D table.
- Tweaked the special colormaps slightly to make the true color results more
  closely match the paletted approximations.
- fb_d3d9_shaders.h was getting unwieldy, so I moved the shaders out of the
  executable and into zdoom.pk3. Shaders are still precompiled so I don't need
  to pull in a dependancy on D3DX.
- Added a few more shaders to accomodate drawing weapons with all the in-game
  lighting models. These are accessed with the new DrawTexture tags
  DTA_SpecialColormap and DTA_ColormapStyle.
- Player weapon sprites are now drawn using Direct3D and receive all the
  benefits thereof.


SVN r1858 (trunk)
2009-09-20 03:50:05 +00:00
Christoph Oelckers 4a057c1fdc - Added Gez's cleanup patch for MBF support but undid the deletion of the MF6_JUMPDOWN flag which will be implemented later.
SVN r1827 (trunk)
2009-09-14 23:50:21 +00:00
Christoph Oelckers 158fce1123 - Why wasn't this stuff committed before?
SVN r1826 (trunk)
2009-09-14 23:30:53 +00:00
Christoph Oelckers afab7855c4 - removed the COMPATF_MBFDEHACKED flag because it wouldn't work and is more or less useless anyway.
The range checks this protected against can be safely omitted now that the misc fields are large enough.
- added MBF Dehacked emulation.

SVN r1824 (trunk)
2009-09-14 22:12:31 +00:00
Christoph Oelckers ea8c94d637 - Fixed: Argument count for UsePuzzleItem was wrong.
- Added more things from Gez's experimental build:
  * MBF grenade and bouncing code.
  * Arch Vile ghosts emulation (only for compatibility.txt.)
  * Several MBF related compatibility options.



SVN r1821 (trunk)
2009-09-14 20:47:53 +00:00
Randy Heit 66920536d9 - Look for files in Mac-like places on Macs.
- Fixed: The non-Windows CreatePath can fail if part of the path already
  exists, because mkdir will return an error code for trying to recreate
  an existing directory.



SVN r1814 (trunk)
2009-09-09 17:12:47 +00:00
Christoph Oelckers 57a2e0ab73 - moved definition of games' default armor icons into gameinfo definition.
SVN r1806 (trunk)
2009-09-07 19:46:54 +00:00
Randy Heit c24c31cc9f - Added directory detection to the -file parameter. This obsoletes -dir, so
that parameter is now gone.
- Removed automatic ".wad" appending from FWadCollection::InitMultipleFiles()
  since it isn't needed and prevented files without extensions from being
  loaded. D_AddFile() already takes care of adding the extension if the
  name as-given does not exist.
- Fixed: Loading single files did not print a newline in the startup text.


SVN r1784 (trunk)
2009-09-02 03:47:48 +00:00
Christoph Oelckers a5ec361715 - Fixed: The pause sprite was not centered correctly when it was a scaled
graphic.


SVN r1769 (trunk)
2009-08-11 20:40:09 +00:00
Randy Heit 732a44b338 - Fixed: M_QuitResponse() tried to play a sound even when none was specified
in the gameinfo.
- Added Yes/No selections for Y/N messages so that you can answer them
  entirely with a joystick.
- Fixed: Starting the menu at the title screen with a key other than Escape
  left the top level menu out of the menu stack.
- Changed the save menu so that cancelling input of a new save name only
  deactivates that control and does not completely close the menus.
- Fixed "any key" messages to override input to menus hidden beneath them and
  to work with joysticks.
- Removed the input parameter from M_StartMessage and the corresponding
  messageNeedsInput global, because it was redundant. Any messages that want
  a Y/N response also supply a callback, and messages that don't care which
  key you press don't supply a callback.
- Changed MKEY_Back so that it cancels out of text entry fields before
  backing to the previous menu, which it already did for the keyboard.
- Changed the menu responder so that key downs always produce results,
  regardless of whether or not an equivalent key is already down.


SVN r1753 (trunk)
2009-08-07 03:30:51 +00:00
Christoph Oelckers 356e4a0fcc - Added A_Mushroom compatibility option for Dehacked.
- Added Gez's submission for interhubamount DECORATE property.


SVN r1747 (trunk)
2009-08-02 15:54:34 +00:00
Randy Heit f74f6a1659 - Split the joystick menu into two parts: A top level with general options
and a list of all attached controllers, and a second level for configuring
  an individual controller.
- Fixed: Pressing Up at the top of a menu with more lines than fit on screen
  would find an incorrect bottom position if the menu had a custom top height.
- Added the cvars joy_dinput, joy_ps2raw, and joy_xinput to enable/disable
  specific game controller input systems independant of each other.
- Device change broadcasts are now sent to the Doom event queue, so
  device scanning can be handled in one common place.
- Added a fast version of IsXInputDevice that uses the Raw Input device
  list, because querying WMI for this information is painfully slow.
- Added support for compiling with FMOD Ex 4.26+ and running the game
  with an older DLL. This combination will now produce sound.


SVN r1717 (trunk)
2009-07-15 05:53:06 +00:00
Randy Heit fe19767ac2 - Added A_SetCrosshair.
SVN r1700 (trunk)
2009-07-01 02:00:36 +00:00
Christoph Oelckers 3ab370b6ee - added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its
  feet clipped.
- added vid_vsync to display options.
- fixed: Animations of type 'Range' must be disabled if the textures don't
  come from the same definition unit (i.e both containing file and use type
  are identical.)
- changed: Item pushing is now only done once per P_XYMovement call.
- Increased the push factor of Heretic's pod to 0.5 so that its behavior
  more closely matches the original which depended on several bugs in the engine.
- Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation
  to use floats to prevent overflows. The prevention of the overflows was the
  only reason the clamping was done.
- Added Raven's dagger-like vector sprite for the player to the automap code.


SVN r1668 (trunk)
2009-06-14 13:47:38 +00:00
Christoph Oelckers a1aba60d8d - Added Hirogen2's unlimited pickup patch.
- Added railgun performance customization CVARs by Spleen.
- Added aspect ratio override submission by SoulPriestess.



SVN r1643 (trunk)
2009-06-06 15:21:57 +00:00
Christoph Oelckers 627838f379 - Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
  set because it used atoi to convert the string into a number.

SVN r1624 (trunk)
2009-05-31 10:49:47 +00:00
Randy Heit e637fe3ea7 - Recoverable errors that are caught during the demo loop no longer shut off
the menu.


SVN r1609 (trunk)
2009-05-26 01:56:35 +00:00
Christoph Oelckers 0d1d15eba8 - Added more compatibility settings, submitted by Gez.
SVN r1569 (trunk)
2009-05-03 07:19:21 +00:00
Randy Heit dcedad548b - Changing screen resolution now adjusts the automap scale to be constant
relative to screen resolution.


SVN r1549 (trunk)
2009-04-16 03:02:08 +00:00
Christoph Oelckers 9040710e62 - Updated UDMF spec to 1.1.
- Added -noautoload option.
- Added default Raven automap colors set. Needs to be tested because I can't
  compare against the DOS version myself.
- Extened A_PlaySound and A_StopSound to be able to set all parameters of the
  internal sound code.



SVN r1544 (trunk)
2009-04-14 09:06:03 +00:00
Randy Heit 7371c4a516 - Changed random seed initialization so that it uses the system's
cryptographically secure random number generator, if available, instead
  of the current time.
- Changed the random number generator from Lee Killough's algorithm to the
  SFMT607 variant of the Mersenne Twister.

SVN r1507 (trunk)
2009-03-27 04:49:17 +00:00
Christoph Oelckers 505031fa5a - removed gamemission variable because it wasn't used anywhere.
- removed gamemode variable. All it was used for were some checks that
  really should depend on GI_MAPxx.
- Externalized all internal gameinfo definitions.
- added include to MAPINFO parser.
- split IWAD detection code off from d_main.cpp into its own file.
- disabled gamemission based switch filtering because it is not useful.
- added GAMEINFO submission by Blzut3 with significant modifications. There
  is no GAMEINFO lump. Instead all information is placed in MAPINFO, except
  the data that is needed to decide which WADs to autoload.


SVN r1497 (trunk)
2009-03-22 11:37:56 +00:00
Christoph Oelckers 81f834e3f4 - fixed: The WAD manager's hash chains could not handle more than 65535 lumps.
- Reinitializing the WAD manager will now delete all data.
- Preparation for GAMEINFO: zdoom.pk3 will be opened separately before checking the IWAD
  so that the internal GAMEINFOs can be externalized, too.


SVN r1494 (trunk)
2009-03-21 09:03:08 +00:00
Randy Heit c2aab5dd46 - Added the -norun parameter to quit the game just before video
initialization. To be used to check for errors in scripts without actually
  running the game.
- Added the -stdout parameter to the Windows version to send all output to
  a console, like the Linux version has done all along.


SVN r1486 (trunk)
2009-03-18 05:02:32 +00:00
Randy Heit 8724b45e15 - Changed Linux default for fullscreen to false.
- Removed CVAR_SERVERINFO flag from compatmode. Since it writes to
  compatflags, that should be enough. Having that flag set for both of
  them leads to problems with e.g. loading a savegame, where compatflags is
  restored, then compatmode is restored and it completely undoes whatever
  compatflags was restored to.
- Fixed: Trying to start a map for some single file that isn't really a map
  caused a crash.


SVN r1478 (trunk)
2009-03-15 01:41:53 +00:00
Christoph Oelckers e57ff454f2 - Added Hirogen2's patch for unlimited ammo CVAR.
SVN r1464 (trunk)
2009-03-06 22:58:34 +00:00
Randy Heit c2b4522b8f - Changed DEM_ADDSLOTDEFAULT, DEM_ADDSLOT, and DEM_SETSLOT to be more space-
efficient.


SVN r1445 (trunk)
2009-02-24 05:58:59 +00:00
Randy Heit a7e40b56f6 - Fixed: Player names and chat macros that end with incomplete \c escapes now
have those escapes stripped before printing so that they do not merge with
  subsequent text.
- Moved default weapon slot assignments into the player classes.
  Weapon.SlotNumber is now used solely for mods that want to add new weapons
  without completely redoing the player's arsenal. Restored some config-based
  weapon slot customization, though slots are no longer automatically saved
  to the config and section names have changed slightly. However, unlike
  before, config slots are now the definitive word on slot assignments and
  cannot be overridden by any other files loaded.
- Fixed: Several weapons were missing a game filter from their definitions.
- Removed storage of weapon slots in the config so that weapon slots can
  be setup in the weapons themselves. Slots are still configurable, since
  they need to be for KEYCONF to work; any changes simply won't be saved
  when you quit.
- Removed limit on weapon slot sizes.


SVN r1428 (trunk)
2009-02-20 00:53:25 +00:00
Randy Heit 0acc6a4ee3 - Moved the V_InitFontColors() call earlier in the startup sequence so that
colored error messages appear colored in the startup window. Also lightened
  up the "Flat" red to contrast better with the startup background.


SVN r1424 (trunk)
2009-02-11 00:16:05 +00:00
Randy Heit be165578ea - Added GTK+-based clipboard support for Linux.
- Fixed: Most Linux filesystems do not fill in d_type for scandir(), so we
  cannot rely on it to detect directories.
- Added NicePath() function to perform shell-style ~ substitution on path
  names.
- Changed the default screenshot directory on Unix to ~/.zdoom/screenshots/.
- Added -shotdir command line option to temporarily override the
  screenshot_dir cvar.



SVN r1413 (trunk)
2009-02-08 02:52:43 +00:00
Randy Heit 4e509728a0 - Added a compatibility lump because I think it's a shame that Void doesn't
work properly on new ZDooms after all the collaboration I had with Cyb on
  that map. (Works with other maps, too.)


SVN r1402 (trunk)
2009-02-05 02:55:28 +00:00
Randy Heit b387752f2f - Applied latest TEAMINFO patch.
SVN r1400 (trunk)
2009-02-04 23:14:28 +00:00
Christoph Oelckers fb9601b9eb - Added APROP_Dropped actor property.
- Fixed: The compatmode CVAR needs CVAR_NOINITCALL so that the compatibility flags don't get reset each start.
- Fixed: compatmode Doom(strict) was missing COMPAT_CROSSDROPOFF

SVN r1376 (trunk)
2009-01-28 08:48:52 +00:00
Randy Heit a3b11af15a - More GCC warning removal, the most egregious of which was the potential
vulnerability "format not a string literal and no format arguments".
- Changed the CMake script to search for fmod libraries by full name instead
  of assuming a symbolic link has been placed for the latest version. It can
  also find a non-installed copy of FMOD if it is placed local to the ZDoom
  source tree.



SVN r1373 (trunk)
2009-01-28 05:29:41 +00:00
Christoph Oelckers f269af052c - fixed some issues with P_FindFloorCeiling's coordinate processing.
- added a new compatmode CVAR which allows setting some generic compatibility 
  flag combinations:
  Doom: sets the options needed to make most Doom.exe compatible map play without
  errors.
  Doom (strict): Same as above but sets a few more options. Please note that this
  does not mean full Doom.exe behavior emulation.
  Boom: Sets all options that consider differences between ZDoom and Boom.
  ZDoom 2.0.63: Sets only the COMPATF_SOUNDTARGET option which is needed for
  many older ZDoom maps.
- added new COMPAT_CROSSDROPOFF option to block monsters from being pushed over
  dropoffs by damage kickback.
- fixed: AFastProjectile::Tick must call Effect only 8 times per tic, regardless
  of the amount of steps taken.
- fixed: momentum checks in AFastProjectile did not use absolute values.


SVN r1369 (trunk)
2009-01-25 21:59:38 +00:00