Commit graph

3763 commits

Author SHA1 Message Date
Christoph Oelckers
8bf5872fc0 - always add DelayImp.lib for MSVC. 2013-11-24 10:27:08 +01:00
Randy Heit
fe67ae5e54 Merge branch 'maint' 2013-11-19 21:01:15 -06:00
Randy Heit
f4e9edccb9 Don't display the cost in dialogues twice
- Fixed: Commit 75dd5503, which was to enable the use of LANGUAGE
  substitutions for conversation items with a cost attached, neglected to
  remove the original code that attached the cost to the end of the item,
  so the cost got added twice.
2013-11-19 19:55:57 -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
Braden Obrzut
c7099744bd - Minor changes to the CMake since it looks like VS2005 doesn't support a few things that were added. 2013-11-11 23:56:58 -05:00
Edward Richardson
a967b05290 Improvements to restoring stalled netgames
- The waiting message is now always cleared, regardless if it needed to
be in the first place. It's a rather simple for-loop so I doubt it
matters.
- Nodes are also cleared from the list if they catch up while other
nodes are still behind.
- "lastglobalrecvtime" is now bumped after the waiting loop if a tic was
successful, rather then bumping it every time a packet was received. It
appears that you can receive a packet before the game knows it stalled,
thus stalling it anyway.
- Instead of comparing the nettics to the local node, all nodes are
tested against gametic+counts (the real reason why the game has
stopped).
- More then one node can be marked as late at any one time.
- In a packet-server game, the arbitrator is now assumed slow, rather
then testing it. There is no point, seeing as we already know the game
has stalled because of it.
2013-11-11 20:42:54 +13:00
Braden Obrzut
34457ce737 - Applied VoidMage's patch to strip color codes from system console on SDL platforms. 2013-11-06 13:42:05 -05:00
Braden Obrzut
f0b946c3cf - Allow use of system GME library. It defaults to forcing the use of the internal library at least for now though. 2013-11-06 13:37:34 -05:00
Braden Obrzut
2142e857a9 - Applied VoidMage's OpenAL patch. 2013-10-23 19:41:58 -04:00
Braden Obrzut
97d7b1e59e Merge branch 'origin/maint'
Conflicts:
	src/sound/fmodsound.cpp
2013-10-23 19:39:22 -04:00
Braden Obrzut
7dbf4ec38f - Slight cleanup and I accidentally inverted the map generation flag. 2013-10-12 01:58:39 -04:00
Braden Obrzut
0759a4b438 - Actually, lets not use /Gm since it's incompatible with /MP which will be much faster on multi-core machines.
- Added ZDOOM_GENERATE_MAPFILE which enables linker map file generation.
2013-10-12 01:44:57 -04:00
Braden Obrzut
03b75ae7c1 - Fixed a few flags for Visual Studio compilation. 2013-10-12 00:56:49 -04:00
Braden Obrzut
b9a1528747 - DYN_FLUIDSYNTH now defaults to ON.
- Added ZDOOM_OUTPUT_OLDSTYLE (could probably use a more descriptive name) which causes CMake to vary the executable name by build type and place the exes and pk3s into the directory specified in ZDOOM_OUTPUT_DIR.
- ALL_BUILD will now launch ZDoom.
2013-10-10 17:40:15 -07:00
Randy Heit
d76dbcaa9d Merge branch 'maint' 2013-10-09 22:33:58 -05:00
Randy Heit
02514dc9b2 - Fixed: AFSwordMissile::DoSpecialDamage had a unique prototype
so it would never actually be called.
2013-10-09 22:32:52 -05:00
Randy Heit
637798c1b5 Add handling for +warp at the command line.
- Command-line console commands are executed before a level is entered, so
  trying to use +warp to position yourself at a specific location will not
  work. We now specially handle this command so that it does work.
2013-10-09 22:15:11 -05: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
c2bac9d2df Add WorldPanning flag for camera texture definitions.
- To make camera textures pan in world units instead of texture units, you
  can now add "WorldPanning" at the end of the cameratexture definition in
  ANIMDEFS, after the "fit" specification. e.g.

    cameratexture CAMTEX 128 128 fit 64 64 worldpanning
2013-10-09 21:29:28 -05:00
Christoph Oelckers
03f19a12fa Merge branch 'maint' 2013-10-09 12:52:33 +02:00
Christoph Oelckers
8170cfbf98 - added my own FMOD path to CMakeLists.txt so that I can use it to create VC++ 2010 files with it. 2013-10-09 12:52:07 +02:00
Randy Heit
242f2ab7b0 Merge branch 'maint' 2013-10-08 21:51:51 -05:00
Randy Heit
0c9c624e8c Do not follow NextThinker links in DestroyThinkersInList
- Fixed: DThinker::Destroy(Most)ThinkersInList() were unreliable when
  destroyed thinkers destroyed more thinkers in the same list.
  Specifically, if the thinker it destroyed caused the very next thinker
  in the list to also be destroyed, it would get lost in the thinker list
  and end up with a NULL node. So just keep iterating through the first
  thinker in the list until there are none left. Since destroying a
  thinker causes it to remove itself from its list, the first thinker will
  always be changing as long as there's something to destroy.
2013-10-08 21:32:26 -05:00
Randy Heit
3c376aa342 Move C_ExecCmdLineParams() call slightly later in the startup process.
- Fixed: You could not set any CVARINFO-defined cvars from the command line
  because command line console commands were executed before wads were
  even loaded. Off the top of my head, I can't think of anything that would\
  break by having them get executed after wads are loaded.
2013-10-08 20:18:35 -05:00
Randy Heit
d558cf51a9 - Fixed: ABackpackItem::CreateTossable did not check for failure from the supermethod. 2013-10-08 19:59:46 -05:00
Braden Obrzut
4ced90756a - Let CMake know about noncompiled cpp files so they can appear in project files.
- Fixed: Somehow when I added a way to disable generator expressions I inverted the meaning of NO_GENERATOR_EXPRESSIONS.
2013-10-08 15:35:50 -04:00
Christoph Oelckers
eb186a5b92 Merge branch 'maint' 2013-10-07 11:58:53 +02:00
Christoph Oelckers
c4d2a021b0 - fixed: AInventory::BecomePickup must not restore the MF_COUNTITEM flag when transforming the inventory item into a pickup again. 2013-10-07 11:53:58 +02:00
Braden Obrzut
f386d6b1e3 - Embed the proper manifest file and group soure files when building Visual Studio projects with CMake. (The groups probably also apply to other project types as well.) 2013-10-06 14:37:51 -04:00
Braden Obrzut
ffae34c5fd - Changed the new default alignment keyword for drawimage from topleft to none in order to allow a potential topleft without image offsets. 2013-09-30 20:02:05 -04: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
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
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
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
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
Randy Heit
28e5cc536a Add some awareness of short file names
- Added I_GetLongPathName(). It wraps the Win32 API's GetLongPathName().
  DArgs::CollectFiles() now calls this for every argument it processes, so
  any arguments passed using short file names will be converted to long
  file names. This is mainly of interest so that savegames will never
  record the short file name, which can change based on what else is in
  the directory.
2013-08-29 21:24:05 -05:00
Christoph Oelckers
9c2454eacc Merge branch 'maint' 2013-08-28 11:20:53 +02:00
Christoph Oelckers
26c381224c - removed unused constants in p_map.cpp. 2013-08-28 11:16:30 +02:00
Christoph Oelckers
f8899f98fc - fixed: The secret counter was not incremented for items that had the UDMF COUNTSECRET flag set. 2013-08-28 11:14:48 +02:00
Braden Obrzut
0a16e9a256 - Fixed uninitialized variable in A_AlertMonsters. 2013-08-27 20:42:35 -04:00
Braden Obrzut
0fb37ca5f1 Merge branch 'maint' 2013-08-27 20:41:10 -04:00
Braden Obrzut
5079d6c505 - Fixed: clang 32-bit compile (I hear it still doesn't run though).
- Applied edward's patch to remove boolean increment.
2013-08-27 20:28:38 -04:00
Christoph Oelckers
8e8f6cf5a6 - A_AlertMonsters flags submission by NeuralStunner. 2013-08-20 20:33:03 +02:00
Christoph Oelckers
116defbb35 - fixed: LookForEnemiesInBlock needs to check for MF7_NEVERTARGET. 2013-08-18 09:11:40 +02:00
Christoph Oelckers
62830f7927 - added separate automap color for non-counting monsters.
- fixed: using a nonexistent CVAR in a ColorPicker menu item caused a crash.
2013-08-14 00:32:05 +02:00
Christoph Oelckers
c8b4fb0d3d - added a 'closemenu' CCMD so that menu options that close the menu can be added. 2013-08-13 21:09:46 +02:00
Christoph Oelckers
7a87e08107 - added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place. 2013-08-13 21:01:14 +02:00
Christoph Oelckers
9ebf345fec Merge branch 'maint' 2013-08-13 08:53:23 +02:00
Christoph Oelckers
1b79f7d956 - fixed chance default for ACS's DropItem. 2013-08-13 08:52:53 +02:00
Christoph Oelckers
3518b4dd28 - allow menu's back button and the pause sign to be animated. 2013-08-12 22:46:45 +02:00
Christoph Oelckers
61c94648dc - added ACS CheckFlag function. 2013-08-12 22:38:52 +02:00
Christoph Oelckers
ba3e57281a Merge branch 'maint' 2013-08-12 21:12:20 +02:00
Christoph Oelckers
072b66fb9f - fixed: The music that's defined in the Gameinfo section of MAPINFO could not set the order for multitrack music lumps. 2013-08-12 21:11:53 +02:00
Christoph Oelckers
aa03609b69 - added IF_TOSSED inventory flag. 2013-08-12 21:00:23 +02:00
Christoph Oelckers
be1a00c537 Merge branch 'maint' 2013-08-12 20:42:21 +02:00
Christoph Oelckers
e14590d8ce - moved NOTELESTOMP to flags7. When committing I was accidentally on maint instead of master and in master flags6 was already full. 2013-08-12 20:41:33 +02:00
Christoph Oelckers
44a1b94ad9 - added MF6_NOTELESTOMP flag that prevents an actor from telefragging under all possible circumstances. 2013-08-12 20:23:54 +02:00
Christoph Oelckers
f2c250d35d - flags7 variable added to AActor. 2013-08-12 20:09:21 +02:00
Christoph Oelckers
2bcc5cd7cc Merge branch 'maint' 2013-08-12 09:14:18 +02:00
Christoph Oelckers
ecfe67dd78 - removed weirdness from Powerup.Strength property that was specifically tailored to its use on PowerInvisibility and made its use problematic elsewhere. 2013-08-12 09:13:55 +02:00
Christoph Oelckers
fabf8272e6 Merge branch 'maint' 2013-08-11 21:04:17 +02:00
Christoph Oelckers
1b2d8420bb - DropItem for ACS. 2013-08-11 20:57:53 +02:00
Christoph Oelckers
c0174ea7cd - Added A_DropItem for DECORATE. 2013-08-11 20:48:08 +02:00
Christoph Oelckers
35764ff3b2 - fixed: Powerup.Strength is a fixed point value, so using it as health amount for PowerRegeneration requires division by FRACUNIT. 2013-08-11 20:39:53 +02:00
Christoph Oelckers
5bb4b558a4 Merge branch 'maint' 2013-08-11 13:37:36 +02:00
Christoph Oelckers
c5cba70fc8 - removed obsolete quit message #defines. 2013-08-11 13:36:48 +02:00
Christoph Oelckers
c7a46492eb - fixed bad index variable in R_RenderFakeWallRange. 2013-08-11 12:41:14 +02:00
Christoph Oelckers
3bcc4078b1 Merge branch 'maint' 2013-08-10 10:19:20 +02:00
Christoph Oelckers
1c889dc9fa - let APowerRegeneration use the Strength property to define the amount of regeneration it gives. 2013-08-10 09:51:48 +02:00
Christoph Oelckers
c8f0df44f2 Merge branch 'maint'
Conflicts:
	src/am_map.cpp
2013-08-10 09:41:50 +02:00
Christoph Oelckers
25ec3fb8fe - added MF6_RELATIVETOFLOOR flag. 2013-08-10 09:32:55 +02:00
Christoph Oelckers
211d293002 - added MF6_NOTONAUTOMAP flag to exclude things from being shown with the scanner powerup. The IDDT cheat will not be affected by this. 2013-08-10 08:53:37 +02:00
Christoph Oelckers
55f637c906 - fixed: When creating colormaps for 3D floors the model sector's fade value must be used when defining a fog volume. 2013-08-09 23:40:34 +02:00
Christoph Oelckers
9c12c03684 Merge branch 'maint' 2013-08-09 20:36:08 +02:00
Christoph Oelckers
6a07118ea4 - added ML_BLOCKHITSCAN line flag. 2013-08-09 20:35:10 +02:00
Christoph Oelckers
a78ad3188b - added MF5_NOFORWARDFALL flag to prevent attacks from making its victim fall forward randomly. 2013-08-09 20:20:23 +02:00
Christoph Oelckers
0a258f95ea - added gravity property to UDMF things. Positive values are multiplied with the class's gravity property, negative values are used as their absolute. 2013-08-09 16:25:16 +02:00
Christoph Oelckers
21bce3b0c4 Merge branch 'maint' 2013-08-09 12:51:26 +02:00
Christoph Oelckers
5d0369d4ed - Ability to set A_VileAttack's initial attack's damage type - by BlueShadow. 2013-08-09 12:18:58 +02:00
Christoph Oelckers
b187451a71 - added APROP_ViewHeight and APROP_AttackZOffset submission by TheFortuneTeller. 2013-08-09 12:06:51 +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
Christoph Oelckers
a0c214104d Merge branch 'maint' of https://github.com/rheit/zdoom into maint 2013-08-09 11:47:33 +02:00
Christoph Oelckers
e6c880c93a - fixed: The sector's 'hidden' UDMF property did not properly clear the corresponding flag if the value was 'false'.
- added UDMF 'waterzone' property for sectors.
2013-08-09 11:47:25 +02:00
Christoph Oelckers
151d54aaf5 - added 3 more modes for am_cheat: 4-6 are the same as 1-3 with the exception that lines not drawn on the regular automap won't be shown. 2013-08-09 11:32:46 +02:00
Christoph Oelckers
9f35788164 - added custom automap overlay colors.
- extended am_drawmapback so that map backgrounds can only be drawn if used with custom colorsets and Raven's, assuming that these sets were specifically made for the accompanying backgrounds.
2013-08-09 11:00:24 +02:00
Braden Obrzut
5b228ae5a7 Merge branch 'maint' 2013-08-09 00:25:51 -04:00
Braden Obrzut
7e76fb0078 - Fixed: Disable ifitem jumping if a link isn't specified since an invalid value can cause a crash. 2013-08-09 00:25:29 -04:00
Braden Obrzut
bb494292c6 - Fixed P_CheckMapData allowed non-map lump names to pass resulting in a crash when actually trying to load the map. 2013-08-08 23:47:58 -04:00
Christoph Oelckers
8f45e906d4 Merge branch 'automap_colors' 2013-08-02 18:16:05 +02:00
Christoph Oelckers
aa72857c72 - implemented automap color parser for MAPINFO (code not tested yet!) 2013-08-02 16:56:42 +02:00
alexey.lysiuk
5c05f1f3cd - Ignored dehacked.exe from *.zip files to enable loading of *.deh files. 2013-08-02 10:17:06 +03:00
Christoph Oelckers
845020c617 - ovthingcolors were not properly set.
- added all the missing color CVARs for the overlays which previously duplicated use of one of the other CVARs.
2013-07-31 23:13:20 +02:00
Christoph Oelckers
d77673d681 - reorganization of automap color handling for easier maintenance
Mostly preparation to implement a per-mod automap option but also fixes a few minor issues with some colors that are not defined in the original game specific colorsets.
2013-07-31 22:59:35 +02:00
Edoardo Prezioso
0dc70f847c - Be more compatible with C++11 narrowing conversions system. 2013-07-31 12:27:54 +02:00
Edoardo Prezioso
8cab8f180b - Be clear about the safe 'memset/memcpy' operations on virtual classes.
Since I remember that 'memset/memcpy' is safe in this code, it should be okay to cast to the generic pointer all the 'virtual class' arguments before calling the above functions. Shuts up Clang warnings.
2013-07-31 12:23:31 +02:00
Christoph Oelckers
4eb6f74e36 Merge branch 'maint' 2013-07-30 16:53:00 +02:00
Christoph Oelckers
3480d40484 - fixed: AActor::Die may only randomize the death state's duration if it is positive. Otherwise -1 (infinite) gets clobbered. 2013-07-30 16:52:36 +02:00
Christoph Oelckers
9c08a029b1 Merge branch 'maint' 2013-07-30 15:14:10 +02:00
Christoph Oelckers
a13af5cc65 Merge branch 'maint' of https://github.com/edward-san/zdoom into maint 2013-07-30 15:08:44 +02:00
Edoardo Prezioso
7e21eafc2f - Fixed mismatched alloc/dealloc in FTextureManager.
The 'TextureFrames', which is attached to all the 'mAnimatedDoors', were deleted with one-pointer 'delete' and they were allocated with 'new[]'.
2013-07-30 13:36:56 +02:00
Christoph Oelckers
e01c4e0201 Merge branch 'maint' 2013-07-30 13:18:08 +02:00
Christoph Oelckers
16456bec56 - added separate colors for the various types of 2-sided walls for the overlay automap. They previously all mapped to the same CVAR. 2013-07-30 13:17:20 +02: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
81334809c4 - changed autoloading of *.deh lumps: it is now controlled by a CVAR with 3 options: never load *.deh lumps, load all of them or only load the last one. *.deh loading is disabled by default. 2013-07-30 09:32:33 +02:00
Christoph Oelckers
27de9f45af - commented out autoloading of .DEH lumps for maint branch. 2013-07-30 09:25:07 +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
Braden Obrzut
bc71d4537e Merge branch 'maint' 2013-07-29 18:55:29 -04:00
Braden Obrzut
eb5d57be06 - Fixed: crash when closing ZDoom in the save menu and a memory leak. 2013-07-29 18:35:19 -04:00
Christoph Oelckers
c7d167d278 - used TEXTCOLOR_ #defines for colorizing CCMD list, remove use of strbin1. 2013-07-28 17:15:47 +02:00
Christoph Oelckers
6f4b09cc77 Merge branch 'master' of https://github.com/slatenails/zdoom 2013-07-28 16:42:36 +02:00
Christoph Oelckers
c253d40fbb - externalize labels for automap statistics display to the string table. 2013-07-28 16:18:57 +02:00
slatenails
48a29b769f Results for console tab-completion are now color-coded. CCMDs appear blue, CVars green and aliases red. 2013-07-28 14:58:30 +03:00
Christoph Oelckers
775ecdeebb - fall back to drawing triangles on automap when encountering actors with non-displayable sprites 2013-07-28 10:14:46 +02:00
Christoph Oelckers
992ba0bbf4 - added handling of MF3_FOILINVUL for A_BFGSpray. This function needs special treatment because the shooting player is considered the inflictor of the spray damage. 2013-07-26 00:52:12 +02:00
Christoph Oelckers
7006df8d96 - fixed sprite rotation in automap submission 2013-07-25 17:19:36 +02:00
Christoph Oelckers
9ed829c3af Merge branch 'map_sprites' of https://github.com/alexey-lysiuk/gzdoom 2013-07-25 16:39:53 +02:00
alexey.lysiuk
76e1e87456 + things as sprites on map, controlled with am_showthingsprites CVAR
drawing of sprites instead of things/players markers with am_cheat >= 2
possible am_showthingsprites values are:
0 - sprites disabled
1 - static front sprites
2 - animated front sprites
3 - animated sprites with actual things angles
2013-07-25 17:01:07 +03:00
Christoph Oelckers
6dd956c0dc - fixed: Speaker names in dialogues were not able to use the string table. 2013-07-25 15:58:47 +02:00
Christoph Oelckers
cbc0b70e7c - TransferStencilColor A_SpawnItemEx patch / by Ryan Cordell. 2013-07-24 20:15:17 +02:00
Christoph Oelckers
af470b3d56 - fixed: The global variables holding the view's fixed colormap must be preserved when rendering to a camera texture. 2013-07-23 12:32:33 +02:00
Christoph Oelckers
181181a865 - removed player_t destructor call in CopyPlayer. 2013-07-23 12:31:44 +02: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
cb3275cb40 - added NORANDOMPUFFZ flag for LineAttack - by Blue Shadow. 2013-07-22 22:47:13 +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
db562142f0 - Fix c++11 literal suffix warnings / patch by Edward-san. 2013-07-22 22:25:44 +02:00
Braden Obrzut
7723613293 - Fixed: ACS function pointer instructions were not updated when library tag size changed.
- Fixed: undefined sequence compiler warning.
2013-07-22 02:09:46 -04:00
Christoph Oelckers
a90b49dc72 - added string table replacement for A_Print, A_PrintBold and A_Log. 2013-07-14 14:33:45 +02:00
Christoph Oelckers
0c86650db0 - fixed: The savegame code for player restoration did some undefined things with the userinfo that only worked due to previous memory leaks. It must ensure that the userinfos get properly transferred and not implicitly rely on the copy assignment being used to copy the actual player data. 2013-07-14 14:22:49 +02:00
Christoph Oelckers
a59a886f94 - fixed: The SectorDamage 3D-floor code didn't account for Vavoom-style 3D floors where floor and ceiling plane of the control sector are inverted. 2013-07-14 13:24:00 +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
Christoph Oelckers
2d2498d1e2 - fixed: userinfo_t needs a destructor to delete its CVARs when it is destroyed. 2013-07-14 10:58:53 +02:00
Christoph Oelckers
e9be49f37d - fixed: R_DeinitPlanes did not free all visplanes because it called R_ClearPlanes with 'fullclear' set to false.
- removed some redundancy from R_ClearPlanes.
2013-07-14 09:47:39 +02:00
Christoph Oelckers
10dd75f902 - externalized "New save game" line for save screen. 2013-07-14 09:31:49 +02:00
Braden Obrzut
9dd3c4b2d5 - When erroring due to the lack of iwads, print instructions more relevent to the user's platform. 2013-07-05 00:45:45 -04:00
Braden Obrzut
8afece1b8a Merge branch 'maint' 2013-07-03 01:58:51 -04:00
Braden Obrzut
80a3e4f902 - Fixed: Cocoa IWAD picker needed to be updated to handle git version strings. 2013-07-03 01:58:13 -04:00
Randy Heit
5b17c0779b Version 2.7.1 2013-07-02 15:46:31 -05:00
Christoph Oelckers
44dd79953b Merge branch 'master' of https://github.com/rheit/zdoom 2013-07-02 22:02:20 +02:00
Christoph Oelckers
f1dff6c9d3 - fixed: The new XDeath code forgot to move the assignment of the flags4 variable. Also renamed the variable to avoid conflicts. 2013-07-02 22:01:54 +02:00
Randy Heit
3d61365879 Merge branch 'maint' 2013-07-02 14:51:49 -05:00
Randy Heit
e845b292c2 - Always clear bEvilGrin after checking it in FMugShot::UpdateState(). If
it's not an appropriate time to show the grin when the flag is set, it
  shouldn't be saved until later.
2013-07-02 14:48:03 -05:00
Randy Heit
5af1e6f734 - Added a compatibility option to fix Super Sonic Doom's first bonus
stage leaving you frozen when you finished it.
2013-07-02 14:15:08 -05:00
Randy Heit
d9848a8e26 Merge branch 'maint' 2013-07-01 22:21:37 -05:00
Randy Heit
23e21cc85e - Fixed: S_IsChannelUsed() is declared as static, so it should be defined
as such, too.
2013-07-01 22:02:46 -05:00
Randy Heit
001ed91fd4 - Fixed: ACS's PlaySound should mask off the flag bits from the channel
before passing it to S_IsActorPlayingSomething().
2013-07-01 22:01:26 -05:00
Randy Heit
2717ed703d Shuffle FActionMap for better 64-bit alignment. 2013-07-01 21:51:12 -05:00
Randy Heit
e9425b356b - Fixed: Verbose user info strings were written with an extra backslash
character between the key and value.
2013-07-01 21:40:09 -05:00
Braden Obrzut
cc616a417d Merge branch 'maint' 2013-07-01 16:58:14 -04:00
Braden Obrzut
02ff428d54 - Allow generator expressions to be turned off during pk3 building with CMake.
- On Mac OS X, ensure assembly code is disabled by default (since it won't work).
2013-07-01 16:57:46 -04:00
Christoph Oelckers
7e6a5c1448 - added damage type specific extreme death and extreme crash states. Order of labels is 'Death.extreme.damagetype' ('XDeath.damagetype') and 'Crash.extreme.damagetype'.
- fixed: Damage of type 'extreme' did not get recorded as an extreme death for the mugshot code.
- changed: extreme deaths now only get recorded when an extreme death state was actually used, to ensure that the crash state being used is the correct one associated with the death state.
2013-07-01 11:02:35 +02:00
Chris Robinson
665d685a44 Implement GetStats for OpenAL streams 2013-06-30 20:31:41 -07:00
Christoph Oelckers
f501983d1b Merge branch 'maint' 2013-06-30 18:16:38 +02:00
Christoph Oelckers
310979e9e6 - fixed clang compile error "friend declaration specifying a default argument must be the only declaration". 2013-06-30 18:16:02 +02:00
Chris Robinson
68988ab93c Handle S8 and U16 samples from SDL_sound 2013-06-30 08:16:49 -07:00
Chris Robinson
c4492f88ee Make sure streams are "pumped" 2013-06-30 08:04:41 -07:00
Chris Robinson
ba3cc38d09 Support float stream callbacks with AL_EXT_FLOAT32 2013-06-30 08:04:08 -07:00
Chris Robinson
69af01d629 Use SDL_sound when available to decode files 2013-06-30 07:45:57 -07:00
Chris Robinson
99209c4a2a Remove an unnecessary function 2013-06-30 04:47:10 -07:00
Chris Robinson
5d1cd7b7fe Small fixups
find -> std::find
AL_EXT_loop_points -> AL_SOFT_loop_points
2013-06-30 01:32:48 -07:00
Chris Robinson
4f2e367ec6 Remove GStreamer support 2013-06-30 01:07:09 -07:00
Chris Robinson
b31a729ab8 Fix compilation with OpenAL 2013-06-29 22:44:46 -07:00
Chris Robinson
18597a93a7 Merge remote-tracking branch 'origin' into openal
Conflicts:
	src/sound/fmodsound.cpp
2013-06-29 19:02:04 -07:00
Christoph Oelckers
f0feee3b4e Merge branch 'maint' 2013-06-26 01:03:19 +02:00
Christoph Oelckers
fb1734ba50 - fix previous commit and add compat option for Cheogh's blue key. 2013-06-26 00:57:26 +02:00
Christoph Oelckers
72e91786e2 - added SetThingZ compatibility option for fixing problems resulting from the changes to spawn position handling. 2013-06-26 00:57:10 +02:00
Randy Heit
fb965c50a1 Merge branch 'maint' 2013-06-24 20:59:12 -05:00
Randy Heit
a5f5d8adcb - Remove the first parameter from updaterevision, since it isn't needed with git. 2013-06-24 20:58:14 -05:00
Christoph Oelckers
4189092db8 - spycancel improvement by Edward-san. 2013-06-24 22:50:24 +02:00
Christoph Oelckers
94a3d92f93 Merge branch 'maint' 2013-06-24 16:49:51 +02:00
Christoph Oelckers
394f21f71e - fixed: Draining health from a victim must check for damage reduction before awarding the health to the player. This affected Heretic's gauntlets, A_Saw and A_CustomPunch.
- added a DONTDRAIN flag that prevents the above attacks from draining any health at all.
2013-06-24 16:42:43 +02:00
Christoph Oelckers
c4ad09fe90 - added new MAPINFO/gameinfo keys for adding entries to some string arrays, most notably the player classes and the F1 info pages. 2013-06-24 15:50:30 +02:00
Christoph Oelckers
9f253ccae3 - fixed: Application of inflictor's death damage type was done too late and missed a few spots where it needed.
- fixed: DamageTypeReceived was not serialized.
- fixed: The check for unhandled damage type was rendered ineffective by the old code handling the DeathType.
2013-06-24 15:40:17 +02:00
Christoph Oelckers
1976f28df9 - merge cheat fix from maint. 2013-06-24 14:32:55 +02:00
Christoph Oelckers
baa82c396c - disabled Heretic's 'joke' cheats and Chex's 'idmus' in 'allcheats' mode because their multiple occurence interfered with how the cheat parser works. 2013-06-24 14:25:48 +02:00
Randy Heit
7531191ffe Get fixed SAVESIG from maint. 2013-06-23 18:14:39 -05:00
Randy Heit
03d2b79bfd - Fixed: SAVEVERSTRINGIFY macros were wrong. 2013-06-23 18:14:29 -05:00
Christoph Oelckers
d1835b2db8 - DavidPH's patch for Linux compilation. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
ef42955053 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
054899ea53 - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 17:38:51 -05:00
Christoph Oelckers
099e365a23 - fixed typo in USDF spec.
- comment fixes taken from GZDoom.
- division by zero check in R_SetVisibility from GZDoom.
2013-06-23 17:38:51 -05:00
Christoph Oelckers
3a477f6903 - DavidPH's patch for Linux compilation. 2013-06-23 20:54:21 +02:00
Christoph Oelckers
4286bd68cd - added Edward-san's spycancel submission. 2013-06-23 20:04:06 +02:00
Christoph Oelckers
a6ba2ce8b9 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 18:47:39 +02:00
Christoph Oelckers
7d56311152 - added Ryan Cordell's A_CheckRange submission. 2013-06-23 18:45:17 +02:00
Christoph Oelckers
7c81c2f1ee - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 18:37:13 +02:00
Christoph Oelckers
aa5f223051 - added _mental_'s patch for loading .deh/.bex files if no Dehacked lump can be found. 2013-06-23 18:34:57 +02:00
Christoph Oelckers
50c5dc62aa - fixed typo in USDF spec.
- comment fixes taken from GZDoom.
- division by zero check in R_SetVisibility from GZDoom.
2013-06-23 10:28:12 +02:00
Randy Heit
54f06739d0 Set master banch up as 2.8pre and maint branch for 2.7.x 2013-06-22 22:44:48 -05:00
Randy Heit
eb3f243fc8 - Make a copy of the polyobject mirror number instead of relying on being able to read it from the initial linedef. 2013-06-22 22:40:17 -05: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
5916ce087b - Revert r4244. It seems to be working well enough like this, since there have been no complaints.
SVN r4341 (trunk)
2013-06-08 03:24:41 +00:00
Randy Heit
9510525fdf - Bump up to 2.7.0.
SVN r4339 (trunk)
2013-06-08 02:20:37 +00:00
Randy Heit
5b65b3ebdf - Bumped NETGAMEVERSION, which should have been done when I changed the order uservars were sent
during netgame initialization.

SVN r4338 (trunk)
2013-06-08 02:18:23 +00:00
Randy Heit
902f6647b6 - Added ACS function CheckFont.
SVN r4335 (trunk)
2013-06-06 20:48:57 +00:00
Randy Heit
bac66d5b0e - Moved the status bar Tick call after the players have been ticked by P_Ticker(), because
P_PlayerThink() is where the check for unspawned players happens. If the player attached to the
  status bar is one of them, it will crash while ticking.

SVN r4334 (trunk)
2013-06-06 20:34:39 +00:00
Randy Heit
b9e771576f - Fixed: The time freezer power should do nothing while predicting.
SVN r4333 (trunk)
2013-06-06 20:15:04 +00:00
Randy Heit
c6dd658aa8 - Fixed: Polyobjs that rotated faster than their distance would overshoot on their first tic and
continue spinning until the next time around because the check for moving too fast was only
  done after the polyobject had been rotated once.
- Reduced the potential for overflow when setting up the speed of a rotating polyobj.

SVN r4332 (trunk)
2013-06-06 20:08:56 +00:00
Randy Heit
e32e44209e - Added SpawnDecal ACS function:
int SpawnDecal(int tid, str decalname, int flags, fixed angle, int zoffset, int distance)
  Traces a line from tid's actor until hitting a wall, then creates a decal there. Returns the
  number of decals spawned.
  * tid = Which actor(s) to start the trace at.
  * decalname = Which decal to spawn.
  * flags =
    * SDF_ABSANGLE = Angle parameter is an absolute angle. Otherwise, it's relative to the origin actor's angle.
    * SDF_PERMANENT = Decal ignores cl_maxdecals. Otherwise, it will eventually disappear.
  * angle = Direction in which to search for a wall. Defaults to 0.0.
  * zoffset = Offset from the middle of the origin actor for the Z height of the decal. Defaults to 0.
  * distance = Maximum distance to search for a wall. Defaults to 64.

SVN r4330 (trunk)
2013-06-05 02:15:21 +00:00
Randy Heit
5a00f4b59a - Reduce ACS LineAttack's default range to the standard MISSILERANGE, because making it INT_MAX
seems pretty iffy.

SVN r4329 (trunk)
2013-06-04 02:54:57 +00:00
Randy Heit
e2be8b9e7e - When purging ACS strings, free the strings themselves as well as marking them as free.
- Fixed: ACSStringPool::InsertString()'s overflow check was far too low.
- Fixed: When ACSStringPool::InsertString() triggered a garbage collection, it ignored the
  newly freed space and expanded the array anyway.

SVN r4328 (trunk)
2013-06-04 02:49:07 +00:00
Randy Heit
5e7ee8f33e - Addded support for multi-line values in INI files, so you can't maliciously inject stray
newline characters into the config file using ACS's SetCVarString.

SVN r4326 (trunk)
2013-06-04 02:06:40 +00:00
Christoph Oelckers
c4b7335312 - fixed: UDMF's Doom namespace needs to retain Boom's sector special flags.
- fixed: UDMF's ZDoomTranslated namespace needs to set the DUMMYSWITCHES flag so that it remains compatible with Doom-format ZDoom maps.


SVN r4325 (trunk)
2013-06-03 07:14:42 +00:00
Randy Heit
44a9c75b6b - Added ACS function PlayActorSound. It's functionally equivalent to PlaySound, except instead
of taking an actual sound name as its second parameter, it selects the sound to play based on
  the actor playing the sound and the selector passed as the second parameter.

SVN r4323 (trunk)
2013-06-03 00:09:46 +00:00
Randy Heit
aa40801015 - Fixed: When garbage collecting ACS strings, the active values on the ACS stack also need
to be included in the mark phase.

SVN r4322 (trunk)
2013-06-02 23:58:29 +00:00
Randy Heit
45c1787203 - Fixed: Don't transform map variable string initializers into global string table entries if
they don't really exist in the source string table.

SVN r4321 (trunk)
2013-06-02 23:17:46 +00:00
Randy Heit
1b9c71b252 - Added S_ChangeSoundVolume() to change the volume of an already playing sound, accessible
through the new ACS function SoundVolume.

SVN r4318 (trunk)
2013-06-01 17:46:50 +00:00
Randy Heit
19eb09f9f7 - Added GetActorClass and GetWeapon functions to ACS.
SVN r4316 (trunk)
2013-06-01 17:17:15 +00:00
Randy Heit
e9702fc43d - Clean up excess code around a few calls to SingleActorFromTID(), since that function is already
designed specifically to handle the case where tid is 0.

SVN r4315 (trunk)
2013-06-01 17:13:15 +00:00
Randy Heit
037477a20b - Added more string functions to ACS:
* The standard C functions strcmp and stricmp (aka strcasecmp), which double up as strncmp and strnicmp if you pass a third argument.
  * The BASIC-like functions strleft, strright, and strmid, which extract parts of a string to
    create a new string.

SVN r4313 (trunk)
2013-06-01 17:07:24 +00:00
Christoph Oelckers
d40d7f2e77 - fixed signed-ness issue with FloatBobPhase.
SVN r4310 (trunk)
2013-06-01 12:03:15 +00:00
Randy Heit
26d2d74024 - GetActorProperty now works with the string properties that were formerly restricted to
CheckActorProperty.

SVN r4307 (trunk)
2013-06-01 02:51:14 +00:00
Randy Heit
1a67e6fa5d - Added PlaySound and StopSound functions for ACS. They are mostly analogous to their DECORATE
counterparts except that (1) PlaySound requires you to specify a sound instead of defaulting
  to "weapons/pistol", and (2) StopSound defaults to CHAN_BODY instead of CHAN_VOICE.

SVN r4306 (trunk)
2013-06-01 02:43:36 +00:00
Randy Heit
2d13a45773 - Added read access to an actor's melee range from DECORATE and ACS, via Blue Shadow.
SVN r4305 (trunk)
2013-06-01 02:23:27 +00:00
Randy Heit
2191b4bfa6 - Added ACS function LineAttack via Ryan Cordell.
SVN r4304 (trunk)
2013-06-01 02:19:18 +00:00
Randy Heit
53b284fb5d - Added Gez's OverridePalette VOXELDEF flag.
SVN r4303 (trunk)
2013-06-01 02:09:09 +00:00
Randy Heit
8565484e29 - Heretic and Hexen can now have their big fonts overridden by a font named "HBIGFONT". In
addition, a font named "BIGFONT" will override the big font for every game.

SVN r4302 (trunk)
2013-06-01 02:04:44 +00:00
Christoph Oelckers
890dc71e0d . added AFADoomer's patch to set a text highlight color for the list menu.
SVN r4301 (trunk)
2013-05-31 22:10:12 +00:00
Christoph Oelckers
9e3c6a3cc7 - fixed parameter type for Floatbobphase property.
SVN r4300 (trunk)
2013-05-31 18:10:41 +00:00
Christoph Oelckers
ad12be4877 - fixed inappropriate type for FloatBobPhase property.
SVN r4299 (trunk)
2013-05-30 21:10:54 +00:00
Christoph Oelckers
0bca41c202 - replaced unused RNGs with pr_damagemobj for consistency checksum.
SVN r4297 (trunk)
2013-05-30 10:18:46 +00:00
Christoph Oelckers
a7c2346b32 - added a FloatBobPhase property for DECORATE. Now, if FloatBobPhase is anything but -1 it will be used directly as the initial phase, allowing to define actors that bob in sync. The allowed range of phases is 0 - 63. The main reason for this is that each actor spawn called the pr_spawnmobj RNG just to randomize this value which causes problems with non-interactive actors, in particular GZDoom's dynamic lights.
SVN r4296 (trunk)
2013-05-30 08:52:29 +00:00
Randy Heit
0eb72156ed I hope I don't regret doing this so close before I want to do a release, since it's a pretty
major change to ACS's workings. However, I had an epiphany yesterday and just had to do this, since it seems like too big a deal to hold off until a later release:
- Dynamically generated strings returned via strparam and get(user)cvar now last as long as they
  need to. They do not disappear at the end of each tic. You can now safely store them in
  variables and hold on to them indefinitely. In addition, strings from libraries no longer
  require you to load the exact same libraries in the exact same order. You can even store a
  library's string in a world variable and retrieve it on another map that doesn't load the
  library at all, and it will still be the correct string.
- ACS library IDs now only get 12 bits instead of 16 so that each string table can hold up
  to about a million strings instead of just 65536. This shouldn't be a problem, although it
  means that save games that had strings with the larger IDs stored in variables are no
  longer compatible. Since many saves don't involve libraries at all, and even many that do 
  are not actually affected, I'm not bumping the min save version. The worst that can happen
  is that you get no text at all where some was expected.

SVN r4295 (trunk)
2013-05-30 02:22:47 +00:00
Randy Heit
493edd2df0 - Added ACS functions GetCVarString and GetUserCVarString. These act like their non-string
counterparts, except that they return strings. Like strparam, the strings they return are
  only guaranteed to be valid for the tick they are called during. (Note that these work with any
  cvar, not just string ones.)

SVN r4293 (trunk)
2013-05-27 02:41:50 +00:00
Randy Heit
587f1e83ba - Added ACS functions SetCVarString and SetUserCVarString. These work just like their non-string
counterparts except that their value argument is an ACS string. (Note that they work with any
  type of cvar, not just string cvars.)
- Make UCVarValue::String point to a constant string.

SVN r4292 (trunk)
2013-05-27 02:20:32 +00:00
Randy Heit
4a8037d66e - Move bitdepth check outside the loop for grayscale unpacking. Also, don't use a multiply for
1-bit pixels. Use a lookup table for 2-bit pixels, because it's probably faster than a bunch
  of shifts and register juggling.

SVN r4291 (trunk)
2013-05-27 02:04:54 +00:00
Braden Obrzut
f436c02a43 - Fixed more possible NULL derefs from r4264
SVN r4290 (trunk)
2013-05-26 20:56:20 +00:00
Braden Obrzut
b493d8e823 - Just remembered that the true color stuff generates textures differently. Changed the previous commit to expand 1, 2, and 4 bit grayscale images while reading the PNG instead of changing the palette.
SVN r4289 (trunk)
2013-05-26 04:56:52 +00:00
Braden Obrzut
dabd48ab81 - Fixed: 4, 2, and 1 bit grayscale images weren't properly supported.
- Fixed: Valgrind uninitialized memory error and a signed/unsigned warning.

SVN r4288 (trunk)
2013-05-26 04:03:47 +00:00
Randy Heit
17c7c32a58 - Fixed potential uninitialized access in FMapInfoParser::ParseEndGame().
SVN r4287 (trunk)
2013-05-26 02:56:25 +00:00
Randy Heit
ce28c9c991 - Added parentheses for clarity.
SVN r4286 (trunk)
2013-05-26 00:53:48 +00:00
Randy Heit
78437d917c - Added edward850's patch to cope with stalled network games.
SVN r4285 (trunk)
2013-05-25 22:01:26 +00:00
Randy Heit
167ee9e7fb - Added three new ACS functions:
* int GetUserCVar(int playernum, "cvarname")
  * bool SetCVar("cvarname", newvalue)
  * bool SetUserCVar(int playernum, "cvarname", newvalue)
  GetUserCVar is analogous to GetCVar, except it returns the value of a user cvar for a
  specific player. (All user cvars can be examined using the playerinfo console command.)
  SetCVar sets a cvar to a new value. If the cvar is floating point, then newvalue is treated
  as a fixed point number, otherwise it's treated as an integer. SetUserCVar is the same, but
  for a specific player's user cvar.

  SetCVar and SetUserCVar can only change cvars created via CVARINFO. They cannot alter built-in cvars.

  If you use GetCVar or SetCVar with a user cvar, they will act on the copy of the user cvar
  for the player who activated the script. e.g.
    GetCVar("gender")
  is the same as
    GetUserCVar(PlayerNumber(), "gender")

  If you get the value of a floating point cvar, it will be returned as a fixed point number.
  Otherwise, it will be returned as an integer.

SVN r4283 (trunk)
2013-05-25 19:08:05 +00:00
Randy Heit
4fa198244c - Renamed CVAR_NOSEND to CVAR_IGNORE to better reflect its intent.
- Separated CVAR_MODARCHIVE into CVAR_MOD|CVAR_ARCHIVE so that mod-defined cvars can still be
  identified when they aren't meant to be archived.

SVN r4281 (trunk)
2013-05-25 17:08:59 +00:00
Randy Heit
787b84ef91 - Added CVARINFO lump support. This is a lump for defining mod-specific cvars and takes entries
of the form:
    <scope> [noarchive] <type> <name> [= <defaultvalue>];
  Where <scope> is one of:
  * server: This cvar is shared by all players, and in network games, only select players can
    change it.
  * user: Each player has their own copy of this cvar, which they can change independently.
  To prevent the cvar from being written to the config file, add noarchive to its definition.
  <Type> is one of:
  * int: An integral value. Defaults to 0.
  * float: A value that can include a fraction. Defaults to 0.0.
  * color: A color value. Default to black ("00 00 00").
  * bool: A boolean value that can hold either true or false. Defaults to false.
  * string: A string value. It's not too useful for mods but is included for completeness. Defaults to "".
  <Name> is the cvar's name and must begin with a letter and may only include alphanumeric
  characters and the underscore character.
  If you wish a non-standard default add an = character after the cvar's name followed by the
  default value you want to use. Example:
    server int mymod_coolness = 10;
- Fixed: FStringCVar::SetGenericRepDefault() did not make a copy of the input string.

SVN r4280 (trunk)
2013-05-25 16:34:23 +00:00
Randy Heit
e271692dbb - Changed C_ArchiveCVars()'s type parameter to a filter parameter, because using an arbitrary
number to represent a flag combination is stupid unreadable now that there's more than just
  the two possibilities it had when it was first written.

SVN r4278 (trunk)
2013-05-25 03:23:44 +00:00
Randy Heit
20b48b7c65 - Remove now-unused lumpname variable.
SVN r4277 (trunk)
2013-05-25 02:06:34 +00:00
Braden Obrzut
7fd0950ab9 - Changed the way DrawSelectedInventory is casted so that clang doesn't warn about it.
SVN r4275 (trunk)
2013-05-20 21:27:50 +00:00
Braden Obrzut
5007571732 - Fixed: Possible NULL deref in P_RailAttack.
SVN r4274 (trunk)
2013-05-20 20:47:55 +00:00
Braden Obrzut
1d4fbc05a5 - Fixed: glbsp nodes in a wad file inside a pk3 would not be loaded.
- Fixed: Typo from r4270.

SVN r4273 (trunk)
2013-05-20 20:39:34 +00:00
Randy Heit
8af465189a - Fix broken loading of pre-r4253 savegames.
SVN r4272 (trunk)
2013-05-18 15:38:10 +00:00
Randy Heit
6ada6158ef - Added a fallback for accented characters to use unaccented ones.
- Updated Portuguese strings with the version here: http://forum.zdoom.org/viewtopic.php?p=672839#p672839

SVN r4271 (trunk)
2013-05-17 02:35:35 +00:00
Randy Heit
5b74e1acba - Fixed: A_Face() should use other instead of self->target when calculating pitch.
SVN r4267 (trunk)
2013-05-17 00:49:45 +00:00
Randy Heit
504496278b - Fixed: FxBinaryInts that needed to cast the right-side parameter to an int resolved the left
side instead.

SVN r4265 (trunk)
2013-05-13 02:55:48 +00:00
Randy Heit
b418f7de8d - Fixed possible NULL pointer derefs in P_LineAttack()
SVN r4264 (trunk)
2013-05-13 02:30:55 +00:00
Randy Heit
894c4198b0 - Fixed possible NULL pointer deref in A_FireBullets
SVN r4263 (trunk)
2013-05-13 02:27:39 +00:00
Randy Heit
20d0cc717b - Fix previous fix: Don't zero the velocity when a missile steps up and bounces.
SVN r4262 (trunk)
2013-05-12 19:05:00 +00:00
Randy Heit
0ef00cdf6e - Fixed: Missiles with STEPMISSILE set should probably be able to bounce off the floor they step up onto.
SVN r4261 (trunk)
2013-05-12 19:02:15 +00:00
Randy Heit
363ca592b0 - Fixed possible memory leak in the non-Windows version of CreatePath().
SVN r4258 (trunk)
2013-05-12 18:37:31 +00:00
Randy Heit
e8d8e67b56 - Fixed possible NULL pointer deref in P_SpawnPlayerMissile().
SVN r4257 (trunk)
2013-05-12 18:36:03 +00:00
Randy Heit
e935cf9e62 - Fixed possible NULL pointer deref in PrintDLS().
SVN r4256 (trunk)
2013-05-12 18:34:01 +00:00
Randy Heit
c63273348a - Fixed possible NULL pointer deref in A_CustomPunch
SVN r4255 (trunk)
2013-05-12 18:31:36 +00:00
Randy Heit
e130150af0 - Fixed possible NULL pointer deref in AActor::Grind().
SVN r4254 (trunk)
2013-05-12 18:29:28 +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
9072c25e65 - Added a big-endian fix for actor flag fields that aren't four bytes wide.
SVN r4251 (trunk)
2013-05-05 00:01:51 +00:00
Randy Heit
40f7abb8e9 - Added bounce states. Set the BOUNCE_UseBounceState flag to use them (+USEBOUNCESTATE via
DECORATE). Then you can use:
  * Bounce
  * Bounce.Floor
  * Bounce.Ceiling
  * Bounce.Wall
  * Bounce.Actor
  * Bounce.Actor.Creature
  Partial matches work just like Pain states, so if an actor bounces off a floor and you don't
  have a Bounce.Floor state, but you do have a Bounce state, it will use the Bounce state.
  Conversely, if you only have a Bounce.Floor state but no Bounce state, then the actor will
  only enter the Bounce.Floor state when it bounces on a floor; bouncing off anything else will
  not cause it to change state.

SVN r4250 (trunk)
2013-05-04 22:52:37 +00:00
Randy Heit
a5b5172449 - Remove now-unused dropammofactor variable from AWeaponGiver::TryPickup().
SVN r4248 (trunk)
2013-05-04 19:24:24 +00:00
Randy Heit
63704a8b69 - Fixed: r4225 accidentally removed the sky texture check for markceiling disabling.
SVN r4247 (trunk)
2013-05-04 19:08:17 +00:00
Randy Heit
d86b16d540 - Added a DropAmmoFactor field to WeaponGiver so that ModifyDropAmount() can record the drop
amount modifier into it without fiddling with the actual AmmoGiveX fields.

SVN r4246 (trunk)
2013-05-02 00:24:53 +00:00
Randy Heit
163d8ba3e6 - Fixed crash when an actor's spawn state ends by destroying the actor and the first state has
NoDelay set and it only consists of 0-tic states.

SVN r4245 (trunk)
2013-05-02 00:07:56 +00:00
Randy Heit
6d6fcbe246 - For the sake of better testing, use 2D sprite sorting unconditionally and not just when a
voxel is in view. Hopefully I'm just being paranoid, but I don't trust it to go well with
  clipping sprites to walls.

SVN r4244 (trunk)
2013-05-01 02:27:07 +00:00
Randy Heit
cadc16293e - Fixed: r4234 moved tic decrementing to the wrong spot.
SVN r4243 (trunk)
2013-05-01 02:21:43 +00:00
Christoph Oelckers
bed47c6eff - A_KIllSiblings and A_DamageSiblings didn't check for a valid master.
SVN r4242 (trunk)
2013-04-30 06:48:53 +00:00
Randy Heit
0e19a0e330 - Added a NODELAY state flag. This is only valid for a state immediately following a Spawn label.
When set, the actor will run this state during its first tick. This means Spawn
  states may now run an action function if you set this flag. Note that this action function
  is executed during the actor's first tick, which is not the same as when it is spawned.

SVN r4240 (trunk)
2013-04-30 04:20:09 +00:00
Randy Heit
cc5110575f - Fixed: The constructor for single-lump fonts did not initialize the Cursor field.
SVN r4239 (trunk)
2013-04-30 03:14:49 +00:00
Randy Heit
ecdde24bda - Fixed: WeaponGiver did not give half ammo when dropped.
SVN r4238 (trunk)
2013-04-30 03:07:39 +00:00
Randy Heit
5dc034c2ed - Fixed: A_RemoveSiblings and A_KillSiblings did not check that the caller had a master to deduce siblings from.
SVN r4237 (trunk)
2013-04-30 02:46:47 +00:00
Randy Heit
f7aa019f85 - Stylistic changes.
SVN r4236 (trunk)
2013-04-30 02:45:15 +00:00