Commit graph

5203 commits

Author SHA1 Message Date
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
ChillyDoom
3d7934f1a1 - Fixed: Part of Net_CheckLastReceived treated Net_Arbitrator as a node number rather than a player number. 2015-02-09 20:16:57 +00:00
Christoph Oelckers
6423b2fece - fixed: Dehacked text patching needs to alter all occurences of the source string. 2015-02-09 10:15:11 +01:00
Randy Heit
867bfd2751 Typo fix: concidered -> considered 2015-02-08 21:07:28 -06:00
Randy Heit
79791629ec Add missing break to FxGlobalVariable::Resolve()
- Not like it matters much when there are no global variables of types
  float, fixed, or angle.
2015-02-08 21:01:49 -06:00
Randy Heit
a063b48d7a Add a needed break in FxAbs::Resolve()
- Fixed: FxAbs could not resolve floating point constants because it fell
  through to the error case.
2015-02-08 20:56:30 -06:00
Randy Heit
c3227729e7 Remove superfluous if in DoGiveInv()
- I'm assuming this check was here for a reason, but when both branches of
  the if do the same thing and it's been this way since before recorded
  history, it's not obvious what was intended here.
2015-02-08 20:54:13 -06:00
Randy Heit
711ac77915 defitem != NULL -> defitem == NULL 2015-02-08 20:51:14 -06:00
Randy Heit
fd7ed2bc25 Undo most of ZzZombo's changes
- "If it ain't broke, don't fix it."
- Some of the changes were downright wrong and some were pointless, so undo
  everything that doesn't look like an actual improvement.
2015-02-08 20:44:18 -06:00
Randy Heit
2d7592c2c3 Restore nodebuilder files to their previous versions
- For easy comparison, changes between the built-in nodebuilder and ZDBSP
  must be kept to a minimum.
2015-02-08 19:49:08 -06:00
Christoph Oelckers
1a6bbcc206 Merge branch 'tinyfix' of https://github.com/MajorCooke/zdoom 2015-02-08 18:54:58 +01:00
Christoph Oelckers
e047902d56 - resanitation of FDynamicBuffer::SetData. 2015-02-08 17:58:24 +01:00
MajorCooke
c93f96c303 Typo in SXF_TRANSFERSPRITEFRAME fixed. 2015-02-08 08:54:55 -06:00
Christoph Oelckers
57ae77412d Merge branch 'althud_ammo' of https://github.com/alexey-lysiuk/gzdoom 2015-02-08 11:52:08 +01:00
Christoph Oelckers
ae78aeaacb - if this buffer is freed, the pointer referring to it must also be deleted. 2015-02-08 11:48:41 +01:00
Christoph Oelckers
45117b2603 Merge branch 'codesanity' of https://github.com/ZzZombo/zdoom
Conflicts:
	src/info.h
2015-02-08 11:47:49 +01:00