Commit graph

3777 commits

Author SHA1 Message Date
Randy Heit
5a5fb9b3d1 Clamp xy angle range in P_SetSlope()
- This function just assumed that every xy angle passed to it was within
  the range [0,360). This is obviously bad, since anything outside that
  range can result in accessing data outside the range of the finecosine
  and finesine tables.
2014-02-24 18:16:18 -06:00
Randy Heit
a60918f601 Add NoPushWindowCheck compatibility flag
- For maps like xtheateriii that expect non-blocking push lines to
  activate when you are standing on them and run into a completely different
  line, there is now this compatiblity.txt-only flag.
2014-02-24 17:43:28 -06:00
Randy Heit
db4763b14a Delay skin setting on save load until player class is known.
- Fixed: Loading players from savegames set the skin before their current
  class was retrieved, so they could not validate their skins with the
  correct class.
2014-02-24 16:27:57 -06:00
Randy Heit
7052d4e14e Fixed: userinfo_t::SkinChanged() was unaware of player classes 2014-02-24 16:18:10 -06:00
Randy Heit
0f7ad00d9a Ignore the minor version number when checking for DRO v1 files
- There exist files where the first word of the version number for DRO v1
  files is not 0 but something else completely. (Maybe it's not actually a
  version number?) Assume they are valid v1 files as long as the second
  word is a 1.
2014-02-24 15:48:41 -06:00
Gaerzi
d430c18574 The wrong value was used here.
This caused crashes on some files (notably MBELLS from Cosmo and NUBC
from Body Count) in my port of this code to SLADE 3.
2014-02-24 15:37:59 -06:00
Gaerzi
c7301a0fbb Some DOSBox Raw OPL v2 indices were off by one.
This caused access violation errors on perfectly fine DRO files. For
reference, scoredata[20] is the hardware type (OPL2, dual OPL2, or
OPL3).
2014-02-24 15:37:42 -06:00
rheit
d0782d779d Merge pull request #22 from edward-san/cmake_uninitialized_fix
- Fixed some cmake --warn-uninitialized messages
2014-02-24 15:20:56 -06:00
rheit
78f85340d8 Merge pull request #20 from edward-san/cmake_clang_flags_fix
- Remove clang check from GCC-related workaround
2014-02-24 15:19:35 -06:00
rheit
3111f8f93d Merge pull request #19 from edward-san/unix_no_gtk_iwadpicker_fix
- Fixed scanf in IWAD picker without GTK
2014-02-24 15:18:24 -06:00
Braden Obrzut
811a75ebf6 - Minor adjustments to SDL joystick code so that all axes have at least a small deadzone so that button mapping works properly. 2014-01-18 17:54:46 -05:00
Braden Obrzut
27f6b3c9f3 Merge branch 'maint' of github.com:rheit/zdoom into maint 2014-01-18 16:23:06 -05:00
Braden Obrzut
75fd674d31 - If the player doesn't have ` bound to open the console, don't close it with that key. 2014-01-18 16:20:52 -05:00
Braden Obrzut
919b928300 - Fixed: Taking an item in a Strife dialog didn't account for items that have the keep depleted flag set. 2014-01-18 15:45:11 -05:00
Braden Obrzut
ebcd0e9c49 - Removed redundant expression in R_FindPlane. 2014-01-18 15:40:48 -05:00
Braden Obrzut
7af8b78b9f - Applied Chilly's patch to fix excessive name change notifications. 2014-01-18 15:18:35 -05:00
Braden Obrzut
e5d7077d74 - Fixed: Shareware games couldn't bother with the actor has no frames errors since we don't load mods.
- Fixed: Heretic shareware used a different border for the statusbar.
2014-01-18 15:09:12 -05:00
Braden Obrzut
6f7885210b - Fixed: Some setups require the dynamic linking library to be linked explicitly, so specify it when using DYN_FLUIDSYNTH 2014-01-18 14:58:39 -05:00
Edoardo Prezioso
70717cd2fa - Cover the ASM_SOURCES fix for NO_ASM users too 2014-01-18 02:21:49 +01:00
Edoardo Prezioso
b329a34a58 - Fixed some cmake --warn-uninitialized messages 2014-01-17 23:36:59 +01:00
Edoardo Prezioso
aafea851f0 - Remove clang check from GCC-related workaround
It caused a clang warning/error regarding the non-existing flags '-fno-tree-dominator-opts' and '-fno-tree-fre'.
2014-01-17 19:11:29 +01:00
Edoardo Prezioso
f51fcd90b3 - Fixed scanf in IWAD picker without GTK
If you try to kill the program with Ctrl-C, it would run the first IWAD available in the list instead of closing it.
2014-01-17 18:57:52 +01:00
Edoardo Prezioso
2501dc6df6 Fixed signed overflow issue, which caused a non-intended aggressive optimization by GCC 4.8. Also, negative values of the 'limit' parameter in both ACS UniqueTID() and in 'utid' CCMD are ignored and replaced by 0. 2014-01-13 01:48:31 +01:00
Braden Obrzut
44c4736de3 - Ignore unknown properties in the GAMEINFO lump instead of throwing an error. 2014-01-10 02:16:41 -05:00
Braden Obrzut
b3f5de356f - Fixed: SBarInfo's gamemode command used to ignore unknowns (for cross compatibility). On top of restoring the old behavior, generate a warning for only the first ignored instance. 2014-01-05 15:46:11 -05:00
Braden Obrzut
511bdc7208 - Work around GCC 4.8 bug 54570 2014-01-02 19:41:53 -05:00
Braden Obrzut
12d45bbc33 - Use setenv for LC_NUMERIC since setlocale gets reset by the libraries on some systems. 2013-12-13 03:00:35 -05:00
Braden Obrzut
10c312f55c - Silence GCC PCD_PRINTBINARY warning since we've been able to since GCC 4.6. 2013-12-13 02:51:15 -05:00
Randy Heit
f4e9edccb9 Don't display the cost in dialogues twice
- Fixed: Commit 75dd5503, which was to enable the use of LANGUAGE
  substitutions for conversation items with a cost attached, neglected to
  remove the original code that attached the cost to the end of the item,
  so the cost got added twice.
2013-11-19 19:55:57 -06:00
Randy Heit
d4304c3bde Change tspeed += 2 to *= 2
- Fixed: The initial keyboard turn rate used the running initial rate whether
  +speed was down or not.
2013-11-19 19:49:17 -06:00
Randy Heit
62ffe7e4e2 Add NOGRAVITY to every Raven actor with FLOATBOB
- Fixed: Heretic and Hexen completely skip all normal Z processing on
  mobjs with FLOATBOB set. To emulate that, we need to add NOGRAVITY to
  everything with that flag set.
2013-11-19 19:42:13 -06:00
Randy Heit
02514dc9b2 - Fixed: AFSwordMissile::DoSpecialDamage had a unique prototype
so it would never actually be called.
2013-10-09 22:32:52 -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
c2bac9d2df Add WorldPanning flag for camera texture definitions.
- To make camera textures pan in world units instead of texture units, you
  can now add "WorldPanning" at the end of the cameratexture definition in
  ANIMDEFS, after the "fit" specification. e.g.

    cameratexture CAMTEX 128 128 fit 64 64 worldpanning
2013-10-09 21:29:28 -05:00
Christoph Oelckers
8170cfbf98 - added my own FMOD path to CMakeLists.txt so that I can use it to create VC++ 2010 files with it. 2013-10-09 12:52:07 +02:00
Randy Heit
0c9c624e8c Do not follow NextThinker links in DestroyThinkersInList
- Fixed: DThinker::Destroy(Most)ThinkersInList() were unreliable when
  destroyed thinkers destroyed more thinkers in the same list.
  Specifically, if the thinker it destroyed caused the very next thinker
  in the list to also be destroyed, it would get lost in the thinker list
  and end up with a NULL node. So just keep iterating through the first
  thinker in the list until there are none left. Since destroying a
  thinker causes it to remove itself from its list, the first thinker will
  always be changing as long as there's something to destroy.
2013-10-08 21:32:26 -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
d558cf51a9 - Fixed: ABackpackItem::CreateTossable did not check for failure from the supermethod. 2013-10-08 19:59:46 -05:00
Christoph Oelckers
c4d2a021b0 - fixed: AInventory::BecomePickup must not restore the MF_COUNTITEM flag when transforming the inventory item into a pickup again. 2013-10-07 11:53:58 +02:00
Randy Heit
5850279090 - Fixed: Thing_SetGoal could put an actor's target and goal out of sync.
If an actor is already targeting a goal, and Thing_SetGoal is used on
  it, it would still be left targeting the old goal instead of the new
  one. This messed up checks in A_Chase for walking towards a goal vs a
  real target.
2013-09-18 22:03:59 -05:00
Randy Heit
ad7aefff20 - Fixed: Do not apply AVOIDMELEE logic when moving toward a goal 2013-09-18 21:52:29 -05:00
Randy Heit
75535fba72 Do not enter testing mode if a valid mode is not selected.
- It doesn't make much sense to "test" the current mode if a non-video
  mode is selected in the menu, so don't.
2013-09-18 21:32:46 -05:00
Randy Heit
e3741c8097 GetSelectedSize() needs to check for a valid selection.
- With mouse navigation, there's no guarantee that there even is a
  selected item.
2013-09-18 21:29:19 -05:00
Randy Heit
a7a7d5d6b3 Add missing prantheses for A_CustomPunch's puffFlags calculation
- Fixed: Need parentheses for precedence when setting puffFlags in
  A_CustomPunch. Otherwise, it's completely broken.
2013-09-18 21:25:00 -05:00
Randy Heit
d05cdb79ef Switch true to LAF_ISMELEEATTACK inside A_Punch's call to P_LineAttack() 2013-09-18 21:22:21 -05:00
Randy Heit
0cf68af7d2 Overload operator = for player_t
- This fixes crashes when quitting multiplayer games because the default
  byte-for-byte copy caused PredictionPlayerBackup and the console player
  to point to the exact same userinfo data and to both try and free it
  when they are deleted.
2013-09-18 21:14:44 -05:00
Randy Heit
285be8db92 Fixed: wi_noautostartmap was not sync safe
- Make wi_noautostartmap a userinfo cvar. This allows it to be
  communicated across the network and saved in demos. If any player has it
  set, then the intermission screen will not automatically advance to the
  next level.
2013-09-18 20:45:39 -05:00
Christoph Oelckers
8847d5649a - fixed: Bridge needs to call Super::Destroy. 2013-09-15 23:11:55 +02:00
Christoph Oelckers
ea0e4ed344 - fixed: The Hexen bridge must make its balls disappear when it gets destroyed.
Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
2013-09-13 10:07:43 +02:00
Christoph Oelckers
11c026ee84 - fixed: displaying sprites on the automap ignored both the actor's scale and translation. 2013-09-03 08:34:55 +02:00