Commit Graph

1018 Commits

Author SHA1 Message Date
Randy Heit c09d9f0e20 - Fixed: D3DFB::DrawTextureV() did not properly adjust the texture coordinate
for lclip and rclip.


SVN r1384 (trunk)
2009-01-31 03:46:30 +00:00
Randy Heit a21a928011 - Added weapdrop ccmd.
SVN r1383 (trunk)
2009-01-31 03:07:02 +00:00
Randy Heit f3b6f25d88 - Centered the compatibility mode option in the comptibility options menu.
SVN r1382 (trunk)
2009-01-31 02:47:45 +00:00
Randy Heit a7ffb9db6a - Added button mappings for 8 mouse buttons on SDL. It works with my system,
but Linux being Linux, there are no guarantees that it's appropriate for
  other systems.
- Fixed: SDL input code did not generate GUI events for the mousewheel, so it
  could not be used to scroll the console buffer.



SVN r1381 (trunk)
2009-01-31 02:26:24 +00:00
Christoph Oelckers 40d740506d - Added Blzut3's statusbar maintenance patch.
SVN r1380 (trunk)
2009-01-30 22:37:55 +00:00
Christoph Oelckers 176608cbf4 - fixed sound origin of the Mage Wand's missile.
SVN r1377 (trunk)
2009-01-30 08:14:28 +00:00
Christoph Oelckers fb9601b9eb - Added APROP_Dropped actor property.
- Fixed: The compatmode CVAR needs CVAR_NOINITCALL so that the compatibility flags don't get reset each start.
- Fixed: compatmode Doom(strict) was missing COMPAT_CROSSDROPOFF

SVN r1376 (trunk)
2009-01-28 08:48:52 +00:00
Randy Heit a3b11af15a - More GCC warning removal, the most egregious of which was the potential
vulnerability "format not a string literal and no format arguments".
- Changed the CMake script to search for fmod libraries by full name instead
  of assuming a symbolic link has been placed for the latest version. It can
  also find a non-installed copy of FMOD if it is placed local to the ZDoom
  source tree.



SVN r1373 (trunk)
2009-01-28 05:29:41 +00:00
Randy Heit 8f26956310 - Fixed: Some OPL state needs to be restored before calculating rhythm. Also,
since only the rhythm section uses the RNG, it doesn't need to be advanced
  for the normal voice processing.


SVN r1371 (trunk)
2009-01-27 05:25:16 +00:00
Christoph Oelckers f269af052c - fixed some issues with P_FindFloorCeiling's coordinate processing.
- added a new compatmode CVAR which allows setting some generic compatibility 
  flag combinations:
  Doom: sets the options needed to make most Doom.exe compatible map play without
  errors.
  Doom (strict): Same as above but sets a few more options. Please note that this
  does not mean full Doom.exe behavior emulation.
  Boom: Sets all options that consider differences between ZDoom and Boom.
  ZDoom 2.0.63: Sets only the COMPATF_SOUNDTARGET option which is needed for
  many older ZDoom maps.
- added new COMPAT_CROSSDROPOFF option to block monsters from being pushed over
  dropoffs by damage kickback.
- fixed: AFastProjectile::Tick must call Effect only 8 times per tic, regardless
  of the amount of steps taken.
- fixed: momentum checks in AFastProjectile did not use absolute values.


SVN r1369 (trunk)
2009-01-25 21:59:38 +00:00
Randy Heit 7f35a95942 - Restored the rhythm section to fmopl.cpp and made some slight updates from
version 0.72 of MAME's fmopl.c. Also refactored CalcVoice so that the
  original MAME structure is more visible.


SVN r1368 (trunk)
2009-01-25 04:22:19 +00:00
Randy Heit 6ebbc920fb - Removed the SoundChans bitfield from AActor, since it seems there are race
conditions I don't fully understand where it simply doesn't work.


SVN r1367 (trunk)
2009-01-25 01:52:38 +00:00
Randy Heit b6528a604e SVN r1366 (trunk) 2009-01-25 01:16:00 +00:00
Randy Heit b5a5204911 - Set packet server as the default for four or more player games, and also the
default for three player games where the other players are not in the same
  private IP range.




SVN r1364 (trunk)
2009-01-24 04:47:07 +00:00
Christoph Oelckers c5ca865a7f - Fixed: The sight checking code didn't initialize the myseethrough variable.
SVN r1363 (trunk)
2009-01-24 00:21:12 +00:00
Christoph Oelckers 036deb1ae6 - Fixed: With COMPAT_TRACE switched on linedef actions on lines having
the same sector on both sides were not triggered.


SVN r1362 (trunk)
2009-01-24 00:04:58 +00:00
Christoph Oelckers bbda4622e7 - Added a CopyInfo function to FTexture that contains all code required to
clone a texture. Used for creating warping textures.
- Fixed: P_FindFloorCeiling should not be called before setting the actor's z-
  coordinate. For testing 3D Midtex lines and 3D floors the proper position
  needs to be set first.
- Fixed the autoaim fix from Jan 10.


SVN r1358 (trunk)
2009-01-18 09:31:49 +00:00
Christoph Oelckers 51391f889c - Added option to specify the amount of ammo to be given by a WeaponGiver.
SVN r1357 (trunk)
2009-01-18 08:20:29 +00:00
Christoph Oelckers b4b76ed4e6 - fixed: Identification of Doom1 Freedoom IWAD did not work.
- fixed: UDMF did not initialize a sector's light colors.
- fixed implementation of DF2_NOAUTOAIM flag.


SVN r1356 (trunk)
2009-01-10 09:40:47 +00:00
Christoph Oelckers 35cc39f094 - copied some 3D floor fixes from GZDoom.
- fixed: Crushing polyobject did incomplete checks for blocked moves.


SVN r1355 (trunk)
2009-01-07 18:45:39 +00:00
Christoph Oelckers bf63041585 - fixed: Parsing of color strings with 6 characters and spaces did not work.
- fixed: State labels must be evaluated for the state's owner, not the calling actor.



SVN r1354 (trunk)
2009-01-06 00:03:18 +00:00
Christoph Oelckers a73b008255 - Fixed: For map spawns any change to an actor's floor z-coordinate must be
delayed until after its z-coordinate has been set. That means that for 
  map spawns AActor::StaticSpawn may not call P_FindFloorCeiling for such
  actors.


SVN r1352 (trunk)
2009-01-04 15:51:00 +00:00
Christoph Oelckers 78933df10d - added GZDoom's 3D floor physics code. This is not active yet so anything compiled from this code won't have any support for it!
SVN r1351 (trunk)
2009-01-04 15:00:29 +00:00
Christoph Oelckers f7148b6b40 - Used new functionality to avoid moving the puff around in SpawnDeepSplash.
- Fixed: P_RailAttack used the shooting actor or a default puff for some splash
  related actions. It should use the puff type passed to it as a parameter instead.
- Changed splash handling in P_LineAttack to use the actual hit position to
  spawn the splash and not the puff's spawn position which is offset a little.
- made some precision related changes to P_HitWater. The precise hit coordinate
  can now be passed as parameters.


SVN r1350 (trunk)
2009-01-04 12:25:22 +00:00
Christoph Oelckers bbdb2b10a8 - Made spawning of floor- and ceiling huggers a little more intelligent.
SVN r1348 (trunk)
2009-01-03 18:09:33 +00:00
Christoph Oelckers fdfee91b9f - Fixed: 'None' was no longer recognized as a NULL class name by the
DECORATE parser.


SVN r1347 (trunk)
2009-01-03 14:44:41 +00:00
Christoph Oelckers 35edd15386 - Added 'ininventory item, amount' option to SBARINFO to check for a minimum
amount instead of mere presence in the inventory.
- Fixed: Door lock messages were overwritten by remote messages.

SVN r1346 (trunk)
2009-01-02 17:49:48 +00:00
Christoph Oelckers 7fde758e26 - Fixed: SBARINFO used GetSpecies instead of GetClass to check weapon types.
- Added a few missing NULL pointer checks to SBARINFO code.


SVN r1344 (trunk)
2009-01-01 16:46:05 +00:00
Christoph Oelckers 6a321fd8f5 - Changed pickup sounds of local player to unpaused to resolve problems with
the time freezer and make them behave better.
- Fixed: When sounds are paused not all newly started sounds should actually
  be played.
- Fixed: SBARINFO had no means to check if a weapon uses any ammo at all and
  as a result the inventory icon was misplaced if a no-ammo weapon was selected.

SVN r1343 (trunk)
2009-01-01 15:09:49 +00:00
Christoph Oelckers 9098bc1a46 - Added a constant name for Skulltag's 128 flag for A_SpawnItemEx. For
compatibility ZDoom needs to define this name, too, even though it doesn't 
  use it.
- Fixed: The nodebuilder could hang on badly set up polyobjects. Now it aborts 
  when the loop iterates NumberOfSegs times.

SVN r1338 (trunk)
2008-12-31 12:02:08 +00:00
Christoph Oelckers 987c878a9a - Fixed: FMOD calls for setting the water reverb must check the return code
for errors.
- Fixed: Hexen's dual attack weapons must check distance to targets in 3D,
  not 2D.


SVN r1336 (trunk)
2008-12-30 23:27:27 +00:00
Christoph Oelckers f8c38e5f54 - Made several DECORATE errors which do not involve parsing non-fatal.
- Added a static error counter to FScriptPosition class.
- Changed initialization of actor class type properties: fuglyname is gone as
  is the postprocessing in FinishThingdef. Instead an empty placeholder class
  is now created when a class is first referenced and this placeholder is later
  filled in. 
- Added option to replace backslash with '^' in state frame definitions because
  the backslash is just causing too many problems because it's also an escape
  character.


SVN r1334 (trunk)
2008-12-29 23:03:38 +00:00
Christoph Oelckers 8f686a5e02 - Added Karate Chris's new DMFlags submission.
SVN r1333 (trunk)
2008-12-28 09:49:15 +00:00
Christoph Oelckers 37d056c041 - Fixed: The correct player class was not remembered when the menu had both
a player class selection menu and an episode menu.
- Fixed: AddToConsole could write outside its working buffer.
- Fixed: 0 was no longer recognized as placeholder for 'no state' in A_Chase.
- Fixed: When picking up weapons the code did not check if it should switch away
  from weak weapons.


SVN r1332 (trunk)
2008-12-27 20:18:31 +00:00
Randy Heit 120233eebd - OggMod improperly decodes the right channel of stereo samples when sending
them to OggEnc, so I have no choice but to convert them to mono by chopping
  off the right channel and only using the left channel information.


SVN r1327 (trunk)
2008-12-21 04:14:16 +00:00
Randy Heit 97de7897de - Fixed: OggMod passes the raw sample data to OggEnc for stereo samples, so
the resultant Vorbis stream is not actually stereo but mono with the right
  channel after the left. The two need to be interleaved just like
  uncompressed samples are.
- Removed the pattern length limit in the XM reader.


SVN r1326 (trunk)
2008-12-20 04:17:10 +00:00
Randy Heit 835ed26370 - Decal changes as per Xaser's suggestions: Smaller decal for PhoenixFX2,
CrossbowFX2 and MaceFX4 were missing decals, and HornRodFX2 gets a whole
  new decal.
- Fixed: bfgscrc2.png had some holes in the middle that did not look so good.
  (From previously being handled through WinTex, maybe?)


SVN r1325 (trunk)
2008-12-19 03:57:24 +00:00
Randy Heit 48be3f7022 - Fixed: Thing_ProjectileIntercept broke slightly when converted to the new
vector math routines (almost two years ago!) because the original code
  multiplied down columns of the rotation matrix, but the new code multiplies
  across rows of the matrix instead. This is remedied by flipping the matrix
  across the x=y axis by reversing the sign of the sine value passed to the
  matrix constructor.


SVN r1324 (trunk)
2008-12-18 06:22:18 +00:00
Randy Heit 45fc728f2e - Fixed: Autoloading a game (e.g. respawning after dying in single player)
during demo playback prematurely ended demo control of the player.


SVN r1321 (trunk)
2008-12-16 04:56:25 +00:00
Randy Heit 4c14c197f8 - Changed the co-op intermission screen to draw the stats with the small font.
SVN r1318 (trunk)
2008-12-16 03:15:03 +00:00
Randy Heit 49120f59d4 - Added Karate Chris's patch to optionally specify an angle offset for
summoning.
- Added Karate Chris's fix for Serpent Staff vampirism on teammates.
- Locks and teleporters now take precedence over one-sidedness for automap
  coloring.


SVN r1317 (trunk)
2008-12-16 01:23:44 +00:00
Randy Heit f435576f1d - Increased maximum number of per-pattern rows for the XM loader from
256 to 1024 to deal with a module that otherwise would not load.
- Removed the artificial restriction on not supporting Vorbis-compressed
  samples in XMs if they are stereo, since it turns out that OggMod does
  support them.


SVN r1316 (trunk)
2008-12-16 00:59:20 +00:00
Christoph Oelckers bd9e318863 - Added a SECF_NORESPAWN flag for sectors that prevents players from being respawned
in such a sector. As a workaround for current map formats a new actor
  (DoomEdNum 9041) was added that can set the extended sector flags without the
  use of ACS and sector tags. The new flag can also be set with Sector_ChangeFlags.
- Fixed: Players ignored MF2_TELESTOMP and always telefragged what was in the way.
- Fixed: Actors with MF5_NOINTERACTION were not affected by the time freezer.


SVN r1315 (trunk)
2008-12-14 19:12:41 +00:00
Christoph Oelckers 11d1c41873 - Added a strbin1 function that does the same as strbin but creates a copy
instead of overwriting the original string. ACS performing this operation
  in place caused crashes with RTC-3057.
- fixed: FScriptPosition::Message did not print the message if it was not 
  a fatal error.


SVN r1313 (trunk)
2008-12-07 17:50:03 +00:00
Christoph Oelckers 081658d3d5 - Fixed: The save percentage for Doom's green armor was slightly too low
which caused roundoff errors that made it less than 1/3 effective.
- Added support for "RRGGBB" strings to V_GetColor.
- Fixed: Desaturation maps for the TEXTURES lump were calculated incorrectly.
- Changed GetSpriteIndex to cache the last used sprite name so that the code
  using this function doesn't have to do it itself.
- Moved some more code for the state parser into p_states.cpp.
- Fixed: TDeletingArray should not try to delete NULL pointers.

SVN r1312 (trunk)
2008-12-07 12:11:59 +00:00
Randy Heit 238de9cda1 - Added binary (b) and hexadecimal (x) cast types for ACS's various print
statements.
- Added ClassifyActor(tid) ACS builtin function. This takes a TID and returns
  a set of bits describing the actor. If TID is 0, it returns information
  about the activator. If there is more than one actor with the given TID,
  only the first one is considered. Currently defined bits are:
    ACTOR_NONE         No actors with this TID exist (only when TID is not 0).
    ACTOR_WORLD        Activator is the world (only when TID is 0).
    ACTOR_PLAYER       Actor is a player (includes bots and voodoo dolls).
    ACTOR_BOT          Actor is a bot.
    ACTOR_VOODOODOLL   Actor is a voodoo doll.
    ACTOR_MONSTER      Actor is a monster.
    ACTOR_ALIVE        Actor is alive (players/monsters only).
    ACTOR_DEAD         Actor is dead (players/monsters only).
    ACTOR_MISSILE      Actor is a missile.
    ACTOR_GENERIC      Actor exists, but no further information is available.


SVN r1310 (trunk)
2008-12-07 03:55:49 +00:00
Randy Heit ef3b57fb8f - Moved ExpandEnvVars() from d_main.cpp to cmdlib.cpp.
- AutoExec paths now support the same variable expansion as the search paths.
  Additionally, on Windows, the default autoexec path is now relative to
  $PROGDIR, rather than using a fixed path to the executable's current
  directory.
- All usable Autoload and AutoExec sections are now created at the top of
  the config file along with some brief explanatory notes so they are
  readily visible to anyone who wants to edit them.


SVN r1307 (trunk)
2008-12-07 00:50:04 +00:00
Christoph Oelckers 153a2a4c2c - Fixed: G_DoPlayDemo did not free the demobuffer or the CVAR backups when it
failed to start the demo.
- Added a MF5_BRIGHT flag to always render an actor fullbright.
- Fixed: Calling Door_Animated with a non-zero tag created a new thinker
  for each two-sided line of the sector.
- Added Karate Chris's submission for making 'spray' a cheat.
- Added CO2's default parameter additions for several Doom code pointers
  submission.
- Added CO2's A_RemoveMaster/A_RemoveChildren submission.
- Added Blzut3's SBARINFO replacement for the Doom statusbar.
- Fixed: SBarInfo still displayed the wrong bar for height 0
- Added A_KillSiblings and A_DamageSiblings code pointers.
- added MaxAbsorb and MaxFullAbsorb properties for Armor.


SVN r1304 (trunk)
2008-12-06 10:22:37 +00:00
Randy Heit b692412a9e - Restored the multiplayer scoreboard's former centering so that it doesn't
look awful on widescreen intermissions. Also changed the column widths to
  be font-dependant rather than fixed proportions of the screen width.
- Fixed horizontal positioning of 'finished' on the Raven games when scaled.


SVN r1303 (trunk)
2008-12-02 02:23:05 +00:00
Christoph Oelckers 7f05277f2b - Fixed: 'finished' wasn't drawn on the intermission because the space
check compared scaled with unscaled coordinates.
- deleted some files only containing obsolete info from the docs folder.


SVN r1302 (trunk)
2008-11-30 17:57:25 +00:00