Commit Graph

5041 Commits

Author SHA1 Message Date
Christoph Oelckers e9cbb0b223 Merge commit '173dbd6bcee02a9e9c12a4a74d1fffe3e081d162' into scripting 2015-04-28 10:37:23 +02:00
Christoph Oelckers d6e3fc0567 Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
Conflicts:
	src/info.cpp
	src/thingdef/thingdef_expression.cpp
	wadsrc/static/actors/constants.txt

(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Christoph Oelckers 7898e189df - fixed problems in CMake project files:
* thingdef_function.cpp no longer exists
* the build rule for zcc-parse.c was not correct.
2015-04-28 09:40:57 +02:00
Christoph Oelckers 56989d3422 Merge commit 'ec5817869592660af6837b9f4e20ed140972a2b2' into scripting
Conflicts:
	src/p_enemy.cpp
	src/p_enemy.h
	wadsrc/static/actors/constants.txt

(Scripting branch update part 1)
2015-04-28 09:34:51 +02:00
Randy Heit 8cb269388e Eliminate .mreg section
- Member variables are now declared all in one place: InitThingdef(). They
  are not partially defined in thingdef_expression.cpp and further refined
  in actor.txt.
- This left ParseNativeVariable() parsing only functions, so it has been
  renamed to ParseNativeFunction().
- Note that their declarations in InitThingdef() are expected to be
  temporary.
2015-03-14 22:16:05 -05:00
Randy Heit 1e7cce5a2c Add missing NewPointer() function 2015-03-14 22:04:53 -05:00
Randy Heit 5d2cbf4ecb Improve disassembly of branch instructions
- I kept getting confused trying to read these instructions, so now their
  disassembly looks more MIPS-like:
  * All mnemonics have had 'b' prepended to them for "branch".
  * The CMP_CHECK bit alters the displayed mnemonic for the inverted
    versions. e.g. BEQ can be displayed as BNE.
  * The following JMP instruction that encodes the branch destination has
    been folded into the disassembly of the branch instruction. Unlike
    MIPS, I chose to display it offset from the branch check with =>
    instead of another comma.
2015-03-13 23:26:33 -05: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