Commit graph

180 commits

Author SHA1 Message Date
Christoph Oelckers
29ecbac963 - fixed: The demo buffer was allocated with conflicting methods, because M_ReadFile used new whereas the rest of the demo code assumed malloc. Added a new M_ReadFileMalloc function to handle this case without rewriting other things. 2014-11-25 17:00:17 +01:00
Christoph Oelckers
ad5c5af6f2 Merge branch 'BotThinker' of https://github.com/ChillyDoom/zdoom 2014-11-25 16:13:10 +01:00
ChillyDoom
ee977f94d7 - Moved bot thinking logic into DBot. 2014-11-14 16:54:56 +00:00
Edward Richardson
16e0f79fd7 Fix alt-tabbed desync with demos
- Fixed: Stop the game timer if the window looses focus
2014-11-11 02:18:52 +13:00
ChillyDoom
a613da43dd - Bot movement is now calculated locally. 2014-11-08 17:38:09 +00:00
Edward Richardson
eceb37aa64 Added recordmap for recording demos from console
recordmap <filename> <map name>
Starts a new game from the specified map recording to the specified
filename
2014-11-01 17:47:29 +13: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
c400dcf736 - Made DBot inherit from DObject. 2014-10-15 17:54:12 +01: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
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
Edward Richardson
3e4446e46b Moved prediction lerp reset to cover all cases. 2014-10-13 16:49:53 +13:00
Edward Richardson
3e6ad8c1a8 Further work on prediction lerping 2014-10-13 00:29:15 +13:00
Edward Richardson
ae71f94ed2 Remove disconnecting players safely
Players who were disconnecting would be removed outside of the playsims
control, causing problems with sector lists.
2014-10-05 18:04:11 +13:00
Christoph Oelckers
a21f01bc5f - added jpalomo's submission to make freelook a 3-state setting, like crouch and jump. This required moving around the flags a bit so demo compatibility had to be bumped. It may also require adjustment for launchers that can set the dmflags. 2014-07-26 10:15:07 +02:00
Edward Richardson
842ef86e73 Don't reset the inventory of dead players 2014-06-09 19:54:40 +12:00
Christoph Oelckers
4acc04ce68 - don't truncate map names stored in demos. 2014-05-18 10:05:35 +02:00
Christoph Oelckers
24886b6734 - removed the last static character arrays from FLevelLocals. 2014-05-13 23:16:13 +02:00
Christoph Oelckers
e126c3ec2f Merge branch 'maint' 2014-01-17 20:45:20 +01:00
Edoardo Prezioso
884928687d - Fixed overflow checking in some viewpitch code 2014-01-17 19:27:12 +01:00
Randy Heit
fe67ae5e54 Merge branch 'maint' 2013-11-19 21:01:15 -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
da02a44126 Consolidate special path functions into m_specialpaths.cpp
- Also remove CDROM_DIR while I'm at it.
2013-09-14 21:04:00 -05:00
Edoardo Prezioso
4ce0574b3f - Use a more conformant C++ preprocessor macro identifier for Unix systems.
The 'unix' identifier isn't defined when '-std' is passed to the compiler (tested with gcc and clang), so use '__unix__' which is well enough documented.
2013-07-30 11:46:14 +02:00
Christoph Oelckers
805de60aa4 - fixed: ChangeSpy didn't check if a player's camera's player pointer was valid before using it to get an index into the players table. 2013-07-30 09:16:27 +02:00
Christoph Oelckers
4189092db8 - spycancel improvement by Edward-san. 2013-06-24 22:50:24 +02:00
Christoph Oelckers
4286bd68cd - added Edward-san's spycancel submission. 2013-06-23 20:04:06 +02:00
Randy Heit
98ac224e53 - Use gitinfo.h instead of svnrevision.h for versioning.
- Use functions in gitinfo.cpp to retrieve the strings from gitinfo.h so
  that changes to gitinfo.h only require recompiling one file instead of
  several.
2013-06-22 21:49:51 -05: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
98ea4d3d51 - Added C_GetMassCVarString(), which C_WriteCVars() is now a wrapper around. (And the latter
should probably be factored away eventually.)

SVN r4185 (trunk)
2013-03-17 03:04:17 +00:00
Braden Obrzut
88a0d22f23 - Fixed: Playing strife forced the inventory to be used immediately instead of being determined by the presence of an inventory overlay.
SVN r4173 (trunk)
2013-03-03 19:12:21 +00:00
Randy Heit
6e3d784c50 - Fixed: G_CheckSpot() should not use the player start's z position unless LEVEL_USEPLAYERSTARTZ is set.
SVN r4070 (trunk)
2013-02-07 21:09:55 +00:00
Randy Heit
e0a137b725 - Removed the netdemo flag, because it's redundant with (netgame && demoplayback).
SVN r4050 (trunk)
2013-01-26 03:28:54 +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
65267ec250 - Use an FString to store demoname instead of a fixed-size array. Fixes crashes when passing
really long names to -record. On the other hand, if it's long enough to overflow the old
  buffer, it'll probably fail to be created now because the name is too long for the OS
  functions.

SVN r3936 (trunk)
2012-11-03 03:07:46 +00:00
Randy Heit
0c8e4c37d9 - The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
SVN r3750 (trunk)
2012-07-08 02:18:15 +00:00
Randy Heit
71601f91d1 - Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all
player starts are added to a pool, and players spawn at a random spot.

SVN r3749 (trunk)
2012-07-08 01:43:47 +00:00
Randy Heit
390fd5dd6c - Pass playernum as a parameter to P_SpawnPlayer(). Now P_SpawnMapThing() is the only thing
that uses the MapThing's type to determine the which player is spawning.

SVN r3748 (trunk)
2012-07-07 22:52:37 +00:00
Randy Heit
fd784b05c2 - Fix some GCC 4.7.1 warnings.
SVN r3747 (trunk)
2012-07-07 03:43:11 +00:00
Randy Heit
6e5c048df8 - Bah, you, GCC.
- Forgot to remove the _heapchk() calls.



SVN r3691 (trunk)
2012-06-16 04:28:23 +00:00
Randy Heit
08272a29ad - Added textual descriptions of the zlib errors.
SVN r3689 (trunk)
2012-06-16 03:29:44 +00:00
Christoph Oelckers
9c4a565366 - fixed: Inventory clearing after changing a level with the ACS ChangeLevel command did not properly clear the inventory. This will now use the same code as the ACS ClearInventory command.
SVN r3673 (trunk)
2012-05-31 09:46:07 +00:00
Randy Heit
11bf757a2f - Make player unmorphing the first thing that happens in G_PlayerFinishLevel() so that all
inventory fiddling happens on the real player and not the morphed player.

SVN r3619 (trunk)
2012-05-04 02:25:16 +00:00
Randy Heit
8632c0db04 - Fixed: The lookup and lookdown buttons should set LocalKeyboardTurner so that the pitch
change is interpolated.

SVN r3595 (trunk)
2012-04-26 02:41:58 +00:00
Randy Heit
5e85f736bb - Fixed: Reset to the PlayerPawn's default render style and alpha in G_PlayerFinishLevel().
SVN r3502 (trunk)
2012-04-01 03:18:34 +00:00
Randy Heit
f6f8d74635 - Fixed: Trying to -playdemo a demo recorded from -loadgame would crash if you did not -loadgame
the corresponding save.

SVN r3498 (trunk)
2012-04-01 01:40:57 +00:00
Randy Heit
cc34f973e2 - Fixed: Using -playdemo in conjunction with -loadgame did not work.
SVN r3481 (trunk)
2012-03-25 01:54:36 +00:00
Randy Heit
0a03676796 - Fixed: Switching maps using the ResetHealth flag while dead would prevent proper
reinitialization of the player on the new map.

SVN r3478 (trunk)
2012-03-23 23:24:30 +00:00
Randy Heit
43033df455 - Fixed: G_DeathMatchSpawnPlayer() would fail to spawn a player when using "spawn furthest" and
all the deathmatch spots are filled and there is no coop start for the specific player to
  fallback on.

SVN r3472 (trunk)
2012-03-23 02:53:52 +00:00
Randy Heit
77c663a9b8 - In conjunction with all the below changes, attempt to fix A_CheckSightOrRange and A_CheckSight
for multiplayer: They now always check through the eyes of every player. For players whose
  cameras are not players, they also check through the eyes of those cameras.
- Using spynext/spyprev to switch from a non-player to a player now writes a command to the
  network stream and lets Net_DoCommand() take care of it later. The logic here is that if
  a player is viewing from something that isn't another player, then every player needs to know
  about it for sync purposes. Consequently, when they stop viewing from a non-player and switch
  to a player, everybody needs to know about that too. But if they are viewing from a
  player, it doesn't matter which player it is, so they can spynext/spyprev all they want
  without letting the other players know about it (and without potentially breaking demos--due
  to the above-mentioned two codepointers--while doing it during demo playback).
- Replaced the instances of checking players[consoleplayer].camera for a valid pointer to
  ones that do it for every player.
- Fixed: Upon changing levels, all players but the consoleplayer would have their cameras NULLed.
- Fixed: player_t::FixPointers() needs to bypass the read barriers, or it won't be able to
  do substitutions of old objects that are pending deletion.

SVN r3448 (trunk)
2012-03-17 00:52:33 +00:00
Randy Heit
2f8d6beb1e - Be less verbose when attempting to play non-ZDoom demos.
SVN r3327 (trunk)
2011-12-06 01:52:07 +00:00