Christoph Oelckers
33cdb4d816
- replaced all single precision floats in p_slopes.cpp with doubles.
...
I don't think we want to have precision and reliability issues in such a vital part of the engine...
2016-02-11 19:13:29 +01:00
Christoph Oelckers
6ce0c9f78e
- split up PClass::Derive and its child functions because part of them is also needed when initializing an inherited native class with the properties of its parent - but calling the base version in PClass is not possible.
...
- moved a few AActor properties out of the EXE so that I could easily test if it works.
2016-02-10 00:17:00 +01:00
Christoph Oelckers
b484cbf18a
- fixed: It is not guaranteed that the class object that is created by FindClassTentative actually matches the real object that is required later, so it needs to be replaced wherever it could be referenced once the real object is created.
...
- removed some unneeded code from earlier attempts to fix the class type resolving issue.
2016-02-09 23:08:51 +01:00
Randy Heit
09a17c2198
Quiet some narrowing conversion warnings from VS2015
2016-02-05 22:18:53 -06:00
Christoph Oelckers
8da6483223
- fixed some places where FStrings were incorrectly used.
...
- replace all implicit conversions from FString to const char * in the header files (so that it can be test compiled with the implicit type conversion turned off without throwing thousands of identical errors.)
2016-02-05 10:40:45 +01:00
Christoph Oelckers
c78344c19d
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_user.cpp
src/thingdef/thingdef_expression.cpp
2016-01-20 15:16:06 +01:00
Christoph Oelckers
68c0f929dc
- refactoring complete. The source compiles again with the renamed position variable.
2016-01-20 15:12:51 +01:00
Christoph Oelckers
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc
Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
...
Conflicts:
src/p_pspr.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
5207aa6cc0
Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
...
Conflicts:
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
154e106315
- make better use of the damageinterval value for Strife's delayed damage.
2016-01-06 14:16:42 +01:00
Christoph Oelckers
6afd76e5db
- enable damage types for Strife's delayed damage. It will always use the type of damage that was last encountered.
2016-01-06 13:36:22 +01:00
Christoph Oelckers
6a63effa1f
- fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
...
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.
This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
2016-01-06 01:50:45 +01:00
Christoph Oelckers
d432df55e9
- changed Sector_SetDamage so that it can explicitly set the damage interval and the leakiness probability, instead of hardcoding it to fixed damage ranges.
...
- fixed: FCajunMaster::IsDangerous did not check for Heretic's sludge type.
2016-01-05 15:39:21 +01:00
Randy Heit
4931c90839
Bump save version for bigger WeaponState property
2015-12-31 16:46:18 -06:00
MajorCooke
6478b98eea
Update serialization to BYTE from WORD for older save games.
2015-12-31 16:46:17 -06:00
Christoph Oelckers
1070bd9beb
- fixed: APlayerPawn::ViewHeight wasn't stored in savegames.
2015-12-26 16:17:56 +01:00
Christoph Oelckers
b613db4ae5
Revert "Merge pull request #359 from Leonard2/master"
...
This reverts commit 364ca11b43
, reversing
changes made to dae0e217d1
.
Conflicts:
src/r_data/r_interpolate.cpp
2015-09-18 17:41:16 +02:00
coelckers
364ca11b43
Merge pull request #359 from Leonard2/master
...
Added weapon interpolation.
2015-09-08 09:06:40 +02:00
Chris
99120d8442
- Fixed: A_SkullPop did not work with spy mode.
2015-09-06 12:12:57 +01:00
Leonard
86e9504d04
Added weapon interpolation.
2015-08-19 15:59:54 +02:00
Christoph Oelckers
7ba577e1b0
Merge branch 'master' into scripting
...
Conflicts:
src/g_heretic/a_hereticweaps.cpp
src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Eevee (Alex Munroe)
221c2d2d82
Transfer flat-based damage (P_PlayerOnSpecialFlat) to 3D floors.
2015-06-06 16:07:48 -07:00
Christoph Oelckers
8447990889
Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
...
Conflicts:
src/info.h
src/thingdef/thingdef_codeptr.cpp
(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
792cad89b3
Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
...
Conflicts:
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/p_acs.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_expression.cpp
(Scripting branch update part 4)
2015-04-28 11:59:33 +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
Randy Heit
006868c072
Miscellaneous warning fixes
2015-04-14 18:02:15 -05:00
Randy Heit
3463b87876
Fixed: MUSINFO was not multiplayer-aware
...
- Move MUSINFO change request out of FLevelLocals and into player_t. This
allows the MusicChanger actors to change music for each player
independantly. This is similar to PrBoom+, which switches depending on
the displayplayer. The difference being, we don't actually track the
music other players are listening to. (Which might not be a bad idea to
implement at some point.)
- Moved a few fields in player_t for better packing.
2015-03-26 23:19:05 -05: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
ZzZombo
c4b742ebf0
- Part 2 of the sanity crusade.
2015-02-08 17:03:49 +08:00
Randy Heit
775e33ede7
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_doom/a_archvile.cpp
src/g_shared/a_morph.cpp
src/p_enemy.h
src/p_local.h
src/p_mobj.cpp
src/sc_man_tokens.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_exp.h
src/thingdef/thingdef_expression.cpp
src/thingdef/thingdef_states.cpp
wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
Christoph Oelckers
b5d0c5c357
- fixed: When a player drops his inventory, the dropped weapons must be checked for their class to ensure that they are not DehackedPickups which cannot be modified as intended.
2014-12-28 22:15:12 +01:00
Randy Heit
b5e4153c78
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/b_think.cpp
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_fighterplayer.cpp
src/namedef.h
src/p_enemy.cpp
src/p_local.h
src/p_mobj.cpp
src/p_teleport.cpp
src/sc_man_tokens.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_function.cpp
src/thingdef/thingdef_parse.cpp
wadsrc/static/actors/actor.txt
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
were added to thingdef_function.cpp over the past year, as this file no
longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/actor.h
src/g_heretic/a_hereticmisc.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_ironlich.cpp
src/info.h
src/namedef.h
src/p_buildmap.cpp
src/p_enemy.cpp
src/p_map.cpp
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
zdoom.vcproj
2014-12-20 19:13:14 -06:00
ChillyDoom
ee977f94d7
- Moved bot thinking logic into DBot.
2014-11-14 16:54:56 +00:00
Christoph Oelckers
32cd4eb7c6
Merge branch 'LerpAdjustments' of https://github.com/Edward850/zdoom
2014-11-02 17:30:41 +01:00
Edward Richardson
043b28f4ba
Make Prediction lerping less pick + debug
...
- Lerping uses int rather than fixed/float comparisons
- Added debug information
2014-11-02 17:58:59 +13:00
MajorCooke
2e085b2318
- Added ALLOWPAIN flag.
...
Monsters with this flag can enter pain states, regardless of
invulnerability or damage absorption.
- Fixed: god2 cheat wasn't being considered for drowning and thrusting.
2014-11-01 00:00:29 -05:00
Christoph Oelckers
fc40e9723a
- fixed: CHANGELEVEL_RESETINVENTORY may not change the player's health.
...
APlayerPawn::GiveDefaultInventory altered the player_t's health value which was ok as long as this function was only called from G_PlayerReborn. For all other cases this initialization was wrong and G_PlayerReborn should do this itself.
2014-10-25 11:51:29 +02:00
ChillyDoom
acd4a71de2
- Fixed: New DBot instances were missing write barriers.
2014-10-21 19:33:48 +01:00
Christoph Oelckers
20b740d5fc
Merge branch 'DBot' of https://github.com/ChillyDoom/zdoom
2014-10-21 14:20:01 +02:00
ChillyDoom
db323643f8
- Renamed FBot to DBot and made it inherit from DThinker.
...
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
Christoph Oelckers
c9252d1919
Merge branch 'multi' of https://github.com/Edward850/zdoom
2014-10-14 11:54:40 +02:00
Edward Richardson
29cf6b0daa
Fixed PredictionActor size and typo
2014-10-14 12:54:03 +13:00
ChillyDoom
83d84eaae9
- Moved bot related variables from player_t into a new FBot class.
2014-10-13 18:40:25 +01:00
Christoph Oelckers
952d03da7c
Merge branch 'multi' of https://github.com/Edward850/zdoom
2014-10-13 10:37:51 +02:00
ChillyDoom
5de6b535ae
- Removed unnecessary 'id' variable from AActor.
...
- Removed unused 'backpack' variable from player_t.
- Removed duplicate code from b_move.cpp.
- General cleanup.
2014-10-13 08:45:36 +01:00
Edward Richardson
0cd736b487
Prevent lerping when tic duplication not 1
...
Network dup makes player prediction inaccurate
2014-10-13 17:09:29 +13:00
Edward Richardson
98904039b7
Final work on prediction lerping
...
Added cl_predict_lerpscale and cl_predict_lerpthreshold
Added options in menudef
Made sure that lerping cannot extrapolate or run on small scales
Lerping gets reset when rendering interpolation does or respawn
2014-10-13 16:32:49 +13:00
Edward Richardson
3e6ad8c1a8
Further work on prediction lerping
2014-10-13 00:29:15 +13:00
Edward Richardson
e1b8b4a871
Started work on prediction lerping
2014-10-06 15:27:13 +13:00
Edward Richardson
0f9a8176f5
Unprediction needs to restore selected inventory
2014-10-05 16:57:31 +13:00
Edward Richardson
53b6e7d4d5
Added silent line teleport prediction
...
- Allow activation of line teleport specials during prediction
- Moved prediction functions to improve uncapped framerates
2014-09-26 15:48:45 +12:00
Edward Richardson
42e6737803
Player prediction now updates listener
2014-09-26 15:48:44 +12:00
Christoph Oelckers
46ec364443
- fixed: When validating the crouch sprite it was assumed that both the regular and the crouch sprite were having full rotations.
2014-09-13 10:08:22 +02:00
Edward Richardson
2838c4b25b
Prediction was rebuilding too much thinglist data
...
- Stopped player prediction from rebuilding more sector list data then
the player originally had.
2014-06-16 03:34:33 +12:00
Edward Richardson
546ae759fd
Cleanup old prediction fix development code
2014-04-02 21:25:45 +13:00
Edward Richardson
be33d2894a
Fixed prediction thinglist order restoration
...
Prediction didn't take sector_thinglist and thinglist order into
account.
This notably broke the order in which things were damaged.
2014-04-02 21:25:12 +13:00
Edward Richardson
79abe2d4e9
Made onground a player property
...
"onground" was a global, despite being treated as a player property and
crossed with instances from other players or prediction.
2014-03-03 01:00:47 +13:00
Randy Heit
e7f427aa60
Merge branch 'maint'
2014-02-24 19:26:50 -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
Edward Richardson
a993b0288a
Stop prediction from playing and stopping sounds
...
Player prediction would play *jump and stop falling sounds, creating odd
cases of sound repetition before the gametic caught up.
2013-12-16 23:02:27 +13:00
Randy Heit
1f723c10ae
Add CF_INTERPVIEW for players.
...
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
similar ACS APROPs set this when changing an angle. This forces the
renderer to interpolate the view angles instead of updating with the
latest mouse positions. The effect lasts one tick.
2013-10-09 21:50:24 -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
Christoph Oelckers
bba092cc0b
Merge branch 'master' into scripting
...
Conflicts:
src/d_player.h
src/g_doom/a_archvile.cpp
src/thingdef/thingdef.h
src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Christoph Oelckers
34b71baad1
- added Player.Aircapacity property which is used as a multiplier for the level's air supply.
2013-08-09 11:57:14 +02:00
Randy Heit
9c86f1c220
Merge branch 'master' into scripting for plugged userinfo memory leak
...
Conflicts:
src/d_player.h
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Christoph Oelckers
f3d8790995
Merge branch 'maint' of https://github.com/rheit/zdoom into maint
2013-07-22 22:54:45 +02:00
Christoph Oelckers
83bd8ba1b8
- added NeuralStunner's player.userange submission, but changed it to use the value directly from the PlayerPawn data.
...
- bumped savegame version for addition of APlayerPawn::userange.
2013-07-22 22:37:50 +02:00
Christoph Oelckers
3e8e587ac7
- fixed another leak with userinfos: Since they are no longer POD they may not be memset to 0 in the player_t constructor.
2013-07-14 12:37:25 +02:00
Randy Heit
459ad5abff
- Updated scripting branch to latest version in trunk.
...
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
2668988870
- Switched to a genericly extensible representation for userinfo.
...
- Fixed: The playerinfo CCMD did not range check the player number.
SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
b845fdb5d5
- Fixed: There's more than one place where the CROUCHABLEMORPH flag needs to be checked.
...
SVN r4228 (trunk)
2013-04-28 02:31:34 +00:00
Randy Heit
cb64014494
- Added CROUCHABLEMORPH flag for the PlayerPawn class. Use this to indicate that a morphed
...
player class can crouch. (Regular players can always crouch, hence the name CROUCHABLEMORPH
and not CANMORPH or ALLOWMORPH.)
SVN r4221 (trunk)
2013-04-19 02:24:20 +00:00
Randy Heit
0a9a54fca8
- Multiply the resulting velocity by the player's speed when "jumping" underwater.
...
SVN r4209 (trunk)
2013-04-09 21:57:48 +00:00
Randy Heit
324b13c89b
- Added Weapon.MinSelectionAmmo1 and Weapon.MinSelectionAmmo2 to exclude weapons from autoselection
...
even if they have enough ammo to be used.
SVN r4203 (trunk)
2013-03-24 02:25:12 +00:00
Randy Heit
e4127111b1
- A player's Speed is now applied to their upmove as well as their forwardmove and sidemove.
...
SVN r4195 (trunk)
2013-03-21 03:47:39 +00:00
Braden Obrzut
356bfe81e3
- Cleared GCC warnings.
...
SVN r4159 (trunk)
2013-02-22 18:16:23 +00:00
Randy Heit
951adbb21f
- Fixed: When adding a forwardmove value, P_Bob() needs to do the same pitch-dependent scaling
...
as P_ForwardThrust().
SVN r4132 (trunk)
2013-02-14 01:29:53 +00:00
Randy Heit
62b23901eb
- Fixed: spynext/prev were unreliable with player prediction.
...
SVN r4130 (trunk)
2013-02-12 23:23:33 +00:00
Randy Heit
ed8a33aeaf
- Use P_DropWeapon() everywhere it makes sense.
...
SVN r4045 (trunk)
2013-01-25 03:32:49 +00:00
Randy Heit
281ac3a49a
- Separate the player weapon state flags from the other player "cheat" flags.
...
SVN r4041 (trunk)
2013-01-25 03:09:17 +00:00
Braden Obrzut
dcb1a3c8bd
- GCC warning cleanup
...
SVN r4031 (trunk)
2013-01-21 22:30:30 +00:00
Randy Heit
60fb004a78
- Do not double-scale player classes that use non-1.0 default scales.
...
SVN r4011 (trunk)
2013-01-02 03:52:58 +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
80782d7e5e
- Fixed: Because PClass is a child of DObject now, attempts to serialize them get caught by
...
the DObject serialization template. Therefore, FArchive::SerializeObject() needs to be
able to handle them specially from other objects.
SVN r3924 (scripting)
2012-10-30 01:38:05 +00:00
Randy Heit
47eec0b275
- Added tracking of time spent specifically in running action functions. I feel kind of stupid
...
about this now. I spent three days trying to figure out why the VC++ debug version was so slow.
It turns out I had a conditional breakpoint set in a high-traffic area. D'oh!
The rest of this stuff should get merged into trunk:
- Fixed: Writing to debugfile uses the standard fprintf, which does not understand %td on VC++.
- Fixed: Instead of crashing when a sprite has been scaled to 0, just don't draw it.
SVN r3896 (scripting)
2012-10-21 03:46:17 +00:00
Randy Heit
38d7b7d203
- Fixed errors and warnings when compiling with GCC. (Unfortunately, the VC++ debug builds
...
become ungodly slow when using mods with complex DECORATE. The GCC debug builds run just
fine, however. Hopefully this is something that can be fixed later with an assembly-optimized
version of the main VM loop, because I don't relish the thought of being stuck with GDB
for debugging.)
- Fixed: The ACS_Named* action specials were erroneously defined as taking strings instead of
names.
- Fixed: Copy-paste error caused FxMultiNameState::Emit to generate code that called
DecoNameToClass instead of DecoFindMultiNameState.
- Updated FxActionSpecialCall::Emit for named script specials.
- Fixed inverted asserts for FxMinusSign::Emit and FxUnaryNotBitwise::Emit.
SVN r3893 (scripting)
2012-10-18 03:19:27 +00:00
Randy Heit
e7efa1d802
- Update to latest version in trunk.
...
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
0ac94c5265
- Precache player sounds at level load.
...
SVN r3841 (trunk)
2012-08-22 23:46:47 +00:00
Randy Heit
a505352da3
- Added noclip2 cheat. This is similar to noclip, except it also adds nogravity and the ability to fly through 3D floors.
...
SVN r3832 (trunk)
2012-08-22 21:31:48 +00:00
Randy Heit
100391507e
- Added two new PlayerPawn properties:
...
* GruntSpeed: The minimum speed a player must be falling at the time of landing to play *grunt.
* FallingScreamSpeed: When a player is falling within this range of speeds, they will play *falling.
SVN r3829 (trunk)
2012-08-14 03:24:59 +00:00
Randy Heit
37dffe210f
- Fixed: player_t::settings_controller was not serialized.
...
SVN r3780 (trunk)
2012-07-21 03:04:59 +00:00
Randy Heit
562cf04db2
- Update scripting branch to trunk.
...
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
b6fb733a81
- Oh, dear I committed the wrong version of the fix in r3722.
...
SVN r3723 (trunk)
2012-07-01 03:35:52 +00:00
Randy Heit
a71b2210a1
- Fixed: Do not override the player's sprite if it's TNT1 and the player is uncrouched without
...
a specific crouch sprite defined by both the player class and skin.
SVN r3722 (trunk)
2012-07-01 03:33:49 +00:00
Christoph Oelckers
3a24790056
- fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
...
- fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.
SVN r3649 (trunk)
2012-05-13 07:54:44 +00:00
Randy Heit
da08b14895
- Moved the regeneration powerup's effect out of P_PlayerThink() and into APowerRegeneration::DoEffect().
...
SVN r3640 (trunk)
2012-05-11 04:05:55 +00:00
Christoph Oelckers
75dc6cb0b2
- changed damage screen blending code so that the same version can be used by any renderer.
...
- added GZDoom's version of blending for Strife's hazard sectors as an option to the paletteflash CVAR.
SVN r3613 (trunk)
2012-05-01 11:27:54 +00:00