Commit graph

4290 commits

Author SHA1 Message Date
Christoph Oelckers
5f08111a34 - fixed: The GL voxel palette loader needs to handle the case when the voxel has no own palette and used the game's base palette instead. Also added an implementation for GetPixels because this is used when a voxel needs a translated palette. 2013-09-28 23:33:55 +02:00
Braden Obrzut
658b4f7e0f - For some reason git decided not to include the actual changes for the last commit. 2013-09-21 15:30:32 -04:00
Braden Obrzut
e8bcbd14fb - Added vid_asyncblit for Linux and OS X. It defaults to true and sets SDL_AYNCBLIT on the frame buffer. This allows for ZDoom to obtain ~100% CPU usage with an uncapped frame rate on Linux like it should. (Not sure if it does anything for OS X yet.) It also makes uncapped play smoothly for me (as long as the frame rate is >= 2*refresh rate), but I'm not sure if capped feels more jittery or not. I could use some feedback here. Do note that vid_asyncblit requires a restart after the value is changed. 2013-09-21 13:20:36 -04:00
Braden Obrzut
f73275ad88 - Applied Tesseract's patch for drawimage extensions. (Extended icon support and maximum width/height.) 2013-09-21 12:46:19 -04:00
Christoph Oelckers
625883cb0c Merge branch 'master' of https://github.com/rheit/zdoom 2013-09-20 10:44:03 +02:00
Christoph Oelckers
a144221174 - changed the invisible waiting frame of the ExplosiveBarrel to use TNTA10 instead of the real barrel frame. This is so that sprite checks do not erroneously determine that there's still something to see. GZDoom's dynamic light code has problems with this. 2013-09-20 10:43:10 +02:00
Christoph Oelckers
841572d0ec - fixed: The dynamic light definition for Hexen's FireBull was incorrect. 2013-09-20 10:32:47 +02:00
Christoph Oelckers
0ff21c3af7 - fixed: Sprites may never be used as a base of a texture redirect
Due to autoexpansion to remove filtering artifacts their dimensions are not the same as for patches. But if the sprite hadn't been used yet this information won't have been set yet.
2013-09-20 10:28:12 +02:00
Randy Heit
fc843c28ba Merge branch 'maint' 2013-09-18 22:06:31 -05:00
Randy Heit
5850279090 - Fixed: Thing_SetGoal could put an actor's target and goal out of sync.
If an actor is already targeting a goal, and Thing_SetGoal is used on
  it, it would still be left targeting the old goal instead of the new
  one. This messed up checks in A_Chase for walking towards a goal vs a
  real target.
2013-09-18 22:03:59 -05:00
Randy Heit
ad7aefff20 - Fixed: Do not apply AVOIDMELEE logic when moving toward a goal 2013-09-18 21:52:29 -05:00
Randy Heit
75535fba72 Do not enter testing mode if a valid mode is not selected.
- It doesn't make much sense to "test" the current mode if a non-video
  mode is selected in the menu, so don't.
2013-09-18 21:32:46 -05:00
Randy Heit
e3741c8097 GetSelectedSize() needs to check for a valid selection.
- With mouse navigation, there's no guarantee that there even is a
  selected item.
2013-09-18 21:29:19 -05:00
Randy Heit
a7a7d5d6b3 Add missing prantheses for A_CustomPunch's puffFlags calculation
- Fixed: Need parentheses for precedence when setting puffFlags in
  A_CustomPunch. Otherwise, it's completely broken.
2013-09-18 21:25:00 -05:00
Randy Heit
d05cdb79ef Switch true to LAF_ISMELEEATTACK inside A_Punch's call to P_LineAttack() 2013-09-18 21:22:21 -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
Randy Heit
285be8db92 Fixed: wi_noautostartmap was not sync safe
- Make wi_noautostartmap a userinfo cvar. This allows it to be
  communicated across the network and saved in demos. If any player has it
  set, then the intermission screen will not automatically advance to the
  next level.
2013-09-18 20:45:39 -05:00
Randy Heit
e748c49dd0 - Fixed: m_specialpaths.cpp did not compile under Linux. 2013-09-18 17:29:42 -05:00
Christoph Oelckers
8ef130c376 Merge branch 'master' of https://github.com/rheit/zdoom 2013-09-18 09:40:48 +02:00
Christoph Oelckers
f591c5df5e - fixed: saving the config to the user's known folders should use the GAME_DIR #define, not 'zdoom' so that child ports can have their own. 2013-09-18 09:40:40 +02:00
Randy Heit
e021fba5e1 Improve NoDelay reliability.
- Instead of tying NoDelay behavior to OF_JustSpawned, use a new actor
  flag, MF7_HANDLENODELAY. This only gets cleared once it has actually
  been checked by Tick(). This is necessary because freeze mode delays the
  initial run of Tick() past the initial spawn, so OF_JustSpawned will no
  longer be set when it does the initial tick.
- Delay NoDelay processing if an actor is spawned dormant. Actors spawned
  dormant have Deactivate() called before they tick, so MF7_HANDLENODELAY
  will remain set as long as an actor is dormant. This allows the NoDelay
  handling to occur as expected once it is activated.
2013-09-17 20:44:13 -05:00
Randy Heit
a3e74bb39f Merge branch 'master' of github.com:rheit/zdoom 2013-09-17 17:32:04 -05:00
Randy Heit
88b05fe2a1 Fixed: SHGetKnownFolderPath needs to be declared as WINAPI. 2013-09-17 17:31:29 -05:00
Christoph Oelckers
c1aac878b0 Merge branch 'maint' 2013-09-15 23:12:21 +02:00
Christoph Oelckers
8847d5649a - fixed: Bridge needs to call Super::Destroy. 2013-09-15 23:11:55 +02:00
Christoph Oelckers
d36afb975c - fixed the Linux portion of m_specialpaths.cpp which had a section of GetUserFile duplicated. 2013-09-15 08:57:22 +02:00
Randy Heit
0645053431 Add support for standard file paths on Windows.
- If the current user does not have write permissions for the directory
  zdoom.exe is located in, use standard folder paths located in their home
  directory instead. This is a common scenario when people put ZDoom into
  Program Files. (Ironically, zdoom.ini used to be in AppData, buth then
  people complained when it wasn't in the same directory as zdoom.exe, so
  it got turned into zdoom-<user>.ini so at least it could retain some
  multi-user support. I'm not sure when the AppData support was removed,
  though, since it should have still been kept around for migrating
  configs to the new name.)
2013-09-14 23:07:59 -05: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
Christoph Oelckers
e4e26e7aa7 Merge branch 'maint' 2013-09-13 10:17:38 +02:00
Christoph Oelckers
ea0e4ed344 - fixed: The Hexen bridge must make its balls disappear when it gets destroyed.
Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
2013-09-13 10:07:43 +02:00
Christoph Oelckers
fef0782a43 - added glext headers to the project because they seem to be broken in newer versions, causing compile errors on Linux. 2013-09-12 10:27:32 +02:00
Christoph Oelckers
2885056f46 - moved GLEXT API out of RenderContext struct. 2013-09-03 18:29:39 +02:00
Christoph Oelckers
26943fe3fd - removed gl interface function pointers for all OpenGL32.dll entry points. 2013-09-03 14:05:41 +02:00
Christoph Oelckers
37de4bea67 Merge branch 'master' of https://github.com/rheit/zdoom 2013-09-03 09:02:44 +02:00
Christoph Oelckers
18386e4b23 Merge branch 'maint' 2013-09-03 08:44:52 +02:00
Christoph Oelckers
11c026ee84 - fixed: displaying sprites on the automap ignored both the actor's scale and translation. 2013-09-03 08:34:55 +02:00
Christoph Oelckers
75dd5503cf - fixed: Cost strings for dialogues must not be added in the dialogue parser but while displaying the message to properly handle stringtable entries. 2013-09-03 08:24:47 +02:00
Christoph Oelckers
4ed27c22fd Merge branch 'master' of https://github.com/MazterQyou/zdoom 2013-09-03 07:59:37 +02:00
Alex Qyoun-ae
b6baeecd9a Fixed compilation with LLVM compilers 2013-09-03 03:49:39 +04:00
Christoph Oelckers
ba2a07fb26 - removed all uses of single precision floats from FraggleScript code. 2013-09-02 09:08:47 +02:00
Christoph Oelckers
4dc06cca70 - changed minimum required GL version to 1.3. The only 1.4 feature that's required is mipmap generation which on many older cards is available as an extension. The worst thing that can happen with relaxing the version requirement is that on a few ancient graphics cards the mipmapped texture filtering modes produce garbage. 2013-09-02 08:43:56 +02:00
Christoph Oelckers
bab56106c1 Merge branch 'master' of https://github.com/rheit/zdoom 2013-08-31 21:53:11 +02:00
Randy Heit
267030c759 Merge branch 'maint' 2013-08-30 23:13:32 -05:00
Randy Heit
260ce62175 Don't abort for TEXTUREx lumps that define textures with no patches
- A texture defined in TEXTUREx without any patches isn't necessarily an
  error, so accept. This also means they shouldn't be used for determining
  if a TEXTURE directory belongs to Strife instead of Doom.
2013-08-30 23:10:20 -05:00
Randy Heit
b0371e1804 Don't abort when merely checking if a non-map is a map
- When P_OpenMapData() is called by P_CheckMapData(), we don't actually
  care if any required lumps are missing. This just means it isn't a valid
  map, so don't abort with I_Error().
2013-08-30 22:38:57 -05:00
Randy Heit
33ee8f9fef Merge branch 'maint' 2013-08-29 22:27:49 -05:00
Randy Heit
a4fcbf5e06 Merge branch 'master' of github.com:rheit/zdoom 2013-08-29 22:27:27 -05:00
Randy Heit
0f0d9da839 Reset FirstFreeEntry in ACSStringPool::ReadStrings()
- Fixed: When an ACS string pool was read from a savegame, FirstFreeEntry
  would not be updatedt, except by the Clear() function. This left FirstFreeEntry
  at 0, which meant the next string added to the pool would always go in
  slot 0, whether it was free or not.
2013-08-29 22:22:30 -05:00
Randy Heit
7143ae49e1 Fixed: CheckPlayerCamera not sync safe
-  If a player is spying through another player, CheckPlayerCamera will
   return the TID of the player you are "spying", but as coopspy isn't a
   net command, this wont be reflected by all nodes. So to fix this,
   CheckPlayerCamera now returns -1 if a player's camera is that of any
   player at all. (thanks edward850)
2013-08-29 21:45:37 -05:00
Randy Heit
aac0de3e48 Fixed: Make A_SetTics work with weapons.
- When A_SetTics is called from a weapon, we need to set the tics for the
  psprite instead of the actor itself.
2013-08-29 21:40:01 -05:00