Commit Graph

4876 Commits

Author SHA1 Message Date
Christoph Oelckers 13e98c301a - added NULL pointer checks to AActor::RemoveInventory to prevent items that destroy their owner in their use state from crashing the engine. 2015-02-26 12:13:17 +01:00
Christoph Oelckers 84f8c299ce - fixed: cached GL nodes should use ZGL3 format for maximum precision. 2015-02-26 12:08:52 +01:00
Christoph Oelckers bcfa8da4a3 Merge branch 'string-literals' of https://github.com/Edward850/zdoom 2015-02-26 11:59:07 +01:00
Christoph Oelckers b0a4600bf2 Merge branch 'master' of https://github.com/Blue-Shadow/zdoom 2015-02-26 11:58:30 +01:00
Edward Richardson db36cf7d05 Fix string literals that lacked spaces for C++14 2015-02-26 15:24:09 +13:00
Randy Heit 5aba252b87 Simplify NoDelay implementation
- All NoDelay needs to do is call the current state's function. Calling
  SetState() is excessive.
2015-02-24 20:37:58 -06:00
Randy Heit 5d65b10aec Better bad save checking
- Move invalid save condition checks from save CCMD into G_SaveGame().
- Add a gamestate != GS_LEVEL check to G_DoSaveGame().
2015-02-24 20:18:41 -06:00
Randy Heit c7842a8de8 Fix not-Windows 2015-02-24 20:13:03 -06:00
Randy Heit e4a041cb4c When changing maps, print map name in console in lower case 2015-02-24 20:12:08 -06:00
Randy Heit a41af2de73 Make SBARINFO's HasWeaponPiece recognize removed pieces
- Fixed: HasWeaponPiece assumed that once a piece was given, it would not
  be removed. The easiest way to break this assumption is by loading an
  earlier save where you had fewer pieces. (The catch being that if you
  removed all pieces, it would notice that.)
2015-02-24 20:01:39 -06:00
Blue-Shadow e92f2826ee Removed NOGRAVITY flag from ArtiBoostMana. 2015-02-21 21:44:59 +03:00
Randy Heit 5f43e5b4ea Don't use finesine table when offseting for plane rotation
- This table isn't precise enough, so the result is noticeably off if
  you're far enough from the origin.
2015-02-20 22:52:30 -06:00
Randy Heit a5f8c4ead2 Fixed: UDMF loader did not set the index for sides 2015-02-20 21:51:14 -06:00
Randy Heit 9721c025c1 Remove unneeded index restriction from GetUDMFInt/Fixed 2015-02-20 20:42:30 -06:00
Randy Heit a64ebc720b Fix assert 2015-02-20 20:35:32 -06:00
Randy Heit 19ab774dc8 Fixed: A_CStaffCheck needed more NULL pointer checks 2015-02-20 20:17:15 -06:00
Randy Heit 2827c13d0c Rewrite new quake stuff for correctness
- Quake scaling should be handled for each quake. The former
  implementation was potentially taking flags from one quake and applying
  them to another, which is broken.
- Remove all the int<->float conversions.
2015-02-20 19:36:13 -06:00
Randy Heit 8e0151b4c1 Add FRandomPick
- This is RandomPick but for floats. Considering what RandomPick
  translates into in the scripting branch, I hope I don't regret not using
  type inference on RandomPick instead of creating a new keyword.
2015-02-20 17:52:52 -06:00
Randy Heit 173dbd6bce Add FxFloatCast
- The master branch really didn't have this already?
2015-02-20 17:48:48 -06:00
MajorCooke fb9231a38d - Added QF_FULLINTENSITY.
- When using both scaling flags, by default, the effect only reaches half peak going either way. This forces it to go all the way to the top (or bottom if using QF_MAX) before scaling back to its original height..
2015-02-20 11:06:41 -06:00
MajorCooke aa3c3d6546 - Fixed: Smoothing in to out reached only half strength. 2015-02-20 10:55:06 -06:00
MajorCooke 140a650442 - Added QF_SCALEUP and QF_MAX.
- QF_SCALEUP behaves like QF_SCALEDOWN: it gradually scales the tremors, only going upwards.
- QF_SCALEUP and QF_SCALEDOWN can be combined to make an earthquake that gradually smoothes in and out.
- QF_MAX can be used to invert this behavior, where it starts at the peak of the amplitude, fades out half way, and then grows back to maximum.
2015-02-20 10:46:37 -06:00
Christoph Oelckers 3019f2cc23 - fixed savegame code for quakes. 2015-02-20 16:50:03 +01:00
Christoph Oelckers 0074e1d216 Merge branch 'quakeexscale' of https://github.com/MajorCooke/zdoom 2015-02-20 16:43:21 +01:00
MajorCooke 475bc65eba - Better safe than sorry, even if it apparently had no effect. 2015-02-20 08:35:42 -06:00
MajorCooke 49d9482363 - Cleaned out of the code and converted it to taking a struct instead.
- This will make it much easier on me to add future changes. Big thanks to Graf for the idea.
2015-02-20 08:26:45 -06:00
MajorCooke d6e4a7a081 - Changed QuakePower back to fixed_t and just had it return FLOAT2FIXED instead. 2015-02-20 07:36:37 -06:00
Christoph Oelckers 561e3f55c8 Merge branch 'compat_cleanup' of https://github.com/Edward850/zdoom 2015-02-20 10:07:09 +01:00
MajorCooke 3bf24204d8 - Ensure save games don't break. 2015-02-20 01:41:59 -06:00
MajorCooke 2939194ae3 - Forgot this tiny little one. 2015-02-20 01:36:53 -06:00
MajorCooke 9c5d90e4cb - Removed QF_SCALEUP until I can figure out a proper way to implement it. 2015-02-20 01:33:30 -06:00
MajorCooke 0948b95e08 - Changed QuakePower to take doubles on everything but intensity. This lets the camera shake until it truly reaches 0 as the limitations of integers were actually cutting it short. 2015-02-19 23:19:24 -06:00
MajorCooke 045ab9fd5b Initial groundwork for QF_SCALEDOWN. 2015-02-19 21:42:32 -06:00
Edward Richardson 51688fe160 Cleanup Compatflags to make options easier to find 2015-02-20 16:20:39 +13:00
MajorCooke 284fd3e20f - Fixed: relz was never initialized.
- This could cause problems in places like the GZDoom renderer in the odd circumstance, causing the camera to become stuck in the floor or ceiling until the quake expires.
2015-02-19 16:30:00 -06:00
Randy Heit 2d4f02c560 Merge branch 'MajorCooke-quakeex' 2015-02-18 15:01:45 -06:00
Randy Heit e377c2c4f8 Change XYZ Quaking from Major Cooke
- Relative quakes are different from other quakes; all quakes affecting
  the camera do not become relative if one of them is relative.
- Use a single function call to get quake visual parameters instead of four.
- Thrust things in a psuedo-ellipse if they're inside a damaging quake whose
  IntensityX != IntensityY.
- Don't break old savegames.
2015-02-18 14:48:52 -06:00
rheit c23b7cd378 Merge pull request #273 from MajorCooke/transferroll
- Added SXF_TRANSFERROLL.
2015-02-18 11:28:13 -06:00
rheit 19ef4a4fbd Merge pull request #271 from khokh2001/master
small nuked opl3 fix
2015-02-18 11:27:13 -06:00
MajorCooke 0f4bca8607 - Added SXF_TRANSFERROLL. 2015-02-14 16:51:05 -06:00
MajorCooke 7050d03222 Added A_QuakeEx(intensity x, y, z, duration, damrad, tremrad, sound, flags)
- Unlocks the full potential of using quakes, including the Z axis. Each intensity applies to X/Y/Z planes whenever a player is experiencing it.
- Flags:
- QF_RELATIVE - Adjusts the quaking of the camera to go in the direction its aiming (X: forward/backward. Y: Left/right.)
- Plans for including pitch will be implemented in the future for the Z axis with relativity.
2015-02-14 15:58:39 -06:00
Alexey Khokholov fa2e2a8528 Update nukedopl3.cpp 2015-02-14 00:01:54 +09:00
Christoph Oelckers d8d2058ec6 Merge branch 'NetBug' of https://github.com/ChillyDoom/zdoom 2015-02-12 19:12:13 +01:00
Christoph Oelckers 93c12cf259 - addressed the problem that prompted setting NOGRAVITY for all floatbobbing items for real:
Hexen uses the spawn height value from the mapthing_t structure to offset the item when floatbobbing. With proper gravity handling enabled this method doesn't really work so as a workaround ZDoom will now enable a hidden compatibility option when playing any map with a Hexen format MAPINFO so that any positive value in this field will make P_ZMovement revert to the original method of setting the items height (excluding the floatbob offset, of course.)

This also removes some code from P_NightmareRespawn that originate from the original Hexen method for floatbobbing which aren't needed anymore
2015-02-12 18:57:06 +01:00
Christoph Oelckers c2e155bb9f - with floatbobbing items no longer having no gravity, we don't need the corresponding compatibility setting anymore. 2015-02-12 16:29:08 +01:00
Christoph Oelckers 7db035abba - undid NOGRAVITY for all floatbobbing items.
I have no idea why this was ever deemed proper - but it clearly breaks some Hexen maps and it not even remotely mimics the original behavior. Even now, it's not the same but since the items fall down they at least end up where they are supposed to be.
2015-02-12 16:27:28 +01:00
Christoph Oelckers 337682934c - fixed: CF_FLY cannot be part of the player_t structure and be tracked properly. It needs to be part of the actor itself that has MF2_FLY set so it got moved to flags7.
- removed some fudging code that tried to work around the shortcomings of CF_FLY but was ultimately causing more problems than it solved.
2015-02-10 23:40:53 +01:00
Christoph Oelckers c0eb39ec72 - fixed: The exploding ArtiTimeBomb must disable movement interpolation for its position change needed to display the explosion frames correctly. 2015-02-10 23:09:57 +01:00
Christoph Oelckers 5fc6ff1303 - fixed: invisible 3D floors were treated as solid, not translucent when building the sorted lists, resulting in the top plane not being rendered in case of an overlap. 2015-02-10 23:01:58 +01:00
Christoph Oelckers a3bdbff052 - fixed: 3Dmidtex opening checks didn't take per-sidedef scaling into account. 2015-02-10 21:30:52 +01:00