Commit graph

252 commits

Author SHA1 Message Date
Christoph Oelckers
4e53df8bca - fixed: The 'load' command in GAMEINFO only worked if the filename contained a slash. 2014-01-26 14:32:44 +01:00
Braden Obrzut
db4a23e3c4 Merge branch 'origin/maint' 2014-01-10 02:19:14 -05:00
Braden Obrzut
44c4736de3 - Ignore unknown properties in the GAMEINFO lump instead of throwing an error. 2014-01-10 02:16:41 -05:00
Randy Heit
d76dbcaa9d Merge branch 'maint' 2013-10-09 22:33:58 -05:00
Randy Heit
637798c1b5 Add handling for +warp at the command line.
- Command-line console commands are executed before a level is entered, so
  trying to use +warp to position yourself at a specific location will not
  work. We now specially handle this command so that it does work.
2013-10-09 22:15:11 -05:00
Randy Heit
242f2ab7b0 Merge branch 'maint' 2013-10-08 21:51:51 -05:00
Randy Heit
3c376aa342 Move C_ExecCmdLineParams() call slightly later in the startup process.
- Fixed: You could not set any CVARINFO-defined cvars from the command line
  because command line console commands were executed before wads were
  even loaded. Off the top of my head, I can't think of anything that would\
  break by having them get executed after wads are loaded.
2013-10-08 20:18:35 -05:00
Randy Heit
da02a44126 Consolidate special path functions into m_specialpaths.cpp
- Also remove CDROM_DIR while I'm at it.
2013-09-14 21:04:00 -05:00
Christoph Oelckers
3518b4dd28 - allow menu's back button and the pause sign to be animated. 2013-08-12 22:46:45 +02:00
Christoph Oelckers
ba3e57281a Merge branch 'maint' 2013-08-12 21:12:20 +02:00
Christoph Oelckers
072b66fb9f - fixed: The music that's defined in the Gameinfo section of MAPINFO could not set the order for multitrack music lumps. 2013-08-12 21:11:53 +02:00
Edoardo Prezioso
4ce0574b3f - Use a more conformant C++ preprocessor macro identifier for Unix systems.
The 'unix' identifier isn't defined when '-std' is passed to the compiler (tested with gcc and clang), so use '__unix__' which is well enough documented.
2013-07-30 11:46:14 +02:00
Randy Heit
4fa198244c - Renamed CVAR_NOSEND to CVAR_IGNORE to better reflect its intent.
- Separated CVAR_MODARCHIVE into CVAR_MOD|CVAR_ARCHIVE so that mod-defined cvars can still be
  identified when they aren't meant to be archived.

SVN r4281 (trunk)
2013-05-25 17:08:59 +00:00
Randy Heit
787b84ef91 - Added CVARINFO lump support. This is a lump for defining mod-specific cvars and takes entries
of the form:
    <scope> [noarchive] <type> <name> [= <defaultvalue>];
  Where <scope> is one of:
  * server: This cvar is shared by all players, and in network games, only select players can
    change it.
  * user: Each player has their own copy of this cvar, which they can change independently.
  To prevent the cvar from being written to the config file, add noarchive to its definition.
  <Type> is one of:
  * int: An integral value. Defaults to 0.
  * float: A value that can include a fraction. Defaults to 0.0.
  * color: A color value. Default to black ("00 00 00").
  * bool: A boolean value that can hold either true or false. Defaults to false.
  * string: A string value. It's not too useful for mods but is included for completeness. Defaults to "".
  <Name> is the cvar's name and must begin with a letter and may only include alphanumeric
  characters and the underscore character.
  If you wish a non-standard default add an = character after the cvar's name followed by the
  default value you want to use. Example:
    server int mymod_coolness = 10;
- Fixed: FStringCVar::SetGenericRepDefault() did not make a copy of the input string.

SVN r4280 (trunk)
2013-05-25 16:34:23 +00:00
Randy Heit
be0845acf1 - Moved all BorderNeedRefresh and SB_state updating code into separate functions that won't crash if screen is NULL.
SVN r4167 (trunk)
2013-02-27 03:10:25 +00:00
Randy Heit
e0a137b725 - Removed the netdemo flag, because it's redundant with (netgame && demoplayback).
SVN r4050 (trunk)
2013-01-26 03:28:54 +00:00
Braden Obrzut
e86f27a7a6 - Fixed: Popups weren't shown on the alt hud.
SVN r4030 (trunk)
2013-01-21 21:02:14 +00:00
Randy Heit
67eda6b1ad - Changed P_CheckPlayerSprites() so that it does not alter any actor data. It is now called by
R_ProjectSprite() to modify the appropriate data right before it is needed for rendering.

SVN r4004 (trunk)
2013-01-02 02:10:26 +00:00
Randy Heit
59638acb7c - Fixed: MUSINFO must be parsed after MAPINFO, since it needs the entries created by MAPINFO.
SVN r3858 (trunk)
2012-08-30 03:00:37 +00:00
Randy Heit
9d82c7fa0e - Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is
loaded.

SVN r3837 (trunk)
2012-08-22 22:36:06 +00:00
Randy Heit
73552f0365 - Added HUD message visibility flags, which are ORed into the type field:
* HUDMSG_NOTWITH3DVIEW : This message does not appear when the 3D view is active.
  * HUDMSG_NOTWITHFULLMAP : This message does not appear when the fullscreen automap is active.
  * HUDMSG_NOTWITHOVERLAYMAP : This message does not appear when the overlay automap is active.
  These flags may be combined, so for example: HUDMSG_NOTWITHFULLMAP | HUDMSG_NOTWITHOVERLAYMAP
  would prevent the message from appearing if any form of automap is active.

- Added HUD message layers, which are ORed into the type field:
  * HUDMSG_LAYER_OVERHUD : This is the default and standard behavior. The message appear on
    top of most HUD elements. This definition is just included for completeness' sake; you
    don't need to explicitly use it.
  * HUDMSG_LAYER_UNDERHUD : The message appears underneath other HUD elements, such as the status bar.
  * HUDMSG_LAYER_OVERMAP : The message appears on top of the fullscreen automap. At the moment,
    this layer is functionally equivalent to using the flags HUDMSG_NOTWITH3DVIEW | HUDMSG_NOTWITHOVERLAYMAP.
    However, if Blzut3 decides to implement support for drawing the automap permanently on a
    second screen, messages on this layer will move to that screen with the automap and be permanently
    visible as long as the map is visible on that other screen.
  These are not flags, so for example HUDMSG_LAYER_UNDERHUD | HUDMSG_LAYER_OVERHUD is not valid.

SVN r3821 (trunk)
2012-08-12 22:24:15 +00:00
Randy Heit
8673743139 - Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
SVN r3734 (trunk)
2012-07-05 21:46:03 +00:00
Randy Heit
c197d0687c - Fixed: FinalGC() needs to run before the type system is shut down.
- Fixed: Don't access class metadata at all in DObject::PropagateMark if the type system is shutdown.
- Fixed: If FCompressedMemFile::Reopen() fails, then it would try to double-free memory when deleted.

SVN r3688 (trunk)
2012-06-16 03:10:38 +00:00
Randy Heit
b5a731f3a6 - Move player prediction calls into D_Display().
SVN r3636 (trunk)
2012-05-10 03:48:36 +00:00
Christoph Oelckers
af43ef8983 - added Gez's submission to add a compatibility option for Doom's floor motion behavior to fix an issue in phobos.wad.
SVN r3623 (trunk)
2012-05-05 22:53:16 +00:00
Randy Heit
6ea93d28e2 - Fixed: M_CreateMenus() is too soon to call UpdateJoystickMenu(). It needs to happen after
I_InitInput(), which happens during V_Init2().

SVN r3501 (trunk)
2012-04-01 03:03:53 +00:00
Randy Heit
cc34f973e2 - Fixed: Using -playdemo in conjunction with -loadgame did not work.
SVN r3481 (trunk)
2012-03-25 01:54:36 +00:00
Randy Heit
e9f832460b - Added "misc/startupdone" sound to be played when the startup screen is closed and the game
is about to begin.

SVN r3420 (trunk)
2012-03-10 01:54:00 +00:00
Randy Heit
d54f9c3616 - Added startup screen customization, courtesy of Gez.
SVN r3375 (trunk)
2012-02-21 19:52:40 +00:00
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