Commit graph

1978 commits

Author SHA1 Message Date
Christoph Oelckers
3ff95001f5 - fixed: The changes for new colormap handling in FMultipatchtexture were incomplete.
Some code was still checking Blend.r instead of the full variable for colormap indices.



SVN r1879 (trunk)
2009-09-26 22:15:56 +00:00
Randy Heit
d816747c7e - Fixed: "give health" without an amount would set your health to IDDQD health
instead of the player class's maximum.
- Fixed: A_CStaffCheck() assumed the player's max health was 100 instead
  of getting checking for the true maximum.


SVN r1876 (trunk)
2009-09-25 03:07:20 +00:00
Randy Heit
2ad438d696 - Changed P_XYMovement() to not call P_SlideMove() if the act of being
blocked changed the actor's velocity. I'm not entirely happy with this,
  but it gets push-activated force fields to work.


SVN r1875 (trunk)
2009-09-25 02:54:13 +00:00
Randy Heit
6a5ab0edc0 - Fixed: FMultiPatchTexture::CopyTrueColorPixels() should clear the buffer
first before drawing into it if the copy op passed to it is OP_OVERWRITE.
  FTexture::FillBuffer() sets this to erase whatever texture might have been
  in the space it is going into.


SVN r1874 (trunk)
2009-09-25 02:27:48 +00:00
Randy Heit
11fbc57178 - Added a technique to try and minimize input lag with vsync enabled: Two
surfaces are alternately locked for read-only access each frame, forcing
  the driver to stop buffering more than one frame at a time. The input lag
  on my system doesn't seem to be as bad as it once was (I can no longer
  see it obviously with my naked eye), but turning antilag on "feels"
  slightly more responsive. The cvar d3d_antilag turns this technique on and
  off. See <http://www.xyzw.de/c120.html> for more details.


SVN r1870 (trunk)
2009-09-22 20:17:54 +00:00
Randy Heit
1263d015cb - Don't initialize GrayscaleToColor 256 times for each special colormap.
SVN r1869 (trunk)
2009-09-22 18:59:36 +00:00
Christoph Oelckers
a3c80447d4 - fixed Powerup.Colormap 6 parameter version.
SVN r1868 (trunk)
2009-09-22 10:05:27 +00:00
Christoph Oelckers
9cc67f565c - Added a check to Dehacked code which tries to set the blend color.
It must set it to 0 if the alpha is 0 to avoid problems with special
  colormap detection.
- Changed SPECIALCOLORMAP_MASK again so that it does not interfere with
  any valid setting. It must use a value with a 0-alpha because these
  are guaranteed not to be produced by the DECORATE code elsewhere.
- Fixed precision issues with AddFixedColormap's search for identical colormaps.
- Added custom colormap support to texture composition code.
- Fixed initialization of FSpecialColormap::GrayscaleToColor. This is not
  a mapping from the palette but from a [0,255] grayscale ramp and used to
  apply colormaps to true color images for texture composition.

SVN r1867 (trunk)
2009-09-22 08:06:52 +00:00
Randy Heit
d502655866 - For hardware 2D, apply fixed colormaps when copying to video memory instead
of doing it directly during the rendering, in order to improve visual
  fidelity for colormaps that aren't grayscale.


SVN r1866 (trunk)
2009-09-22 04:21:27 +00:00
Randy Heit
84a018f05a - Added support for defining the full color range of a special colormap.
SVN r1865 (trunk)
2009-09-22 02:54:19 +00:00
Randy Heit
79298285f7 - Making any blends with full red a special colormap seems like it would be far too
easy to accidentally trigger.

SVN r1864 (trunk)
2009-09-22 01:31:36 +00:00
Randy Heit
e9d61a3f46 - Fixed: In letterbox modes, the clipping window needs to be adjusted down.
SVN r1863 (trunk)
2009-09-22 01:28:13 +00:00
Randy Heit
8377927412 - Apply BHS's ThingActivation patch.
SVN r1862 (trunk)
2009-09-22 01:16:54 +00:00
Christoph Oelckers
c285f38a02 - Fixed: When drawing with a special colormap the quad's flags weren't cleared
which could cause crashes.
- Added custom special colormaps to DECORATE.
- Cleaned up special colormap code and removed lots of dependencies on the
  knowledge of the tables' contents.



SVN r1860 (trunk)
2009-09-21 13:15:36 +00:00
Christoph Oelckers
d51c0c047d - Changed call to R_DrawRemainingPlayerSprites into a virtual function
of DFrameBuffer because its implementation is specific to the software
  renderer and needs to be overridable.

SVN r1859 (trunk)
2009-09-20 06:23:10 +00:00
Randy Heit
b8eb530a0d - Fixed: Wall drawing handled fixed light levels improperly (but did not
completely ignore them, either).
- Separated light level fixing out of player_t's fixedcolormap parameter.
  Using a fixed light level (e.g. PowerTorch) will no longer wipe out
  colored lighting.
- Moved the blending rectangle drawing into a separate discrete stage, since
  doing it while copying the 3D view window to the display now blends
  underneath the weapon instead of on top of it.
- Consolidated the special colormaps into a single 2D table.
- Tweaked the special colormaps slightly to make the true color results more
  closely match the paletted approximations.
- fb_d3d9_shaders.h was getting unwieldy, so I moved the shaders out of the
  executable and into zdoom.pk3. Shaders are still precompiled so I don't need
  to pull in a dependancy on D3DX.
- Added a few more shaders to accomodate drawing weapons with all the in-game
  lighting models. These are accessed with the new DrawTexture tags
  DTA_SpecialColormap and DTA_ColormapStyle.
- Player weapon sprites are now drawn using Direct3D and receive all the
  benefits thereof.


SVN r1858 (trunk)
2009-09-20 03:50:05 +00:00
Christoph Oelckers
857002e12f - Added Gez's real morph fix.
SVN r1857 (trunk)
2009-09-18 05:46:15 +00:00
Christoph Oelckers
5613c3e14f - Fixed: Unmorphing while invulnerable was blocked.
SVN r1855 (trunk)
2009-09-17 20:58:43 +00:00
Christoph Oelckers
2fbcc13652 - Gez's latest cleanup patch.
SVN r1854 (trunk)
2009-09-17 20:54:07 +00:00
Christoph Oelckers
f3f209160e - Renamed plane flags from SECF_* to PLANEF_*.
- Changed Heretic's plat raise type to use a flag to block further sector movement
  instead of keeping the dead thinker around.


SVN r1853 (trunk)
2009-09-17 10:40:38 +00:00
Christoph Oelckers
555f41b0ba damn
SVN r1851 (trunk)
2009-09-16 23:21:16 +00:00
Christoph Oelckers
f39c5c3b5a - Last commit did not work.
SVN r1850 (trunk)
2009-09-16 22:47:04 +00:00
Christoph Oelckers
35a4526c1d - Fixed: A_LookEx did not work for monsters having the MF_NOSECTOR flag.
SVN r1849 (trunk)
2009-09-16 22:45:28 +00:00
Christoph Oelckers
5822729943 - Fixed: The deprecated flag handler for the old bounce flags needs to clear
BOUNCE_MBF and BOUNCE_UseSeeSound, too, when clearing one of these flags.
- Fixed: When adding the AVOIDMELEE code the code was accidentally changed so that
  friendly monsters could no longer acquire targets by themselves.
- Renamed WIF_BOT_MELEE to WIF_MELEEWEAPON because it's no longer a bot only flag.
- Added MBF's monster_backing feature as an actor flag: AVOIDMELEE.


SVN r1848 (trunk)
2009-09-16 21:03:09 +00:00
Christoph Oelckers
a6d9a37ef7 - Gez's misc. bugs patch:
* Moves the dog sound out of the Doom-specific sounds in SNDINFO to address this,
* Renames the dog actor to MBFHelperDog to prevent name conflicts,
* Adds APROP_Score to CheckActorProperty,
* Completes the randomspawner update (the reason I moved the recursion counter out of 
  special1 was that I found some projectiles had this set to them, for example in 
  A_LichAttack, but I forgot to add transfer for them),
* Provides centered sprites for beta plasma balls if this is deemed deserving correction.


SVN r1847 (trunk)
2009-09-16 15:57:08 +00:00
Christoph Oelckers
dc292caaa3 - Added some pieces of MBF's friendly AI.
- Cleaned up A_LookEx code and merged most of it with the base functions.
  The major difference was a common piece of code that was repeated 5 times
  throughout the code so I moved it into a subfunction.
- Changed P_BlockmapSearch to pass a user parameter to its callback so that
  A_LookEx does not need to store its info inside the actor itself.


SVN r1846 (trunk)
2009-09-16 15:54:04 +00:00
Christoph Oelckers
c7a6b796f9 - fixed: The linetarget CCMD duplicated all of the info CCMD.
- fixed: PrintActorInfo crashed due to some incomplete implementation.


SVN r1845 (trunk)
2009-09-16 05:44:24 +00:00
Randy Heit
7b23effc02 - Now that I think about it, why is MBFParamStates an array of pointers, anyway?
SVN r1840 (trunk)
2009-09-15 23:31:28 +00:00
Randy Heit
f1dc490151 - Fixed: The MBFParamStates array leaked memory.
SVN r1839 (trunk)
2009-09-15 22:44:07 +00:00
Christoph Oelckers
45842e28bd - added PinkSilver's A_Respawn enhancement patch.
SVN r1837 (trunk)
2009-09-15 21:57:51 +00:00
Christoph Oelckers
e5357d1b65 - added Gez's latest bugfix patch.
SVN r1836 (trunk)
2009-09-15 17:19:30 +00:00
Christoph Oelckers
5910d90a19 - added RandomSpawner update from Gez's experimental build.
- added thing activation types for BUMPSPECIAL and USESPECIAL. Also added
  a new ClearSpecial flag to the activation type.
- added MBF's code for dogs jumping down, controlled by the MF6_JUMPDOWN
  flag.


SVN r1835 (trunk)
2009-09-15 14:16:55 +00:00
Christoph Oelckers
f2a122e076 GCC compile fix.
SVN r1834 (trunk)
2009-09-15 11:53:12 +00:00
Christoph Oelckers
4d18698f43 - fixed: pr_bounce was declared statically in o_mobj.cpp and redeclared externally
in p_map.cpp resulting in a CRC conflict.


SVN r1832 (trunk)
2009-09-15 06:35:46 +00:00
Christoph Oelckers
3a6d66e230 - fixed: The Dehacked flags parser fix from May 31 (r1624) was undone by
yesterday's additions. Changed it so that the parser first checks for 
  the presence of a '-' sign before deciding whether to use strtol or
  strtoul to convert the string into a number.


SVN r1831 (trunk)
2009-09-15 05:59:55 +00:00
Christoph Oelckers
923bf08cdc - Added PinkSilver's A_LookEx fix.
SVN r1828 (trunk)
2009-09-14 23:54:55 +00:00
Christoph Oelckers
4a057c1fdc - Added Gez's cleanup patch for MBF support but undid the deletion of the MF6_JUMPDOWN flag which will be implemented later.
SVN r1827 (trunk)
2009-09-14 23:50:21 +00:00
Christoph Oelckers
158fce1123 - Why wasn't this stuff committed before?
SVN r1826 (trunk)
2009-09-14 23:30:53 +00:00
Christoph Oelckers
4d55f01c3a - added resources needed for MBF support.
- removed unused score items from DECORATE file.
- added 2 MBF code pointers I forgot in the last commit.

SVN r1825 (trunk)
2009-09-14 23:28:24 +00:00
Christoph Oelckers
afab7855c4 - removed the COMPATF_MBFDEHACKED flag because it wouldn't work and is more or less useless anyway.
The range checks this protected against can be safely omitted now that the misc fields are large enough.
- added MBF Dehacked emulation.

SVN r1824 (trunk)
2009-09-14 22:12:31 +00:00
Christoph Oelckers
a59de25107 - Next round of things from Gez's experimental build:
* MBF's dog (definition only, no sprites yet.)
  * User variables. There's an array of 10. They can be set and checked in both DECORATE and ACS.
  * Made the tag name changeable but eliminated the redundancy of having both the meta property and the individual actor's one. Having one is fully sufficient. TO BE FIXED: Names are case insensitive but this should better be case sensitive. Unfortunately there's currently nothing better than FName to store a string inside an actor without severely complicating matters. Also bumped savegame version to avoid problems with this change.


SVN r1823 (trunk)
2009-09-14 21:41:44 +00:00
Christoph Oelckers
ea8c94d637 - Fixed: Argument count for UsePuzzleItem was wrong.
- Added more things from Gez's experimental build:
  * MBF grenade and bouncing code.
  * Arch Vile ghosts emulation (only for compatibility.txt.)
  * Several MBF related compatibility options.



SVN r1821 (trunk)
2009-09-14 20:47:53 +00:00
Christoph Oelckers
238d4c3fac - More things from Gez's experimental build:
* info CCMD to print extended actor information (not fully implemented yet)
  * summonmbf CCMD.
  * Beta BFG code pointer (but not the related missiles yet.)
  * PowerInvisibility enhancements.
  * ScoreItem with one significant change: Added a score variable that can be
    checked through ACS and DECORATE. The engine itself will do nothing with it.
  * Nailgun option for A_Explode.
  * A_PrintBold and A_Log.
  * A_SetSpecial.


SVN r1819 (trunk)
2009-09-14 19:44:14 +00:00
Christoph Oelckers
914d993aa1 - Added a few things from Gez's experimental build:
* Beta Lost Soul (added DoomEdNum 9037 to it)
  * A_Mushroom extensions
  * Vavoom compatible MAPINFO keynames.
  * Vavoom's Sector_SetContents fixes to inactive 3D floor code.


SVN r1818 (trunk)
2009-09-14 09:41:09 +00:00
Randy Heit
980b68af17 - Added warning messages when loading maps that have non-zero values in
unused line argument fields, because these maps could potentially break
  in the future if the argument is later assigned a meaning. (Hopefully
  all the argument counts in actionspecials.h are accurate. I found a
  few that were wrong.)


SVN r1817 (trunk)
2009-09-12 04:08:31 +00:00
Randy Heit
38780d2d2a - Fixed: If a damaged actor has negative mass, it needs to have its damage
thrust set to maximum instead of 0. See Action Doom's broken glass
  "CommanderKeens".


SVN r1816 (trunk)
2009-09-11 01:00:01 +00:00
Randy Heit
e6174f5259 - Changed the SCROLLTYPE define so that any extra bits set cause it to default
to 7. This effects action.wad, MAP02, lines 12054 and 12059, which had them
  at 128, so they no longer scrolled in r832+.


SVN r1815 (trunk)
2009-09-10 22:19:21 +00:00
Randy Heit
66920536d9 - Look for files in Mac-like places on Macs.
- Fixed: The non-Windows CreatePath can fail if part of the path already
  exists, because mkdir will return an error code for trying to recreate
  an existing directory.



SVN r1814 (trunk)
2009-09-09 17:12:47 +00:00
Randy Heit
12576d2eb5 - Because entryway timed it, here is a new version of R_PointToAngle2 that is
closer to the original. The old code was shorter but a little slower. The
  new code is a bit faster than the original with VC++ and about the same
  with GCC. Interestingly, GCC produces code for Killough's version that
  performs about the same as the original, but when compiled with VC++,
  Killough's is notably worse.


SVN r1813 (trunk)
2009-09-08 23:48:34 +00:00
Christoph Oelckers
93166b86b3 - moved ENDOOM lump name definition into gameinfo.
- moved default item drop style into gameinfo.
- moved default respawn time into gameinfo.
- moved default inventory max amount into gameinfo.
- turned Heretic's blocking of the sector for LS_Plat_RaiseAndStayTx0 into
  a parameter instead of having the game mode decide. 



SVN r1812 (trunk)
2009-09-08 21:01:24 +00:00
Randy Heit
173646971d - Add 'add' parameter to SetActorVelocity.
SVN r1810 (trunk)
2009-09-08 03:19:57 +00:00
Randy Heit
17a43e7753 - Applied vertical SBARINFO inventory bar patch.
SVN r1809 (trunk)
2009-09-08 03:10:50 +00:00
Randy Heit
e1683dfed3 - Fixed: Linux version no longer linked with GTK+.
SVN r1807 (trunk)
2009-09-07 22:45:07 +00:00
Christoph Oelckers
57a2e0ab73 - moved definition of games' default armor icons into gameinfo definition.
SVN r1806 (trunk)
2009-09-07 19:46:54 +00:00
Christoph Oelckers
8e4ba47c98 - fixed: The PNG loader for true color textures overwrote the IDAT size with
the IDAT id when reading the image.


SVN r1805 (trunk)
2009-09-07 05:48:34 +00:00
Christoph Oelckers
b07445d149 - fixed: Trying to pick up an object of the Ammo base class caused a crash.
SVN r1804 (trunk)
2009-09-06 21:32:57 +00:00
Christoph Oelckers
74e3502185 - oops
SVN r1803 (trunk)
2009-09-06 21:24:04 +00:00
Christoph Oelckers
5bd22ca864 - backported some changes from GZDoom:
- fixed: Floor and ceiling hugger projectiles should not be spawned with ONFLOORZ or ONCEILINGZ 
because that will make them ignore the actual floor height if it differs from the sector's floor.
- fixed: Floor and ceiling huggers spawned by a player did not get their vertical velocity set to 0.
- some sidenum related changes in inactive 3D floor code.


SVN r1802 (trunk)
2009-09-06 21:22:07 +00:00
Christoph Oelckers
14a42bbada - changed line_t's sidenum into sidedef pointers.
SVN r1801 (trunk)
2009-09-06 20:45:56 +00:00
Christoph Oelckers
e6aadca409 - changed side_t's linenum into a linedef pointer.
SVN r1800 (trunk)
2009-09-06 18:19:28 +00:00
Christoph Oelckers
93f6f1d701 - Added PinkSilver's SetActorVelocity code submission (with optimizations.)
SVN r1799 (trunk)
2009-09-06 08:27:18 +00:00
Randy Heit
e8d1416d81 - Added the frandom decorate function, which is exactly like random except
that it works with floating point instead of integers.


SVN r1797 (trunk)
2009-09-06 02:16:55 +00:00
Randy Heit
c1a578ba08 - Split the bounce types completely into separate flags and consolidated
the various bounce-related flags spread across the different Actor flags
  field into a single BounceFlags field.
- Fixed: P_BounceWall() should calculate the XY velocity using a real
  square root and not P_AproxDistance(), because the latter can cause
  them to speed up or slow down.


SVN r1796 (trunk)
2009-09-06 01:49:17 +00:00
Randy Heit
f27b7209e8 - Fixed: R_CreatePlayerTranslation() only initialized the first truecolor
palette entry.


SVN r1795 (trunk)
2009-09-05 03:55:29 +00:00
Randy Heit
7da43069d7 - Fixed: The aliasing of CPUInfo was still wrong. (Yarr! The things I do
for you, GCC!) The AMD feature flags weren't stored anywhere, either; not
  that it really matters.


SVN r1794 (trunk)
2009-09-05 03:28:58 +00:00
Randy Heit
b528b987da - Add an alternate PIC-compliant __cpuid macro in x86.cpp.
SVN r1793 (trunk)
2009-09-04 23:14:29 +00:00
Randy Heit
6214177f1f - Fixed: S_LoadSound() did not byte-swap the frequency and length it reads
from DMX sounds.



SVN r1792 (trunk)
2009-09-04 22:59:41 +00:00
Christoph Oelckers
44974ff28f - made menu dimming a mapping option but kept the CVARS as user override.
SVN r1790 (trunk)
2009-09-04 22:25:46 +00:00
Christoph Oelckers
f55d1718f2 - fixed: Weapons must first check if they can be switched and afterwards
if they can be fired. These checks were reversed.


SVN r1789 (trunk)
2009-09-03 19:51:55 +00:00
Randy Heit
41be75a49e - Fixed: Missing a slash in the path to zdoom.ini on a Mac.
SVN r1788 (trunk)
2009-09-03 04:40:13 +00:00
Randy Heit
48d78730f3 - Mac version now links. Updaterevision refuses to give me a version number.
Zipdir is not doing byte swapping like it should. zdoom.ini is stored
  in ~/Preferences, but all other file accesses are probably going to be
  like Windows and look in the same directory as the executable.



SVN r1786 (trunk)
2009-09-03 03:51:41 +00:00
Christoph Oelckers
1d582a7550 - fixed: The newly altered WAD code could not load embedded WADs anymore.
SVN r1785 (trunk)
2009-09-02 20:29:52 +00:00
Randy Heit
c24c31cc9f - Added directory detection to the -file parameter. This obsoletes -dir, so
that parameter is now gone.
- Removed automatic ".wad" appending from FWadCollection::InitMultipleFiles()
  since it isn't needed and prevented files without extensions from being
  loaded. D_AddFile() already takes care of adding the extension if the
  name as-given does not exist.
- Fixed: Loading single files did not print a newline in the startup text.


SVN r1784 (trunk)
2009-09-02 03:47:48 +00:00
Randy Heit
6c6ce41b7e - Fixed: A_JumpIf(InTarget)Inventory jumped if the check amount was greater
than the item's max amount and the item was maxed.


SVN r1783 (trunk)
2009-09-02 02:35:20 +00:00
Randy Heit
78902b2009 - Fixed: Some dmadds wads used zero-length sprites as placeholders. When you
ran dmadds to combine it with the IWAD's sprites, they would be replaced by
  the IWAD's sprites, so when loading such wads, we should ignore those as
  valid sprites. (Thanks to entryway for finding this.) See 22ventry's
  22sprite.wad for an example.


SVN r1782 (trunk)
2009-09-02 02:17:11 +00:00
Randy Heit
9aa35cc1b7 - Fix what broke on Windows when making it compile on a Mac.
SVN r1781 (trunk)
2009-09-01 02:14:14 +00:00
Randy Heit
33a397c04b - Basic Mac support: Everything compiles but does not yet link.
SVN r1780 (trunk)
2009-09-01 02:08:53 +00:00
Randy Heit
3f003e06db - Replaced the use of autoconf's WORDS_BIGENDIAN with __BIG_ENDIAN__, since
latter comes predefined by GCC.


SVN r1779 (trunk)
2009-08-31 21:47:29 +00:00
Christoph Oelckers
75920f2ed0 - fixed: R_InitColormaps was broken since the resource file code rewrite.
SVN r1778 (trunk)
2009-08-30 20:47:43 +00:00
Christoph Oelckers
ba28749df7 - fixed: WIF_STAFF2_KICKBACK did not work anymore because it depended on conditions
that were changed some time ago.
- fixed: The damage inflictor for a rail attack was the shooter, not the puff.
- Fixed: Floor and ceiling huggers may not change their z-velocity when seeking.
- Fixed: UDMF set the secret sector flag before parsing the sector's properties,
  resulting in it always being false.
- Renamed sector's oldspecial variable to secretsector to better reflect its
  only use.
- Fixed: A_BrainSpit stored as the SpawnShot's target the intended BossTarget, 
  not itself contrarily to other projectile spawning functions. 
  A_SpawnFly then used the target for CopyFriendliness, thinking it'll be the 
  BossEye when in fact it wasn't.
- Added Gez's submission for a DEHACKED hack introduced by Boom.
  (using code pointers of the form 'Pointer 0 (x statenumber)'.
- fixed: Attaching 3DMidtex lines by sector tag did not work because lines
  were marked by index in the sector's line list but needed to be marked by
  line index in the global array.
- fixed: On Linux ZDoom was creating a directory called "~.zdoom" for 
  save files because of a missing slash.
- fixed: UDMF was unable to read floating point values in exponential format
  because the C Mode scanner was missing a definition for them.
- fixed: The recent changes for removing pointer aliasing got the end sequence
  info from an incorrect variable. To make this more robust the sequence index
  is now stored as a hexadecimal string to avoid storing binary data in a string.
  Also moved end sequence lookup from f_finale.cpp to the calling code so that
  the proper end sequences can be retrieved for secret exits, too.

SVN r1777 (trunk)
2009-08-30 10:43:51 +00:00
Christoph Oelckers
6e3fdbdfc8 - fixed: Switching a weapon did not reset the refire counter.
SVN r1776 (trunk)
2009-08-29 15:50:03 +00:00
Randy Heit
bdc0950e01 - Fixed: The first lighting plane added to a light stack had the bOverlaps
flag set, causing it to be ignored during rendering. Why this didn't cause
  more trouble, I don't know.
- Fixed: The UDMF parser passed the wrong value for "default alpha" for
  TranslucentLine to P_FinishLoadingLineDef().


SVN r1775 (trunk)
2009-08-29 03:33:36 +00:00
Randy Heit
90b4be5d28 - Add a couple of assertions.
SVN r1774 (trunk)
2009-08-29 02:22:06 +00:00
Randy Heit
7a89872b63 - Fixed: genStringEnter mode acted on key up events rather than key repeat
events.


SVN r1773 (trunk)
2009-08-29 02:19:46 +00:00
Christoph Oelckers
fe96cab254 - Fixed: paletted texture composition with part translucent patches
did not work.


SVN r1771 (trunk)
2009-08-12 22:10:53 +00:00
Christoph Oelckers
385350efae - Fixed: A_SorcOffense2 depended on args being bytes and overflowing.
- Fixed: Even though P_DamageMobj checked an attack's originator
  for MF2_NODMGTHRUST the same check was missing from P_RadiusAttack.
- Fixed: A_MinotaurRoam should not assume without check that it was
  called by a MinotaurFriend.
- Fixed: The Minotaur declared A_MntrFloorFire which it did not use.
- Fixed: All Spawnspot functions did not check for a spot tid of 0 as
  the script's activator.
- Fixed: Friendly monsters ignored team association of their owning
  players.


SVN r1770 (trunk)
2009-08-12 18:57:31 +00:00
Christoph Oelckers
a5ec361715 - Fixed: The pause sprite was not centered correctly when it was a scaled
graphic.


SVN r1769 (trunk)
2009-08-11 20:40:09 +00:00
Randy Heit
2a9351fa61 - Fixed: P_TestMobjZ() needs THRUSPECIES and THRUACTORS checks, too.
SVN r1768 (trunk)
2009-08-11 01:03:58 +00:00
Randy Heit
da33f333a1 - Fixed: The UDMF loader did not initialize the sectors' sectornum property.
SVN r1767 (trunk)
2009-08-11 00:22:43 +00:00
Christoph Oelckers
74bdfe19c5 - Fixed: The true color texture compositing code did not clip the edges
of multipatch textures used as patches on other multipatch textures.


SVN r1766 (trunk)
2009-08-10 18:30:25 +00:00
Christoph Oelckers
914ccd4ea2 - Fixed: A_EntityAttack did not spawn the correct missiles.
SVN r1765 (trunk)
2009-08-09 19:12:16 +00:00
Randy Heit
ae21fa4562 - Changed the return value of SetActivatorToTarget to match the description
in the wiki.


SVN r1764 (trunk)
2009-08-08 22:52:58 +00:00
Christoph Oelckers
e49da9bba9 - forgot something,,,
SVN r1763 (trunk)
2009-08-08 21:30:23 +00:00
Christoph Oelckers
cd95473d57 - replaced all code that changed a sector's light level with a setter function.
SVN r1762 (trunk)
2009-08-08 20:03:43 +00:00
Christoph Oelckers
a47ec74eba - Fixed: The FeatureFlags array in the CPUInfo struct was not mapped to the flags properly.
SVN r1761 (trunk)
2009-08-08 13:32:58 +00:00
Randy Heit
d4c8c47796 - If SetActivatorToTarget is used for a player-run script, and the player is
alive, it now sets the activator to the actor the player is aiming at. I
  also noticed that this looked like it was a quick copy'n'paste job from
  SetActivator. It returns false if the activator at the end of the function
  was the world, but it never sets the activator to the world. I'm not sure
  that's the best use of the return value.


SVN r1760 (trunk)
2009-08-08 01:34:20 +00:00
Randy Heit
8e1ce082f4 - Added support for per-SpawnShot spawn lists. (Also fixed a potential
infinite loop, though I'm not sure the parser allowed this condition to
  happen.)


SVN r1759 (trunk)
2009-08-08 01:18:15 +00:00
Randy Heit
4d4e8e89b3 - Changed the DWORDs in dobject.h into uint32s, since they were preventing
edit-and-continue from working for the Windows source files.
- When a WM_KEYDOWN message is received with VK_PROCESSKEY, the scan key is
  now used to retrieve the real virtual key for the message. This fixes the
  previous issue that caused me to completely disable the IME.
- Removed the code that disables the IME, since it also disables the ability
  to switch between keyboard layouts that do not use an IME.
- TranslateMessage() is no longer called if GUI capture mode is off, so no
  dead key processing is performed until it might be useful.


SVN r1758 (trunk)
2009-08-08 00:36:35 +00:00
Randy Heit
63e26df7b2 - Added player MugShotMaxHealth property. Negative values use the player's
max health as the mug shot max health, zero uses 100 as the mug shot max
  health, and positive values used directly as the mug shot max health.


SVN r1757 (trunk)
2009-08-07 04:20:28 +00:00
Randy Heit
f9088bd2cf - Added buddha cheat.
SVN r1756 (trunk)
2009-08-07 04:08:38 +00:00
Randy Heit
16846fe36d - Added TELEFRAG_DAMAGE constant, and changed the two places that still used
1000 as the threshold for god mode damage to use it instead. (Players with
  MF2_INVULNERABLE set already used 1000000 as their threshold.)


SVN r1755 (trunk)
2009-08-07 03:57:03 +00:00
Randy Heit
a1554799d9 - Added MF6_NOTELEPORT flag.
SVN r1754 (trunk)
2009-08-07 03:41:23 +00:00
Randy Heit
732a44b338 - Fixed: M_QuitResponse() tried to play a sound even when none was specified
in the gameinfo.
- Added Yes/No selections for Y/N messages so that you can answer them
  entirely with a joystick.
- Fixed: Starting the menu at the title screen with a key other than Escape
  left the top level menu out of the menu stack.
- Changed the save menu so that cancelling input of a new save name only
  deactivates that control and does not completely close the menus.
- Fixed "any key" messages to override input to menus hidden beneath them and
  to work with joysticks.
- Removed the input parameter from M_StartMessage and the corresponding
  messageNeedsInput global, because it was redundant. Any messages that want
  a Y/N response also supply a callback, and messages that don't care which
  key you press don't supply a callback.
- Changed MKEY_Back so that it cancels out of text entry fields before
  backing to the previous menu, which it already did for the keyboard.
- Changed the menu responder so that key downs always produce results,
  regardless of whether or not an equivalent key is already down.


SVN r1753 (trunk)
2009-08-07 03:30:51 +00:00
Randy Heit
3e388acc15 - Added the MF6_STEPMISSILE flag so that the Whirlwind can "walk" up steps.
- Changed the dword definition of PalEntry to uint32 so that it has one
  consistent definition across all source files.


SVN r1752 (trunk)
2009-08-05 01:13:41 +00:00
Randy Heit
9764532d8b - Swapped the order of floor and ceiling moves in DElevator::Tick() so that
if an elevator contains an actor exactly the same height as it, it will not
  be blocked.


SVN r1751 (trunk)
2009-08-05 00:36:01 +00:00
Randy Heit
be9830f219 - Fixed: FWeaponSlot::PickWeapon() wrapped around improperly when the starting
value for i was 0.


SVN r1750 (trunk)
2009-08-04 23:19:09 +00:00
Christoph Oelckers
00f88610ac - Added kgsws's SummonActor enhancement and bumped netgame and demo versions
because this submission changes an existing command.



SVN r1749 (trunk)
2009-08-03 20:40:45 +00:00
Christoph Oelckers
54c4e26f7d - Changed: DEHACKED parsing is disabled now when a user supplied DEHSUPP lump
is found. This mimics the old behavior which also disabled DEHACKED when
  the DEHSUPP lump was incompatible with the current engine. This behavior is
  needed to ensure that WADs that contain a ZDaemon-exclusive DEHSUPP lump
  continue to work as intended.

SVN r1748 (trunk)
2009-08-02 18:23:05 +00:00
Christoph Oelckers
356e4a0fcc - Added A_Mushroom compatibility option for Dehacked.
- Added Gez's submission for interhubamount DECORATE property.


SVN r1747 (trunk)
2009-08-02 15:54:34 +00:00
Christoph Oelckers
641f946e32 - Fixed: The big endian version of PalEntry did not add the DWORD d field.
- Fixed: TObjPtr did not use a union to map its 2 pointers together.
- Added a compatibility mode for A_Mushroom. For DECORATE it is an additional
  parameter but to force it for Dehacked mods some minor hacks using the
  Misc1 variable were needed.


SVN r1746 (trunk)
2009-08-02 10:48:58 +00:00
Randy Heit
8330a69212 - Moved the terget->velz assignment to the end of A_VileAttack to remove the
influence of vertical thrust from the radius attack, since ZDoom does
  explosions in three dimensions, but Doom only did it in two.
- Fixed: The last three parameters to A_VileAttack had their references off
  by one. Most notably as a result, the blast radius was used as the thrust,
  so it sent you flying far faster than it should have.


SVN r1745 (trunk)
2009-08-02 04:11:48 +00:00
Randy Heit
1e554a1fcc - Restored the reactiontime countdown for A_SpawnFly, since some Dehacked
mod could conceivable rely on it. The deadline is now kept in special2
  and used in preference as long as it is non-zero.


SVN r1744 (trunk)
2009-08-02 03:56:03 +00:00
Randy Heit
93202a5488 - Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the
issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
2009-08-02 03:38:57 +00:00
Randy Heit
99d99ce5e5 - Changed A_SpawnFly to do nothing if reactiontime is 0. Reactiontime was
originally a counter, so if it started at 0, A_SpawnFly would effectively 
  never spawn anything. Fixes Dehacked patches that use A_SpawnSound to
  play a sound, since it calls A_SpawnFly.


SVN r1741 (trunk)
2009-08-01 01:56:16 +00:00
Randy Heit
a90bde274e The menu code sucks!
- Joystick devices now send key up events for any buttons that are held
  down when they are destroyed.
- Changed the joystick enable-y menu items to be nonrepeatable so that you
  can't create several device scans per second. Changing them with a
  controller is also disabled so that you can't, for example, toggle XInput
  support using an XInput controller and have things go haywire when the
  game receives an infinite number of key down events when the controller
  is reinitialized with the other input system.
- Changed menu input to use a consolidated set of buttons, so most menus
  can be navigated with a controller as well as a keyboard.
- Changed the way that X/Y analog axes are converted to digital axes.
  Previously, this was done by checking if each axis was outside its deadzone.
  Now they are checked together based on their angle, so straight up/down/
  left/right are much easier to achieve.


SVN r1739 (trunk)
2009-07-26 03:25:18 +00:00
Christoph Oelckers
1c8d442c32 - fixed some GCC warnings.
SVN r1738 (trunk)
2009-07-25 15:00:45 +00:00
Christoph Oelckers
d26aeb8939 - Fixed: The composer for complex multipatch textures did not clear the palette
buffer before filling it.


SVN r1737 (trunk)
2009-07-25 09:11:15 +00:00
Randy Heit
f1e6ec1fd9 - Update src/CMakelists.txt to check for FMOD Ex 4.26 and look for its include files
in a few more locations.

SVN r1736 (trunk)
2009-07-25 00:59:26 +00:00
Christoph Oelckers
25c0f679cb - Fixed: using custom automap backgrounds crashed.
SVN r1735 (trunk)
2009-07-24 20:25:19 +00:00
Randy Heit
4134bc3c64 - Added extra states to dehsupp for the MBF additions.
SVN r1734 (trunk)
2009-07-23 06:25:47 +00:00
Randy Heit
bc3448e958 - Removed specific Button_Speed handling from the controllers' AddAxes()
methods. Analog axes now respond Button_Speed and cl_run in exactly the
  same way as digital buttons do.
- Changed rounding slightly for analog axis -> integer in G_BuildTiccmd().
- Fixed: FXInputController::ProcessThumbstick() was slightly off when it
  converted to the range [-1.0,+1.0].


SVN r1733 (trunk)
2009-07-23 05:37:03 +00:00
Randy Heit
6906e1b0e3 - Added default bindings for the Xbox 360 controller buttons.
(Still to do: Make the menus work with a controller.)

SVN r1732 (trunk)
2009-07-23 05:06:38 +00:00
Randy Heit
8a2e03c9cb - Fixed: Redefining an existing skill would set that skills ACSReturn to be
the same as the next new skill defined, if neither definition explicitly set
  the value for ACSReturn.
- Added a DefaultSkill property. Adding it to a skill will cause that skill
  to be the default one selected in the menu. If none is specified as the
  default, then the middle skill is the default.


SVN r1731 (trunk)
2009-07-23 04:33:07 +00:00
Randy Heit
371f944262 - Slider controls in the options menu now display their values
numerically next to the slider.
- The minimum value for m_yaw, m_pitch, m_forward, and m_side from the
  menu has been dropped from 0.5 to 0, so those particular mouse motions can
  be disabled entirely without using the console.


SVN r1729 (trunk)
2009-07-23 03:03:15 +00:00
Christoph Oelckers
55c32e0f44 - added missing MAPINFO option for compat_anybossdeath.
SVN r1728 (trunk)
2009-07-22 07:28:00 +00:00
Christoph Oelckers
2c54498d5c - fixed blue colormap
- Added parameters to A_VileAttack.
- Removed redundant definition of use_joystick from SDL/i_input.cpp.


SVN r1727 (trunk)
2009-07-17 08:08:02 +00:00
Randy Heit
72a41f0b66 - Turned net decompression into a non fatal error. It now drops the packet
and waits for the sender to send a new, hopefully good, packet.


SVN r1726 (trunk)
2009-07-17 02:13:27 +00:00
Randy Heit
f39cde0486 - Reduced potential for overflow in R_ProjectSprite().
SVN r1725 (trunk)
2009-07-17 01:49:28 +00:00
Randy Heit
198ffea7ee - Moved the IF_ADDITIVETIME check earlier in APowerup::HandlePickup so
that additive time powerups can be activated before the existing
  power has entered its blink threshold.


SVN r1724 (trunk)
2009-07-17 01:32:58 +00:00
Randy Heit
720747baef - Added a "BlueMap" for powerup colors.
- Add the missing CF_WEAPONREADYALT and CF_WEAPONSWITCHOK flags.

SVN r1723 (trunk)
2009-07-17 01:17:06 +00:00
Randy Heit
aaf19b9127 - Added a NULL screen check when detaching HUD messages.
SVN r1722 (trunk)
2009-07-16 23:07:20 +00:00
Randy Heit
9a16e4b6ea - Added HotWax's A_SetArg.
SVN r1721 (trunk)
2009-07-16 22:50:58 +00:00
Randy Heit
b1b258ec55 - Gez's patch for more A_WeaponReady flags:
* WRF_NOBOB (1): Weapon won't bob
  * WRF_NOFIRE (12): Weapon won't fire at all
  * WRF_NOSWITCH (2): Weapon can't be switched off
  * WRF_NOPRIMARY (4): Weapon will not fire its main attack
  * WRF_NOSECONDARY (8): Weapon will not fire its alt attack


SVN r1720 (trunk)
2009-07-16 22:40:04 +00:00
Randy Heit
800b50ff6f - Attempt to add support for Microsoft's SideWinder Strategic Commander.
SVN r1719 (trunk)
2009-07-16 02:45:51 +00:00
Randy Heit
00a6293952 - Fixed: Trying to run with the same FMOD version you compiled with no longer produced
sound. (But compiling with 4.26.xx and using an older DLL was fine.)

SVN r1718 (trunk)
2009-07-15 22:27:38 +00:00
Randy Heit
f74f6a1659 - Split the joystick menu into two parts: A top level with general options
and a list of all attached controllers, and a second level for configuring
  an individual controller.
- Fixed: Pressing Up at the top of a menu with more lines than fit on screen
  would find an incorrect bottom position if the menu had a custom top height.
- Added the cvars joy_dinput, joy_ps2raw, and joy_xinput to enable/disable
  specific game controller input systems independant of each other.
- Device change broadcasts are now sent to the Doom event queue, so
  device scanning can be handled in one common place.
- Added a fast version of IsXInputDevice that uses the Raw Input device
  list, because querying WMI for this information is painfully slow.
- Added support for compiling with FMOD Ex 4.26+ and running the game
  with an older DLL. This combination will now produce sound.


SVN r1717 (trunk)
2009-07-15 05:53:06 +00:00
Christoph Oelckers
8e5b7373b8 - added submission for raising master/children/siblings.
- added submission for no decals on wall option.
- removed some useless code from SpawnMissile function.


SVN r1716 (trunk)
2009-07-13 22:07:18 +00:00
Christoph Oelckers
19f8b03738 - Backported 2 fixes from Skulltag:
* A_SentinelAttack must check for a NULL target
  * Monsters with CANTLEAVEFLOORPIC could not move because their floor
    texture was not initialized.


SVN r1715 (trunk)
2009-07-12 12:19:11 +00:00
Christoph Oelckers
e7e79e27ff - Fixed: The 'idclev' cheat set the player's health to 0 which caused the
level to end when in a sector of type 'end level when health below 10'.
- Fixed: The 'kill' cheat set the player to nonshootable even if it did not
  succeed.

SVN r1714 (trunk)
2009-07-12 07:33:24 +00:00
Randy Heit
417779440d - Added joystick config loading and saving support; moved generic joystick
interfaces to m_joy.h.
- Added Raw Input PS2 adapter support.


SVN r1713 (trunk)
2009-07-11 01:40:01 +00:00
Randy Heit
ae2c4a6dbc - Relaxed the FMOD version check. Anything from 4.20.00 through 4.26.xx should work
for both building and running now.

SVN r1712 (trunk)
2009-07-06 23:42:00 +00:00
Christoph Oelckers
23e4c47b5b - Added Gez's A_WeaponReady enhancement submission.
SVN r1711 (trunk)
2009-07-06 15:48:31 +00:00
Randy Heit
17418316ea - Added support for FMOD Ex 4.25.01+, which added a geometry parameter to getCPUUsage().
SVN r1710 (trunk)
2009-07-06 03:51:43 +00:00
Christoph Oelckers
33249ff833 - Added Gez's CheckActorProperty submission.
SVN r1709 (trunk)
2009-07-05 05:56:20 +00:00
Christoph Oelckers
635d71e660 - Added code submissions for non-piercing railguns and new skill options.
SVN r1706 (trunk)
2009-07-04 18:17:44 +00:00
Randy Heit
3786ced96e - ZDoom now disables the input method editor, since it has no east-Asian
support, and having it open a composition window when you're only expecting
  a single keypress is not so good.


SVN r1705 (trunk)
2009-07-04 01:47:28 +00:00
Randy Heit
201c5c5125 - Fixed: Setting intermissioncounter to false in gameinfo drew all the stats
at once, instead of revealing them one line at a time.


SVN r1704 (trunk)
2009-07-04 01:26:57 +00:00
Randy Heit
29b1864da0 - Fixed: The border definition in MAPINFO's gameinfo block used extra braces.
SVN r1703 (trunk)
2009-07-04 01:15:38 +00:00
Randy Heit
4a4dadfec6 - Oops. Removed this accidentally before previous commit.
SVN r1701 (trunk)
2009-07-01 02:01:14 +00:00
Randy Heit
fe19767ac2 - Added A_SetCrosshair.
SVN r1700 (trunk)
2009-07-01 02:00:36 +00:00
Randy Heit
9bf7c02194 - The FlagLists structure cannot be anonymous if I want to use countof with it with GCC.
- Added a stopping check to A_ChangeVelocity.

SVN r1699 (trunk)
2009-07-01 01:10:29 +00:00
Randy Heit
8554ccf2a3 - Added A_WeaponBob.
SVN r1698 (trunk)
2009-07-01 00:58:26 +00:00
Randy Heit
7d4c21b167 - Fixed: SDL/i_system.cpp should use a return type for strrchr that has the same
constness as its first parameter. (As some GCCs will actually check this, I guess.)

SVN r1696 (trunk)
2009-06-30 23:26:03 +00:00
Randy Heit
f2b7417020 - MF2_NODMGTHRUST now works with players, too. (Previously, it was only for
missiles.) Also added PPF_NOTHRUSTWHILEINVUL to prevent invulnerable players
  from being thrusted while taking damage. (Non-players were already
  unthrusted.)


SVN r1695 (trunk)
2009-06-30 23:23:12 +00:00
Randy Heit
37b6e547cd - A_ZoomFactor now scales turning with the FOV by default. ZOOM_NOSCALETURNING
will leave it unaltered.


SVN r1694 (trunk)
2009-06-30 22:37:40 +00:00
Randy Heit
bbebed61f5 - Added Gez's PowerInvisibility changes.
SVN r1693 (trunk)
2009-06-30 22:10:51 +00:00
Randy Heit
12b2905993 - Fixed: clearflags did not clear flags6.
SVN r1692 (trunk)
2009-06-30 21:35:14 +00:00
Randy Heit
bd4496a582 - Added A_SetAngle, A_SetPitch, A_ScaleVelocity, and A_ChangeVelocity.
SVN r1691 (trunk)
2009-06-30 21:24:29 +00:00
Randy Heit
e4af82ae96 - Enough with this "momentum" garbage. What Doom calls "momentum" is really
velocity, and now it's known as such. The actor variables momx/momy/momz
  are now known as velx/vely/velz, and the ACS functions GetActorMomX/Y/Z
  are now known as GetActorVelX/Y/Z. For compatibility, momx/momy/momz will
  continue to work as aliases from DECORATE. The ACS functions, however,
  require you to use the new name, since they never saw an official release
  yet.


SVN r1689 (trunk)
2009-06-30 20:57:51 +00:00
Randy Heit
ed0d804792 - Added A_ZoomFactor. This lets weapons scale their player's FOV. Each weapon
maintains its own FOV scale independent from any other weapons the player
  may have.
- Fixed: When parsing DECORATE functions that were not exported, the parser
  crashed after giving you the warning.


SVN r1688 (trunk)
2009-06-30 19:20:39 +00:00
Randy Heit
f32b95d3cc - Add missing i_xinput.cpp
SVN r1687 (trunk)
2009-06-28 23:44:37 +00:00
Randy Heit
49b95be4b2 - Fixed some improper preprocessor lines in autostart/autozend.cpp.
- Added XInput support. For the benefit of people compiling with MinGW,
  the CMakeLists.txt checks for xinput.h and disables it if it cannot
  be found. (And much to my surprise, I accidentally discovered that if you
  have the DirectX SDK installed, those headers actually do work with GCC,
  though they add a few extra warnings.)


SVN r1686 (trunk)
2009-06-28 03:09:17 +00:00
Christoph Oelckers
43a71eba31 - Added Gez's submissions for A_M_Saw customization, area damage and
pitch for A_FireCustomMissile.


SVN r1685 (trunk)
2009-06-27 19:37:53 +00:00
Randy Heit
a687a61c76 - Attaching and detaching joysticks once again updates the joystick menu.
SVN r1684 (trunk)
2009-06-27 01:36:10 +00:00
Randy Heit
5dc5a56a17 - Added joystick axis -> button mapping.
SVN r1683 (trunk)
2009-06-27 00:35:41 +00:00
Christoph Oelckers
7ccca5733f - Update for skill replacement.
SVN r1682 (trunk)
2009-06-26 21:06:49 +00:00
Christoph Oelckers
5a80938b11 - Added Gez's actor replacement per skill submission.
SVN r1681 (trunk)
2009-06-26 17:17:52 +00:00
Randy Heit
590eb5cb76 - Joystick axes can be configured in the menu again. TODO: Config saving
and loading, XInput, allow axes to be used as buttons (for the Xbox
  controller's trigger buttons), allow the joystick to move through the
  menus, and my PS2 adapter which has no Vista x64 drivers.
  * I'm sure SDL is broken again. Don't bother reporting it, because I already know.

SVN r1680 (trunk)
2009-06-26 02:45:05 +00:00
Christoph Oelckers
6d1cee3398 - fixed DUMB-compile problem with gcc.
SVN r1679 (trunk)
2009-06-24 22:16:51 +00:00
Randy Heit
b0dd2409ff - Changed the definition of SBarInfoCoordinate to use bitfields to pack its
members into 32 bits so that it can be stored in a plain old int without
  any transformations. The transformation coord -> int -> coord was
  destructive if the coordinate value was negative, causing the final
  coordinate to be centered even if the original was not.


SVN r1678 (trunk)
2009-06-23 03:23:18 +00:00
Randy Heit
7161de7241 - SBARINFO patch: Enable forcescaled with fullscreenoffsets.
SVN r1677 (trunk)
2009-06-23 02:48:20 +00:00
Randy Heit
861a955cef - Fixed: Since UDMF allows for fractional vertex coordinates, it is no longer
safe for P_AlignPlane() to truncate coordinates when searching for the
  furthest vertex from the line.


SVN r1676 (trunk)
2009-06-23 02:33:18 +00:00
Randy Heit
0506606efc - Added I_GetAxes() stub for the SDL side.
- Added oleaut32.lib as an explicit library in the VC Proj, since the 2005 Express Edition
  doesn't include it implicitly the way the other versions do.

SVN r1673 (trunk)
2009-06-21 02:08:50 +00:00
Randy Heit
a5b118cf7c - The reorganized DirectInput game controller code finally compiles. (Ugh! It
took far too long to reach this point.) Manual axis configuration is
  currently disabled, since I need to rewrite that, too. The eventual point of
  this is that the code will be modular enough that I can just plop in
  routines for XInput controllers and driver-less PlayStation 2 adapters
  without much fuss, since the old joystick code was very much DirectInput-
  centric.


SVN r1672 (trunk)
2009-06-20 03:16:08 +00:00
Christoph Oelckers
e11cac7e89 - Changed AWeaponGiver to keep the weapon actor around instead of respawning a new
one for each call.
- Fixed: AWeaponGiver::TryPickup checked the wrong item for ammo to give.
- fixed: FRandom::Random2(int mask) must return the difference between 2 byte values
  for compatibility.
- fixed: The sound name world/volcano/shoot was accidentally destroyed in the source.


SVN r1671 (trunk)
2009-06-19 21:00:18 +00:00
Christoph Oelckers
db0a924fc9 - Reintroduced damage thrust clamping but with a higher threshold. The clamping
is now also done in floating point before any fixed point overflows can occur.


SVN r1670 (trunk)
2009-06-16 22:04:26 +00:00
Christoph Oelckers
d8bb215e70 Oops...
SVN r1669 (trunk)
2009-06-14 14:56:34 +00:00
Christoph Oelckers
3ab370b6ee - added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its
  feet clipped.
- added vid_vsync to display options.
- fixed: Animations of type 'Range' must be disabled if the textures don't
  come from the same definition unit (i.e both containing file and use type
  are identical.)
- changed: Item pushing is now only done once per P_XYMovement call.
- Increased the push factor of Heretic's pod to 0.5 so that its behavior
  more closely matches the original which depended on several bugs in the engine.
- Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation
  to use floats to prevent overflows. The prevention of the overflows was the
  only reason the clamping was done.
- Added Raven's dagger-like vector sprite for the player to the automap code.


SVN r1668 (trunk)
2009-06-14 13:47:38 +00:00
Randy Heit
e69f90076d - Changed wad namespacing so that wads with a missing end marker will be
loaded as if they had one more lump with that end marker. This matches the
  behaviour of previously released ZDooms. (The warning is still present, so
  there's no excuse to release more wads like this.)


SVN r1667 (trunk)
2009-06-11 22:58:06 +00:00
Randy Heit
8d83d3791d - Added tagRAWINPUT declaration to i_input.h for support of older Windows SDKs.
SVN r1666 (trunk)
2009-06-11 22:17:50 +00:00
Randy Heit
397c1eda26 - Fixed: Adding GME support accidentally removed DUMB support.
SVN r1665 (trunk)
2009-06-11 03:48:53 +00:00
Randy Heit
deff9cfb12 - Moved Raw Input processing into a seperate method of FInputDevice so that
all the devices can share the same setup code.


SVN r1664 (trunk)
2009-06-11 03:41:24 +00:00
Christoph Oelckers
870508c64a - added bugfix patch by Gez.
SVN r1663 (trunk)
2009-06-10 20:14:47 +00:00
Randy Heit
b458234c34 - Removed F16 mapping for SDL, because I guess it's not present in SDL 1.2.
SVN r1662 (trunk)
2009-06-09 21:48:22 +00:00
Christoph Oelckers
523cf6acb2 - Added Gez's Skulltag feature patch, including:
* BUMPSPECIAL flag: actors with this flag will run their special if collided on by a player
    * WEAPON.NOAUTOAIM flag, though it is restricted to attacks that spawn a missile (it will not affect autoaim settings for a hitscan or railgun, and that's deliberate)
    * A_FireSTGrenade codepointer, extended to be parameterizable
    * The grenade (as the default actor for A_FireSTGrenade)
    * Protective armors à la RedArmor: they work with a DamageFactor; for example to recreate the RedArmor from Skulltag, copy its code from skulltag.pk3 but remove the "native" keyword and add DamageFactor "Fire" 0.1 to its properties.


SVN r1661 (trunk)
2009-06-09 17:13:03 +00:00
Christoph Oelckers
4fcd64d2c1 - Fixed: I_ShutdownInput must NULL all pointers because it can be called twice
if an ENDOOM screen is displayed.



SVN r1660 (trunk)
2009-06-09 07:57:21 +00:00
Christoph Oelckers
f4c9cf9c4e - Fixed: R_DrawSkyStriped used frontyScale without initializing it first.
- Fixed: P_LineAttack may not check the puff actor for MF6_FORCEPAIN because
  it's not necessarily spawned yet. 
- Fixed: FWeaponSlots::PickNext/PrevWeapon must be limited to one iteration
  through the weapon slots. Otherwise they will hang if there's no weapons
  in a player's inventory.


SVN r1659 (trunk)
2009-06-09 07:45:04 +00:00
Christoph Oelckers
da2df2778e Added Line_SetTextureScale.
SVN r1658 (trunk)
2009-06-08 23:49:27 +00:00
Christoph Oelckers
a425214432 - fixed: sv_smartaim 3 treated the player like a shootable decoration.
- Added A_CheckIfInTargetLOS
- Removed redundant A_CheckIfTargetInSight.


SVN r1656 (trunk)
2009-06-08 23:39:08 +00:00
Randy Heit
64b7468bf4 - Fixed: The initial play of a GME song always started track 0.
SVN r1655 (trunk)
2009-06-08 23:37:39 +00:00
Randy Heit
39455bd80f - Added F16 to the SDL keymap and moved Pause back to its original location (from years ago.)
SVN r1654 (trunk)
2009-06-08 22:59:55 +00:00
Randy Heit
9493b5acdd SVN r1653 (trunk) 2009-06-08 22:55:03 +00:00
Christoph Oelckers
4b9d0c6dff - added parameter to A_FadeOut so that removing the actor can be made an option.
SVN r1652 (trunk)
2009-06-07 22:13:16 +00:00
Christoph Oelckers
6ba839a0e9 - added PERSISTENTPOWER and TRANSFERPOINTERS submissions by Gez.
SVN r1651 (trunk)
2009-06-07 20:10:05 +00:00
Christoph Oelckers
16bf1ef6d0 - fixed FORCEPAIN logic.
SVN r1650 (trunk)
2009-06-07 17:04:40 +00:00
Christoph Oelckers
28378a50aa - added missing declaration for APowerInfiniteAmmo.
SVN r1649 (trunk)
2009-06-07 16:48:42 +00:00
Christoph Oelckers
d04ffd57f8 - added Gez's infinite ammo powerup and random spawner fix patches.
- reduced size of Hexen's flames to fix bug in Deathkings MAP01.
- added checks for sidedef scaling values 


SVN r1648 (trunk)
2009-06-07 16:38:19 +00:00
Christoph Oelckers
93742aca31 - Added Karate Chris's poison cloud fix.
SVN r1647 (trunk)
2009-06-07 09:41:22 +00:00
Randy Heit
c66f237873 - Added per-tier texture scaling with these new UDMF sidedef properties:
* scalex_top
  * scaley_top
  * scalex_mid
  * scaley_mid
  * scalex_bottom
  * scalex_bottom
- Added sidedef versions of the linedef flags wrapmidtex and clipmidtex (via
  UDMF; names are the same). If the flag is set on the line, it applies to
  both sides. Otherwise, each side can control them individually.


SVN r1645 (trunk)
2009-06-07 01:14:14 +00:00
Christoph Oelckers
3366a8994d - fixed display mode menu.
SVN r1644 (trunk)
2009-06-06 21:03:49 +00:00
Christoph Oelckers
a1aba60d8d - Added Hirogen2's unlimited pickup patch.
- Added railgun performance customization CVARs by Spleen.
- Added aspect ratio override submission by SoulPriestess.



SVN r1643 (trunk)
2009-06-06 15:21:57 +00:00
Christoph Oelckers
476e0bce2a - Added a 'resetinventory' MAPINFO option.
- Added MF6_NOFEAR flag.
- Added A_MonsterRefire(probability, jumptarget).
- Added A_JumpIfTargetInSight(state) action function.
- Changed: Puffs set their angle to face the originator of the attack.
- Strife's burning hands originally make the level view fullbright.
  changed in ZDoom to do partial brightening.

SVN r1642 (trunk)
2009-06-06 12:46:35 +00:00
Randy Heit
bdd3188897 - Added support for horizontal mouse wheels, and set invprev/invnext as
default bindings for it. (Only works with Raw Input on XP. Vista has
  support through Win32 mouse, as well. DirectInput does not support it at
  all, because the DirectInput mouse device does not expose this control.)


SVN r1640 (trunk)
2009-06-06 02:55:58 +00:00
Randy Heit
7df2d40e8f - Added a label for the F16 key and mapped the kp= key on a Mac keyboard to
the PC98 equivalent so it would be recognized as kp=. (Interestingly, F13-
  F16 and kp= only generate events when using Raw Input, not when using
  DirectInput.


SVN r1639 (trunk)
2009-06-06 02:06:38 +00:00
Christoph Oelckers
d30e304a7f - Added MF6_FORCEPAIN flag that forces the target to go into the pain state
regardless of pain chance.
- Changed screenblocks CVAR to be settable per game.
- Added SpawnSpotForced and SpawnSpotFacingForced ACS functions.
- Added pushfactor actor property.


SVN r1638 (trunk)
2009-06-05 21:44:34 +00:00
Christoph Oelckers
8c3a816428 - Added Gez's GetArmorType submission
SVN r1636 (trunk)
2009-06-05 20:23:47 +00:00
Christoph Oelckers
cc357e5178 - re-fix of Gez's MAX_MANA patch
SVN r1633 (trunk)
2009-06-04 22:05:12 +00:00
Randy Heit
5300572b88 - Moved USE_WINDOWS_DWORD definition out of music_gme.cpp and into i_musicinterns.h.
SVN r1632 (trunk)
2009-06-04 00:58:42 +00:00
Randy Heit
a8de4fc2da - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have
everything that was new for XP.
- Swapped snes_spc out for the full Game Music Emu library.

SVN r1631 (trunk)
2009-06-03 03:05:02 +00:00
Christoph Oelckers
2ab76070c0 - Fixed: The Hexen status bar still uses MAX_MANA for some calculations instead
of MaxAmount.



SVN r1630 (trunk)
2009-06-02 17:42:52 +00:00
Christoph Oelckers
5061e2e8fd - Added Blzut3's submission for displaying underwater stats in SBARINFO.
SVN r1629 (trunk)
2009-06-01 07:10:22 +00:00
Christoph Oelckers
14cdab7e39 - Applied patch for fixing directory reading on Linux.
SVN r1628 (trunk)
2009-06-01 06:43:32 +00:00
Christoph Oelckers
91e0f4d11d - Added Gez's AMMO_CHECKBOTH submission.
SVN r1627 (trunk)
2009-05-31 22:14:23 +00:00
Christoph Oelckers
fb5e392f2f - Added Gez's THRUSPECIES submission.
SVN r1626 (trunk)
2009-05-31 20:14:16 +00:00
Christoph Oelckers
4be0324dbd - added missing NULL pointer check for directory loading.
SVN r1625 (trunk)
2009-05-31 18:14:40 +00:00
Christoph Oelckers
627838f379 - Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
  set because it used atoi to convert the string into a number.

SVN r1624 (trunk)
2009-05-31 10:49:47 +00:00
Christoph Oelckers
53899121bf - fixed: bouncing sounds were limited to inventory items.
SVN r1623 (trunk)
2009-05-30 23:08:29 +00:00
Christoph Oelckers
c0e398e7ac - fixed compile error in d_iwad.cpp
SVN r1622 (trunk)
2009-05-30 17:14:17 +00:00
Christoph Oelckers
2effc9b803 - Rewrote IWAD detection code to use the ResourceFile classes instead of
reading the WAD directory directly. As a side effect it should now be
  possible to use Zip and 7z for IWADs, too.


SVN r1621 (trunk)
2009-05-30 09:53:38 +00:00
Christoph Oelckers
9c4cbedc26 - Added 'EndTitle' nextmap option which goes to the regular title loop after
the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added SetSkyScrollSpeed(int skyplane, fixed speed) ACS function.
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible
  targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off
  by setting the level's air supply to 0.

SVN r1619 (trunk)
2009-05-30 08:56:40 +00:00
Randy Heit
092512c44a - Fixed: The mouse wheel generated no events in GUI mode if you weren't
fullscreen. (e.g. You could no longer scroll the console with the mouse
  buffer.)
- Fixed: Wheeling down was seen as wheeling up with the Win32 mouse.


SVN r1618 (trunk)
2009-05-27 22:57:21 +00:00
Randy Heit
12959a1bd1 - EV_GUI_Key(Down|Up|Repeat) events no longer provide shifted key codes
in data2. This was just unnecessary overhead that wasn't really needed
  anywhere.
- Moved GUI-mode input into a separate function to make the code easier to
  read.


SVN r1617 (trunk)
2009-05-27 22:17:11 +00:00
Randy Heit
a925f7eab6 - Removed HaveFocus variable in preference of using GetForegroundWindow().
SVN r1616 (trunk)
2009-05-27 21:11:06 +00:00
Randy Heit
3f3d677526 - Removed spurious WM_INPUT from the main WndProc.
SVN r1615 (trunk)
2009-05-27 21:05:19 +00:00
Randy Heit
a11073341c - Added Raw Input keyboard handling.
SVN r1614 (trunk)
2009-05-27 20:44:54 +00:00
Randy Heit
7fea07dff7 - Split DirectInput keyboard handling into a separate file and class. I also
switched it to buffered input, and the pause key seems to be properly
  cooked, so I don't need to look for it with WM_KEYDOWN/UP. Tab doesn't
  need to be special-cased either, because buffered input never passes on
  the Tab key when you press Alt+Tab. I have no idea why I special-cased
  Num Lock, but it seems to be working fine. By setting the exclusive mode
  to background, I can also avoid special code for releasing all keys when
  the window loses focus, because I'll still receive those events while the
  window is in the background.


SVN r1613 (trunk)
2009-05-27 03:16:46 +00:00
Randy Heit
0a310b9832 - Fixed compilation on MinGW.
SVN r1612 (trunk)
2009-05-26 22:33:02 +00:00
Randy Heit
4e5d5d0f2e - Fixed: The Heretic "take weapons" cheat did not remove all the weapons at
once. This is because destroying one weapon has a potential to destroy a
  sister weapon as well. If the sister weapon is the next one in line (as it
  typically is), it would process that one, not realizing it was no longer
  part of the inventory, and stop because its Inventory link was NULL.


SVN r1610 (trunk)
2009-05-26 17:35:30 +00:00
Randy Heit
e637fe3ea7 - Recoverable errors that are caught during the demo loop no longer shut off
the menu.


SVN r1609 (trunk)
2009-05-26 01:56:35 +00:00
Randy Heit
956b7d5ea3 - Added Skulltag's PowerDoubleFiringSpeed.
SVN r1608 (trunk)
2009-05-26 01:16:39 +00:00
Randy Heit
2f7498214b - Specifying non-existent directories with -savedir or the save_dir cvar now
attempts to create them.


SVN r1607 (trunk)
2009-05-26 01:05:01 +00:00
Randy Heit
e95be7eff7 - SBARINFO fix:
- Fullscreen Doom HUD clamped the display of digits.

SVN r1606 (trunk)
2009-05-26 00:46:55 +00:00
Randy Heit
5245e8d4dd - I_CheckNativeMouse() now checks the foreground window to determine if the
mouse should be grabbed. This fixes the case where you start the game in
  the background and it grabs the mouse anyway.
- Changed raw mouse grabbing to call ShowCursor() directly instead of through
  SetCursorState(), since changing the pointer isn't working with it
  (probably due to the lack of legacy mouse messages), and the others work
  fine by setting an invisible cursor.
- Fixed: Raw mouse input passes wheel movements in an unsigned field, but the
  value is signed, so it requires a cast to use it.
- Reverted accidental changes to src/sdl/i_input.cpp.

SVN r1605 (trunk)
2009-05-26 00:30:51 +00:00
Christoph Oelckers
e43453b614 - added Hirogen2's patch for using the default BZip2 library under Linux.
SVN r1604 (trunk)
2009-05-25 20:58:59 +00:00
Christoph Oelckers
dbddb6403f - added #define _WIN32_WINNT 0x0501 to i_mouse.cpp so that the file compiles with the Windows 2003 Server SDK.
SVN r1603 (trunk)
2009-05-24 08:57:58 +00:00
Christoph Oelckers
8034b0558e - Fixed: Textures with dimensions <= 0 are invalid and should be treated as NULL
textures. They also must be set to dimensions other than (0,0) to avoid division
  by zero errors.
- Fixed: Random spawners did not handle the MF_DROPPED flag.


SVN r1602 (trunk)
2009-05-24 07:58:57 +00:00
Randy Heit
0c4c90ac89 - SetCursorState() now calls ShowCursor() again, because capturing the mouse
with RIDEV_NOLEGACY apparently prevents SetCursor() from doing anything.
- Split mouse code off from i_input.cpp into i_mouse.cpp and added raw mouse
  handling. (WM_INPUT obsoleted most of DirectInput for XP.)
- Fixed: Similar to the Win32 mouse, using the DirectInput mouse in windowed
  mode, if you alt-tabbed away and then clicked on the window's title bar,
  mouse input would be frozen until the mouse was ungrabbed again.


SVN r1601 (trunk)
2009-05-24 03:15:04 +00:00
Christoph Oelckers
273758344f - Fixed: When setting up a deep water sector with Transfer_Heights the floorclip
information of all actors in the sector needs to be updated.


SVN r1600 (trunk)
2009-05-23 10:21:33 +00:00
Christoph Oelckers
e61b4b3c76 - Fixed: A_CountdownArg and A_Die must ensure a certain kill.
- Changed bounce flags into a property and added real bouncing sound properties.
  Compatibility modes to preserve use of the SeeSound are present and the old
  flags map to these.


SVN r1599 (trunk)
2009-05-23 08:30:36 +00:00
Randy Heit
466b6e4535 - Moved SetSoundPaused() out of i_input.cpp and into s_sound.cpp.
SVN r1598 (trunk)
2009-05-23 03:09:50 +00:00
Randy Heit
86023c23ca - Fixed: When using Win32 mouse, windowed mode, alt-tabbing away and then
clicking on the window's title bar moved it practically off the screen.
- Beginnings of i_input.cpp rewrite: Win32 and DirectInput mouse handling has
  been moved into classes.


SVN r1597 (trunk)
2009-05-23 02:22:30 +00:00
Christoph Oelckers
7e69852da9 - Fixed: The SBARINFO parser compared an FString in the GAMEINFO with a NULL
pointer and tried to load a lump with an empty name as statusbar script
  for non-Doom games.


SVN r1596 (trunk)
2009-05-20 09:06:49 +00:00
Randy Heit
749de6c156 - Fixed: SetSoundPaused() still needs to call S_PauseSound() to pause music
that isn't piped through the digital sound system. (Was removed in r1004.)


SVN r1595 (trunk)
2009-05-20 02:52:07 +00:00
Randy Heit
b7dab65754 SBARINFO patch:
- Fixed: SBarInfo's string drawing sometimes used the wrong variable.

SVN r1594 (trunk)
2009-05-20 01:42:47 +00:00
Randy Heit
2e87ebff22 - Added input buffering to the Implode and Shrink routines for a marked
speedup.
- Replaced the Shanno-Fano/Huffman reading routines from FZipExploder with
  ones of my own devising, based solely on the specs in the APPNOTE.


SVN r1590 (trunk)
2009-05-17 03:05:26 +00:00
Christoph Oelckers
c0d2f78b2a - fixed: FZipLump passed the uncompressed lump size to ShrinkLoop as size of the input data but this must be the compressed size.
SVN r1589 (trunk)
2009-05-16 10:06:39 +00:00
Randy Heit
cef12aac6d - Found a copy of PKZIP 1.1 and verified that Implode support works with
files that use a literal table and 8k dictionary, and that the just-added
  Shrink support works at all.
- Replaced the bit-at-a-time Shannon-Fano decoder from GunZip.c64 with the
  word-at-a-time one from 7-Zip for a slight speedup when working with
  Imploded files.


SVN r1588 (trunk)
2009-05-16 03:10:37 +00:00
Christoph Oelckers
b55ca6ffaa - Fixed: Monsters should not check the inventory for damage absorbtion when
they have the MF5_NODAMAGE flag set.
- Added patch for saving automap zoom.


SVN r1587 (trunk)
2009-05-15 22:06:44 +00:00
Christoph Oelckers
eb52c9a90e - Added ACS GetChar function.
- Added Gez's submission for polyobjects being able to crush corpses but made
  it an explicit MAPINFO option only.


SVN r1585 (trunk)
2009-05-15 17:21:45 +00:00
Christoph Oelckers
a732687548 - Changed APlayerPawn::DamageFade to a PalEntry from 3 floats.
- Removed #pragma warnings from cmdlib.h and fixed the places where they were 
  still triggered.
  These #pragmas were responsible for >90% of the GCC warnings that were not
  listed in VC++.
- Fixed one bug in the process: DSeqNode::m_Atten was never adjusted when the
  parameter handling of the sound functions for attenuation was changed.
  Changed m_Atten to a float and fixed the SNDSEQ parser to set proper values. 
  Also added the option to specify attenuation with direct values in addition 
  to the predefined names.

SVN r1583 (trunk)
2009-05-15 10:39:40 +00:00
Randy Heit
b9fa7626bc - Fixed non-POD passing in G_BuildSaveName() and other things GCC warned
about.
- Added support for imploded zips.



SVN r1581 (trunk)
2009-05-15 03:11:44 +00:00
Christoph Oelckers
912abc144e - Fixed: Some missile spawning functions ignored the FastSpeed setting.
- Fixed: P_CheckSwitchRange tried to access a line's backsector without
  checking if it is valid.
- Fixed: Fast projectile could not be frozen by the Time freezer.
- Added several new ACS functions: GetActorMomX/Y/Z, GetActorViewHeight,
  SetActivator, SetActivatorToTarget.


SVN r1578 (trunk)
2009-05-11 22:16:41 +00:00
Christoph Oelckers
571d28281b - Added handling for UDMF user keys.
- Added support for ACS functions that can be defined without recompiling ACC.
- Fixed: The short lump name for embedded files must be cleared so that they
  are not found by a normal lump search.
- Added AProp_Notarget actor property.
- Fixed: TraceBleed was missing a NULL pointer check,
- Fixed: P_RandomChaseDir could crash for friendly monsters that belong to
  a player which left the game.
- Changed A_PodGrow so that it plays the generator's attack sound instead of
  "misc/podgrow".


SVN r1575 (trunk)
2009-05-11 21:05:40 +00:00
Randy Heit
b224765351 - Added customizable mage lightning patch.
SVN r1574 (trunk)
2009-05-11 15:24:44 +00:00
Randy Heit
1c61ef89eb - Added Species property for actors and separated Hexen's Demon1 and Demon2
into different species.


SVN r1573 (trunk)
2009-05-11 15:15:06 +00:00
Randy Heit
41a416f068 This commit is 90% contributed content:
- Added transference of a select few flags from PowerProtection to its owner.
- Added actor type parameters to A_PodPain() and A_MakePod().
- The savegame path is now passed through NicePath(), since it's user-
  specifiable.
- Added save_dir cvar. When non-empty, it controls where savegames go.
- SBARINFO update:
  * Added the ability to center things with fullscreenoffsets enabled.  Due
    to some limitations the syntax is [-]<integer> [+ center].
  * Fixed: the translucent flag on drawinventorybar didn't work quite right.
  * Fixed: Extremely minor inaccuracy in the Doom SBarInfo code.  The
    fullscreen inventory bar wasn't scaled correctly.


SVN r1571 (trunk)
2009-05-09 02:31:49 +00:00
Christoph Oelckers
a9c396a8ce - fixed: The CHECKSWITCHRANGE line flag was ignored for one sided lines.
SVN r1570 (trunk)
2009-05-03 21:12:52 +00:00
Christoph Oelckers
0d1d15eba8 - Added more compatibility settings, submitted by Gez.
SVN r1569 (trunk)
2009-05-03 07:19:21 +00:00
Christoph Oelckers
512056aeed - added EmptyTexture.cpp to CMakeLists.txt.
SVN r1568 (trunk)
2009-05-02 21:53:27 +00:00
Christoph Oelckers
4d5692bf80 - Fixed: Doom's fullscreen HUD was limited to 6 keys.
- Made 'next endgame' work again for cases where it is supposed to be
  the same as 'next endgame4'.
- GCC nitpick fix: Classes being used as template parameters may not be
  defined locally in a function. Fixed FWadFile::SetNamespace for that.
- Improved error reporting for incorrect textures in maps.
- Fixed: When music was stopped this was not set in the global music state.
- Fixed: Friendly monsters did not target enemy players in deathmatch.

SVN r1567 (trunk)
2009-05-02 09:14:01 +00:00
Christoph Oelckers
b37d0ba2ea - Fixed: Completely empty patches (8 0-bytes) could not be handled by the
texture manager. They now get assigned a new FEmptyTexture object
  that is just a 1x1 pixel transparent texture.
- Fixed: Multiple namespace markers of the same type were no longer detected.
- Fixed sprite renaming.


SVN r1566 (trunk)
2009-04-30 11:10:38 +00:00
Randy Heit
28e9693b79 - Maps defined with Hexen-style MAPINFOs now run their scripts in the proper
order.


SVN r1565 (trunk)
2009-04-30 03:50:52 +00:00
Randy Heit
f7d7e9faf9 - Fixed: FWadCollection::CheckNumForName() read the lump each iteration before
checking for the end marker. On 32-bit systems, this is -1, but on 64-bit
  systems, it is a very large integer that is highly unlikely to be in mapped
  memory.


SVN r1564 (trunk)
2009-04-30 02:41:20 +00:00
Christoph Oelckers
edbeab54a0 - Fixed check for embedded WADs again.
SVN r1562 (trunk)
2009-04-28 21:26:27 +00:00
Christoph Oelckers
3bbef315f6 - Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.
SVN r1561 (trunk)
2009-04-28 20:53:07 +00:00
Christoph Oelckers
511ddb028c - Fixed handling of embedded WADs.
SVN r1559 (trunk)
2009-04-26 18:12:40 +00:00
Christoph Oelckers
2e90519c13 -Fixes in new resource file code: Added file length checks and set lump count to 1 for single lump files.
SVN r1558 (trunk)
2009-04-24 22:31:35 +00:00
Christoph Oelckers
1ea8777572 - fixed typo in CMakeLists.txt.
SVN r1557 (trunk)
2009-04-24 06:22:30 +00:00
Christoph Oelckers
19c4e3caed - Added Gez's A_CheckCeiling submission.
- Fixed: AM_NewResolution crashed when called from outside a level.
- Added support for Quake PAK files.
- Improved warning messages for WAD files with incorrect marker usage.


SVN r1556 (trunk)
2009-04-23 23:20:21 +00:00
Christoph Oelckers
cc066bc409 - complete restructuring of resource file handling for more flexibility and future
extensions.
- Removed merging of special namespaces. For the texture manager this has
  become totally useless so there is no need to do this anymore. Not merging
  the namespaces also allows a much more reliable detection of lumps belonging
  to special namespaces so the ScanForFlatHack function is no longer needed.
  Instead, any lump up to F_END with a length of 4096 will be marked for 
  inclusion as a flat texture if no F_START marker is found.
- Made the counting of intermission stats in Doom a GAMEINFO option so that
  it can be activated in all games.


SVN r1555 (trunk)
2009-04-23 22:49:38 +00:00
Christoph Oelckers
a2a69765eb - fixed MustConfirm parsing in MAPINFO
SVN r1554 (trunk)
2009-04-21 17:34:48 +00:00
Randy Heit
1954f9ee84 - Gave the intermission screen sounds their own SNDINFO entries.
SVN r1551 (trunk)
2009-04-18 01:31:08 +00:00
Randy Heit
e865d95070 - Removed obsolete snd_surround cvar.
SVN r1550 (trunk)
2009-04-16 23:58:41 +00:00
Randy Heit
dcedad548b - Changing screen resolution now adjusts the automap scale to be constant
relative to screen resolution.


SVN r1549 (trunk)
2009-04-16 03:02:08 +00:00
Randy Heit
bdbb72e43d - Crap.
SVN r1548 (trunk)
2009-04-16 02:05:13 +00:00
Randy Heit
659be956de - Fixed: When FMultiPatchTexture::MakeTexture() needed to work in RGB
colorspace, it didn't zero out the temporary buffer.


SVN r1547 (trunk)
2009-04-16 02:02:56 +00:00
Randy Heit
c2ff8c78dd - Fixed memory leak from leftover code for 7z loading and added the
LUMPF_ZIPFILE flag to their contents so they have the same semantics
  as zips.


SVN r1546 (trunk)
2009-04-15 23:33:36 +00:00
Randy Heit
7e7429e3d2 - Added support for 7z archives.
SVN r1545 (trunk)
2009-04-15 03:58:10 +00:00
Christoph Oelckers
9040710e62 - Updated UDMF spec to 1.1.
- Added -noautoload option.
- Added default Raven automap colors set. Needs to be tested because I can't
  compare against the DOS version myself.
- Extened A_PlaySound and A_StopSound to be able to set all parameters of the
  internal sound code.



SVN r1544 (trunk)
2009-04-14 09:06:03 +00:00
Randy Heit
81c4773b46 - Changed gravity doubling so that it only happens when you run off a ledge.
SVN r1543 (trunk)
2009-04-14 01:20:44 +00:00
Randy Heit
6a9acc2cf8 - Fixed: World panning was ignored for the X offset of masked midtextures.
SVN r1541 (trunk)
2009-04-11 04:28:06 +00:00
Christoph Oelckers
d3b6dfb0f1 - Extended MF5_MOVEWITHSECTOR so that it always keeps the actor on the ground
of a moving floor, regardless of movement speed. For NOBLOCKMAP items this
  is necessary because otherwise they can be left in the air and it also adds 
  some options for other things.


SVN r1540 (trunk)
2009-04-10 06:50:39 +00:00
Randy Heit
3ecca432a9 - Changed A_FreezeDeathChunks() so that instead of directly destroying an
actor, it sets it to the "Null" state, which will make it invisible and
  destroy it one tic later.


SVN r1539 (trunk)
2009-04-10 04:04:17 +00:00
Randy Heit
bb9b5ebf92 - Added a NULL pointer check to A_Fire() and copied the target to a local
variable inside A_VileAttack() so that if P_DamageMobj() destroys the
  target, the function will still have a valid pointer to it (since reading
  it from the actor's instance data invokes the read barrier, which would
  return NULL).


SVN r1538 (trunk)
2009-04-10 03:54:28 +00:00
Randy Heit
ac2f5aa632 - Added MF5_MOVEWITHSECTOR flag, so you can have the benefits of MF_NOBLOCKMAP
but still have actors that will move up and down with the floor. IceChunk
  now uses both of these flags.


SVN r1536 (trunk)
2009-04-09 02:25:37 +00:00
Randy Heit
47a4cffb30 - And again...
SVN r1535 (trunk)
2009-04-09 02:02:55 +00:00
Randy Heit
6a75a5ac94 - Fix GCC warning.
SVN r1534 (trunk)
2009-04-09 02:00:58 +00:00
Randy Heit
c601426248 - More performance optimization for FBlockThingsIterator::Next(): Changed
the array used to keep track of visited actors into a hash table.

SVN r1533 (trunk)
2009-04-09 01:40:30 +00:00
Randy Heit
a54367a3c0 - Performance optimization for FBlockThingsIterator::Next(): Actors that
exist in only one block don't need to be added to the CheckArray or
  scanned for in it.


SVN r1532 (trunk)
2009-04-08 22:59:06 +00:00
Randy Heit
3dc01e77f7 - Added gprof support. Pass -DPROFILE=1 to cmake when using a Debug or RelWithDebInfo
CMAKE_BUILD_TYPE. (It seems to like to hang when generating arith.h for gdtoa when you
  do this, but killing the make process and restarting it seems to fix that.)

SVN r1531 (trunk)
2009-04-08 22:26:09 +00:00
Randy Heit
5db6a5516b - I guess music_mus_midiout.cpp isn't Win32-only, is it?
SVN r1530 (trunk)
2009-04-08 04:58:36 +00:00
Randy Heit
993fcd233a - Fixed: MinGW needs malloc.h for alloca().
SVN r1529 (trunk)
2009-04-08 04:57:17 +00:00
Randy Heit
0060dab892 - Last was incomplete commit.
SVN r1528 (trunk)
2009-04-08 04:47:44 +00:00
Randy Heit
d3e1199c8f - Fixed: Not all control paths through DCanvas::ParseDrawTextureTags() called va_end.
- Moved the va_copy check out of the non-Win32 part of CMakeLists.txt so that it gets
  used for MinGW, too.

SVN r1527 (trunk)
2009-04-08 04:47:21 +00:00
Randy Heit
2ac649e09d - Added a va_copy/__va_copy check to CMakeLists.txt.
SVN r1526 (trunk)
2009-04-08 04:33:29 +00:00
Randy Heit
cc9efce818 - Fixed: Removing malloc.h for every system because FreeBSD doesn't like
it is wrong.


SVN r1525 (trunk)
2009-04-08 04:14:37 +00:00
Christoph Oelckers
a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Christoph Oelckers
c8e01f9f91 - Fixed: The UDMF textmap readbuffer was never freed.
SVN r1523 (trunk)
2009-04-06 17:18:29 +00:00
Randy Heit
e16fde611f - Fixed: GetPlayerInput() died if you tried to get the input of the activator
and the activator was the world.


SVN r1522 (trunk)
2009-04-05 03:22:36 +00:00
Christoph Oelckers
78fb48302c - fixed: Any player class inheriting directly from PlayerPawn was left with
empty weapon slots due to the recent rewrite of the weapon slot assignment
  code. To handle such classes each game now defines a default weapon slot
  setting in its gameinfo. This will be used when a player class without any
  weapon slot settings is used.


SVN r1521 (trunk)
2009-04-04 17:46:33 +00:00
Christoph Oelckers
9d47afb304 - added 'damage' to the actor variables exported to DECORATE's expression
evaluator.
- fixed: solid corpses could block ripper missile that originally killed them.


SVN r1520 (trunk)
2009-04-04 09:28:10 +00:00
Randy Heit
4376c6b415 - Fixed: Doom's status bar was lacking its default face.
- Fixed: Custom skin face graphics were not added to the texture manager.


SVN r1519 (trunk)
2009-04-03 02:37:01 +00:00
Randy Heit
ccd3b2a6e1 - Fixed: UseHealthItems() gave you health equal to the number of items in
the stack of health items, rather than the item's proper amount.


SVN r1518 (trunk)
2009-04-03 01:25:06 +00:00
Randy Heit
08730b941b - Fixed: SBARINFO's "usessecondaryammo" considered a weapon to not use
secondaryammo if ammo2's type was the same as ammo1's, but only if you
  didn't use the "not" keyword with it.


SVN r1515 (trunk)
2009-04-02 01:48:59 +00:00
Christoph Oelckers
f62fcabb9c - Fixed: Altering a link type with Sector_SetLink did not work.
- Fixed: player.crouchsprite had no proper means of unsetting the crouch
  sprite which is needed by the ChexPlayer.
- Fixed: A_ChangeFlags must unlink the actor from the world before changing
  the NOBLOCKMAP and NOSECTOR flags.

SVN r1514 (trunk)
2009-03-29 08:55:15 +00:00
Randy Heit
7060f72186 - So, I guess if you're doing the inline asm properly, tsc doesn't need to be marked as
volatile.

SVN r1513 (trunk)
2009-03-29 02:40:41 +00:00
Christoph Oelckers
bf4e17703d - Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are
  properly named.
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
  be possible to load DEHSUPP lumps from user WADs.
- Brought back the text-based DEHSUPP parser and changed it to be able to 
  reference states by label. Also changed label names of 
  DoomUnusedStates and added proper labels to all states that were
  previously forced to be the first state of an actor so that the old
  (limited) method could access them. This was done to address the following
  bug:
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
  part of the state set that is accessible by Dehacked. These will produce
  error messages when mapped to non-players.

SVN r1512 (trunk)
2009-03-28 11:49:44 +00:00
Randy Heit
3ee37fdc08 - Fixed GCC rdtsc (for real this time, I hope).
SVN r1511 (trunk)
2009-03-28 03:31:52 +00:00
Randy Heit
366ed7047a - The variable the result of rdtsc is placed in also needs to be marked as volatile
to ensure that GCC doesn't optimize the function call away.

SVN r1510 (trunk)
2009-03-28 03:26:05 +00:00
Christoph Oelckers
e59ee12f2a - removed debug code.
SVN r1509 (trunk)
2009-03-27 23:23:10 +00:00
Christoph Oelckers
26420a9c60 - Fixed: Reading the RNG states from a savegame calculated the amounts of
RNGs in the savegame wrong.


SVN r1508 (trunk)
2009-03-27 22:07:16 +00:00
Randy Heit
7371c4a516 - Changed random seed initialization so that it uses the system's
cryptographically secure random number generator, if available, instead
  of the current time.
- Changed the random number generator from Lee Killough's algorithm to the
  SFMT607 variant of the Mersenne Twister.

SVN r1507 (trunk)
2009-03-27 04:49:17 +00:00
Randy Heit
35fe9ae690 - Made fmodex.dll delay-loaded so the game should be runnable on Windows 95
again, though without sound.



SVN r1506 (trunk)
2009-03-26 02:33:37 +00:00
Randy Heit
854097ba03 - Changed gameinfo_t and gameborder_t to be named structs instead of
typedef'ed anonymous structs.
- Fixed: P_AutoUseHealth() used autousemodes 0 and 1 instead of 1 and 2.
- Fixed: SBARINFO did not recognize 5:4 aspect ratio.
- Fixed: screenshot_dir was ignored.


SVN r1505 (trunk)
2009-03-26 02:06:14 +00:00
Christoph Oelckers
03e8f0e355 - Removed some obsolete code from G_InitLevelLocals that was causing problems
with maps that have no name.
- Fixed: The inner loop in AWeaponSlot::PickWeapon could endlessly loop when
  the counter variable became negative.


SVN r1504 (trunk)
2009-03-25 23:29:00 +00:00
Christoph Oelckers
f7bcd0b98e - Fixed: Implicitly defined clusters were not initialized when being created.
SVN r1503 (trunk)
2009-03-25 22:02:15 +00:00
Christoph Oelckers
218fc5018e - Fixed: Item tossing did not work anymore.
SVN r1502 (trunk)
2009-03-24 07:51:15 +00:00
Christoph Oelckers
e4da63e9f3 - Changed: Making the gameinfo customizable by MAPINFO requires different
checks for map specific border flats.
- fixed intermission music for Doom 1.


SVN r1501 (trunk)
2009-03-23 17:46:59 +00:00
Christoph Oelckers
9fdbf29cb1 - fixed Linux compile
SVN r1500 (trunk)
2009-03-23 07:37:57 +00:00
Christoph Oelckers
a150f6f9b7 - disabled Zip related code in IWAD detection for now
- forgot to add new files.


SVN r1498 (trunk)
2009-03-22 11:42:46 +00:00
Christoph Oelckers
505031fa5a - removed gamemission variable because it wasn't used anywhere.
- removed gamemode variable. All it was used for were some checks that
  really should depend on GI_MAPxx.
- Externalized all internal gameinfo definitions.
- added include to MAPINFO parser.
- split IWAD detection code off from d_main.cpp into its own file.
- disabled gamemission based switch filtering because it is not useful.
- added GAMEINFO submission by Blzut3 with significant modifications. There
  is no GAMEINFO lump. Instead all information is placed in MAPINFO, except
  the data that is needed to decide which WADs to autoload.


SVN r1497 (trunk)
2009-03-22 11:37:56 +00:00
Christoph Oelckers
81f834e3f4 - fixed: The WAD manager's hash chains could not handle more than 65535 lumps.
- Reinitializing the WAD manager will now delete all data.
- Preparation for GAMEINFO: zdoom.pk3 will be opened separately before checking the IWAD
  so that the internal GAMEINFOs can be externalized, too.


SVN r1494 (trunk)
2009-03-21 09:03:08 +00:00
Randy Heit
5c5137747f - Added the current value of the string buffer to the state saved when
making a function call in ACS. Now you can print inside functions and
  also return values from them for the caller to plug directly into
  another string without having to save it to a temporary variable.


SVN r1492 (trunk)
2009-03-20 02:13:25 +00:00
Randy Heit
301a554a69 - Added an OutputVolume() call after the MusicVolumeChanged() call in
MIDIStreamer::Play(). Since the state isn't playing yet when
  MusicVolumeChanged() is called, it doesn't do this itself.


SVN r1491 (trunk)
2009-03-20 01:58:33 +00:00
Randy Heit
7a06d3a71a - Fixed: P_RailAttack() passed the wrong angle variable to P_TraceBleed().
SVN r1490 (trunk)
2009-03-20 01:40:28 +00:00
Christoph Oelckers
18b4577bbd - Fixed: S_StopSound may not assume that after stopping a sound channel
its link to the next item in the list is still valid.
- Fixed typo in src/CMakeLists.txt.
- Fixed: Armor only worked for players.


SVN r1489 (trunk)
2009-03-19 22:48:55 +00:00
Christoph Oelckers
ca454bfeb3 - Fixed: P_FindFloorCeiling may not call P_PointInSector if called from
P_SpawnMapThing. It must use the values the actor has been initialized to
  by LinkToWorldForMapThing.


SVN r1488 (trunk)
2009-03-19 11:24:14 +00:00
Randy Heit
cfbf55acab - -norun works without -stdout now.
SVN r1487 (trunk)
2009-03-19 02:12:24 +00:00
Randy Heit
c2aab5dd46 - Added the -norun parameter to quit the game just before video
initialization. To be used to check for errors in scripts without actually
  running the game.
- Added the -stdout parameter to the Windows version to send all output to
  a console, like the Linux version has done all along.


SVN r1486 (trunk)
2009-03-18 05:02:32 +00:00
Randy Heit
314216343d - Added support for loading ZGL2 nodes. (Only useful with UDMF and maps with
more than 65534 lines.)


SVN r1485 (trunk)
2009-03-17 03:34:31 +00:00
Christoph Oelckers
63c170150d - Fixed: AWeapon::PickupForAmmo accessed ammo type 1 when checking ammo type2.
SVN r1481 (trunk)
2009-03-15 08:08:29 +00:00
Randy Heit
6236074684 - Version bump to 2.3.1.
SVN r1479 (trunk)
2009-03-15 01:42:45 +00:00
Randy Heit
8724b45e15 - Changed Linux default for fullscreen to false.
- Removed CVAR_SERVERINFO flag from compatmode. Since it writes to
  compatflags, that should be enough. Having that flag set for both of
  them leads to problems with e.g. loading a savegame, where compatflags is
  restored, then compatmode is restored and it completely undoes whatever
  compatflags was restored to.
- Fixed: Trying to start a map for some single file that isn't really a map
  caused a crash.


SVN r1478 (trunk)
2009-03-15 01:41:53 +00:00
Randy Heit
7dd75670f4 - Fixed: After loading a savegame or unmorphing, a player's weapon slots
were empty.


SVN r1477 (trunk)
2009-03-13 03:18:06 +00:00
Randy Heit
69c2c4de64 - Moved weapon slot initialization into APlayerPawn::PostBeginPlay() so that
they can be initialized when players respawn in multiplayer.


SVN r1476 (trunk)
2009-03-12 03:54:23 +00:00
Christoph Oelckers
c65dc5bad4 - Added a Check for the Vavoom namespace to the UDMF parser. Functionally
it's 100% identical with ZDoom's own but needs to be checked for in
  case Vavoom compatible UDMF maps are released.


SVN r1475 (trunk)
2009-03-11 19:28:10 +00:00
Randy Heit
aee99c2bd0 - Added an SDL output plugin, so FMOD can produce sound using SDL's audio
support instead of its own OSS/ALSA/ESD support. This is selectable by
  setting snd_output to "sdl".



SVN r1473 (trunk)
2009-03-11 04:56:43 +00:00
Randy Heit
47abeec7d9 - Fixed: On Linux systems with ALSA but no OSS support, trying to start
the sound system with snd_output default would fail instead of trying
  to use ALSA.



SVN r1472 (trunk)
2009-03-11 01:12:51 +00:00
Christoph Oelckers
bc91192473 - Fixed a crash in the weapon code with missing player starts.
SVN r1471 (trunk)
2009-03-11 00:42:04 +00:00
Randy Heit
fcdab6a777 - Added sdl_nokeyrepeat to disable key repeating in the menus and console
on Linux.



SVN r1470 (trunk)
2009-03-11 00:17:31 +00:00
Randy Heit
1e57e07926 - Fixed a double-fclose and memory leaks in zipdir.
- Fixed building of LZMA SDK on Linux with some help from p7zip.



SVN r1469 (trunk)
2009-03-10 23:56:47 +00:00
Randy Heit
75b7db858f - Added support for zip/pk3 files with LZMA and bzip2 compression to ZDoom.
- Added more output to zipdir and a -q option to turn it off.
- Added -u option to zipdir to only recompress those files in a zip that have
  changed. 
- Added -d and -f options to zipdir. -d forces deflate compression, and -f
  forces a write of the zip, even if it's newer than all the files it contains.
- Added support for bzip2 and LZMA compression to zipdir.


SVN r1468 (trunk)
2009-03-10 23:07:37 +00:00
Randy Heit
fd5a5be76a - Fixed what looks like an incorrect comparison in thingdef_states.cpp.
SVN r1467 (trunk)
2009-03-10 05:37:27 +00:00
Christoph Oelckers
b072431d3b - Adjusted some gravity related thresholds for the fix from Feb 28. Also removed
some unnecessary floating point math from this code.


SVN r1465 (trunk)
2009-03-07 09:16:32 +00:00
Christoph Oelckers
e57ff454f2 - Added Hirogen2's patch for unlimited ammo CVAR.
SVN r1464 (trunk)
2009-03-06 22:58:34 +00:00
Randy Heit
ee1806e9b2 - Fixed: You couldn't easily play with the compatibility options menu during
the title screen, because the demo loop reset the server cvars after each
  attempt to play a demo, even though the demos never actually played. The
  proper long-term solution would be to make shadow copies of all cvars
  touched by demos and use those for the demo and the real things for
  everything else, but this should do for now and is a lot easier.


SVN r1463 (trunk)
2009-03-04 23:19:46 +00:00
Randy Heit
e9121b607d - Fixed: When using BOOM-style sector flags and specials together, the
special was ignored unless it was "secret".


SVN r1462 (trunk)
2009-03-04 23:07:18 +00:00
Randy Heit
5eeaa130fd - Went back to using RDTSC for timing on Win32. Ironically,
QueryPerformanceCounter() is obviously using the TSC for its timing on my
  machine, yet the overhead it has to do to keep the timer sane is apparently
  noticeable on a few maps. I suppose I should at some time check
  clock_gettime() and see if it has similar issues on Linux.


SVN r1460 (trunk)
2009-03-04 06:06:31 +00:00
Christoph Oelckers
3b36334704 - changed: If a monster with the BOSSDEATH flag is crushed A_BossDeath will
be called now.
- fixed: D'Sparil's second form was missing the BOSSDEATH flag.
- fixed: D'Sparil's first form requires the DONTGIB flag.
- fixed: Heretic doesn't crush monsters. To handle this in a more generic
  fashion this depends on the presence of a gib sprite now.


SVN r1459 (trunk)
2009-03-03 21:17:00 +00:00
Christoph Oelckers
74642ca626 - Fixed: AActor::SetOrigin must call P_FindFloorCeiling to get the true
floor and ceiling heights. Otherwise the actor will fall right through
  3DMidtex textures (and 3D-floors.)


SVN r1456 (trunk)
2009-03-01 10:12:12 +00:00
Randy Heit
fc4bf2f647 Version bump.
SVN r1454 (trunk)
2009-03-01 03:02:40 +00:00
Randy Heit
d0763f4820 - Fixed: The TeleporterBeacon tried to enter its See state rather than its
Drop state. Also changed it to fade out when it's done rather than
  disappearing abruptly.


SVN r1453 (trunk)
2009-03-01 02:19:46 +00:00
Christoph Oelckers
42ac64d964 - Fixed: Strife's quest based line actions also work in Deathmatch.
- Fixed: Gravity application was not correct. For actors with no vertical 
  momentum the initial pull is supposed to be twice as strong as when 
  vertical movement already takes place.
- added invquery CCMD like in Strife. Also removed all underscores from the
  tag strings so that they can be printed properly.
- Fixed: Skill baby was missing 'autousehealth' for all games.
- Added a new CVAR: sv_disableautohealth
- Autouse of health items is no longer hardwired to the default item classes. 
  There's a new property HealthPickup.Autouse. 0 means no autouse, 1 a small 
  Raven health item, 2 a large Raven health item and 3 a Strife item.



SVN r1452 (trunk)
2009-02-28 21:38:20 +00:00
Randy Heit
37aa4c2c28 - Removed an early-out in wallscan_striped() that is invalid when drawing a
skybox.


SVN r1451 (trunk)
2009-02-27 03:45:14 +00:00
Randy Heit
4535382031 - The SFX Reverb unit is now moved so that it serves as an input to the water
effect rather than as an input to the ChannelGroup Target Unit. This means
  the water effect is now applied after any room reverb, rather than in
  parallel with it.
- Fixed: UI sounds should not have reverb applied to them.


SVN r1450 (trunk)
2009-02-26 06:23:05 +00:00
Christoph Oelckers
1f5cf23418 - fixed: nextmap and nextsecret CCMDs set skill to 0.
SVN r1449 (trunk)
2009-02-25 23:25:47 +00:00
Christoph Oelckers
2c65d5b8f5 - fixed: level.flags2 was not stored in savegames. Also bumped min. savegame
version and removed old compatibility handlings.

SVN r1448 (trunk)
2009-02-25 22:10:06 +00:00
Randy Heit
a18018f607 - Removed the delay for starting all sounds from one tic at exactly the same
DSP position. Without also synchronizing the stopping of sounds, it can
  cause problems with things like the chainsaw where the sound is stopped and
  immediately restarted, causing occasional gaps between the stopping of the
  sound and the starting of the new one. (I added the start synchronization to
  combat flanging of paired moving polyobjects when moving around, but I think
  just removing velocity from the player for sound calculations takes care of
  that well enough.)


SVN r1447 (trunk)
2009-02-25 21:31:14 +00:00
Christoph Oelckers
d91f0c4090 - Added GCC headers for intptr_t to tarray.h.
- Added MF5_PAINLESS flag for projectiles that don't make the target go into
  the pain state.


SVN r1446 (trunk)
2009-02-24 21:19:10 +00:00
Randy Heit
c2b4522b8f - Changed DEM_ADDSLOTDEFAULT, DEM_ADDSLOT, and DEM_SETSLOT to be more space-
efficient.


SVN r1445 (trunk)
2009-02-24 05:58:59 +00:00
Randy Heit
a71e87b9df - Fixed: player->oldbuttons was copied from the current button set at the end
of P_PlayerThink(), well before ACS could ever get at it with GetPlayerInput.


SVN r1444 (trunk)
2009-02-24 04:13:38 +00:00
Randy Heit
7a887416f6 - Fixed: APowerInvisibility::CommonInit() cleared the wrong flag.
SVN r1443 (trunk)
2009-02-24 03:47:32 +00:00
Christoph Oelckers
f188577bb5 - Fixed: The map name display on the automap was incomplete.
- Added FakeInventory.Respawns DECORATe property
- Fixed: Unsetting the MF5_INCONVERSATION flag did not work when quitting the
  conversation by pressing Escape.


SVN r1442 (trunk)
2009-02-23 21:55:36 +00:00
Christoph Oelckers
613ae5e022 - added ML_BLOCKPROJECTILE flag to lines.
SVN r1440 (trunk)
2009-02-22 15:39:42 +00:00
Christoph Oelckers
eb47f4fdbf - Fixed: With opl_onechip set the second OPL chip was never set to anything valid
so it contained an invalid pointer. There were also a few other places that
  simply assumed that the second chip is set to something valid.
- Fixed: NPCs which are engaged in a conversation should not move.
- Fixed: Player movement animation was not stopped when starting a conversation.


SVN r1439 (trunk)
2009-02-22 10:25:12 +00:00
Randy Heit
10c31b82cb - Added selective compression of network packets. Interestingly, most packets
don't actually compress all that well, even the ones that aren't too short
  to possibly compress. (Maybe make the whole thing one long, never-ending
  zlib data stream with Z_SYNC_FLUSH used to chunk things at packet
  boundaries? That would probably help the compression ratio, but it would
  require changing the way the netcode determines sequence, which would be
  a much more invasive change.)


SVN r1438 (trunk)
2009-02-22 05:05:58 +00:00
Christoph Oelckers
317b8c1d7c - Fixed: Heretic's fullscreen HUD crashed when the player had armor without
a valid icon.


SVN r1436 (trunk)
2009-02-21 23:17:37 +00:00
Christoph Oelckers
5bb3f87746 - GCC compile fix and warning removal.
SVN r1434 (trunk)
2009-02-21 21:44:15 +00:00
Christoph Oelckers
b94b832a9e - Fixed: Untranslated colors in fonts had an alpha value of 0 but need 255.
SVN r1433 (trunk)
2009-02-21 11:30:42 +00:00
Christoph Oelckers
5bd3d0d37d - Fixed: skins can not be sorted for binary search because the player class
code depends on the original indices.
- Fixed: P_StartConversation set the global dialog node variable for all
  players, not just the consoleplayer.
- Fixed: AWeapon::PickupForAmmo assumed that any weapon having a secondary
  ammo type also has a primary one.


SVN r1431 (trunk)
2009-02-21 10:15:11 +00:00
Christoph Oelckers
4b723beddd - Bumped netgame, demo and min demo version for the weapon slot changes.
- changed weapon slots to be stored per player. Information is now transmitted
  across the network so that all machines know each player's current weapon
  configuration so that it can be used by cheats or HUD display routines.


SVN r1430 (trunk)
2009-02-20 22:28:48 +00:00
Christoph Oelckers
125b0cefaf - fixed: level_info_t::mapbg was not initialized
SVN r1429 (trunk)
2009-02-20 13:47:22 +00:00
Randy Heit
a7e40b56f6 - Fixed: Player names and chat macros that end with incomplete \c escapes now
have those escapes stripped before printing so that they do not merge with
  subsequent text.
- Moved default weapon slot assignments into the player classes.
  Weapon.SlotNumber is now used solely for mods that want to add new weapons
  without completely redoing the player's arsenal. Restored some config-based
  weapon slot customization, though slots are no longer automatically saved
  to the config and section names have changed slightly. However, unlike
  before, config slots are now the definitive word on slot assignments and
  cannot be overridden by any other files loaded.
- Fixed: Several weapons were missing a game filter from their definitions.
- Removed storage of weapon slots in the config so that weapon slots can
  be setup in the weapons themselves. Slots are still configurable, since
  they need to be for KEYCONF to work; any changes simply won't be saved
  when you quit.
- Removed limit on weapon slot sizes.


SVN r1428 (trunk)
2009-02-20 00:53:25 +00:00
Randy Heit
491abe3a2c - Fixed: DirectInput8Create() used the wrong calling convention.
SVN r1426 (trunk)
2009-02-19 23:12:48 +00:00
Christoph Oelckers
666e40c8bb - Added MF5_CANTSEEK flag to prevent seeker missiles from homing in on
certain actors and added an option to APowerInvisibility to set this
  flag when active.
- Added map specific automap backgrounds.
- Fixed: Voodoo dolls did not play a sound when dying.
- Added colorized error messages to DECORATE and made a few more error
  conditions that do not block further parsing not immediately abort.
- Made all errors in CreateNewActor not immediately fatal so that the
  rest of the DECORATE lump can be parsed normally to look for more errors.
- Fixed: Defining classes with the same name as their immediate base class
  was legal. It should not be allowed that a class has another one with the
  same name in its ancestry.
- Fixed: Formatting of the intermission screen on Heretic, Hexen and Strife
  was broken. Changed it to use WI_Drawpercent which does it properly and
  also allows showing percentage in these games now.
- Fixed: The MAPINFO parser ignored missing terminating braces of the last
  block in the file.

SVN r1425 (trunk)
2009-02-19 14:36:37 +00:00
Randy Heit
0acc6a4ee3 - Moved the V_InitFontColors() call earlier in the startup sequence so that
colored error messages appear colored in the startup window. Also lightened
  up the "Flat" red to contrast better with the startup background.


SVN r1424 (trunk)
2009-02-11 00:16:05 +00:00
Randy Heit
085be22a30 - Changed I_InitInput() to acquire the IDirectInput8A interface by using
DirectInput8Create() instead of CoCreateInstance(). This allows the Steam
  GameOverlayRenderer.dll to properly hook it.


SVN r1422 (trunk)
2009-02-10 03:12:41 +00:00
Randy Heit
035edb32ad - Stopped sending double the number of wheel events as appropriate to the
console under Linux.
- Added middle mouse button selection pasting for X systems.



SVN r1420 (trunk)
2009-02-10 02:16:41 +00:00
Christoph Oelckers
e55a97a18e - Fixed parsing of 'cluster' keyword when format is not yet known.
SVN r1419 (trunk)
2009-02-09 00:11:07 +00:00
Christoph Oelckers
9d5b92d231 - Moved CheckCompatibility call so that it is done after setting LEVEL_HEXENFORMAT.
SVN r1418 (trunk)
2009-02-08 22:35:23 +00:00
Christoph Oelckers
5aecc8abf5 - Fixed parsing for MustConfirm key in skill parser.
- Converted internal MAPINFOs to new syntax.


SVN r1417 (trunk)
2009-02-08 19:04:07 +00:00
Christoph Oelckers
4b064d9b5d - Added a range parameter to SNDINFO's $limit.
- Restored Dehacked music name replacement.


SVN r1416 (trunk)
2009-02-08 11:28:30 +00:00
Randy Heit
05a8a49ea5 - Added GUICapture mouse events for Win32.
SVN r1415 (trunk)
2009-02-08 03:45:41 +00:00
Randy Heit
025e36ee41 - Changed I_GetFromClipboard() to return an FString.
SVN r1414 (trunk)
2009-02-08 03:32:27 +00:00
Randy Heit
be165578ea - Added GTK+-based clipboard support for Linux.
- Fixed: Most Linux filesystems do not fill in d_type for scandir(), so we
  cannot rely on it to detect directories.
- Added NicePath() function to perform shell-style ~ substitution on path
  names.
- Changed the default screenshot directory on Unix to ~/.zdoom/screenshots/.
- Added -shotdir command line option to temporarily override the
  screenshot_dir cvar.



SVN r1413 (trunk)
2009-02-08 02:52:43 +00:00
Christoph Oelckers
125be6b54e - Fixed: G_SerializeLevel must use the TEXMAN_ReturnFirst flag for getting
the sky textures so that it still works when the first texture in a TEXTURE1
  lump is used as sky.

SVN r1412 (trunk)
2009-02-07 08:52:07 +00:00
Randy Heit
0c9f735357 - Restored the old drawseg/sprite distance check from 2.0.63. The code that
replaced it did the check at the center of the area intersected by the
  sprite and the drawseg, whereas 2.0.63 only did the check at the location
  of the sprite on the map.


SVN r1411 (trunk)
2009-02-07 03:01:38 +00:00
Randy Heit
1aed25f666 - Commented out the CALL_ACTION(A_Look, actor) for targetless friendly
monsters in A_DoChase(). They can still find new targets without this,
  and with it, they got stuck on the first frame of their see state.


SVN r1410 (trunk)
2009-02-07 01:37:06 +00:00
Randy Heit
8d9bc8cc67 - Fixed: Keys bound in a custom key section would unbind the key in the
main game section.


SVN r1409 (trunk)
2009-02-07 01:14:36 +00:00
Randy Heit
f867f40bab - Fixed scrolling of the automap background on a rotated automap.
SVN r1408 (trunk)
2009-02-07 00:07:55 +00:00
Randy Heit
a704043fd2 - Removed automap scroll clamping for rotated maps. If it's going to scroll out of sight,
at least it'll do so at a fixed right.

SVN r1407 (trunk)
2009-02-07 00:01:58 +00:00
Randy Heit
64b783f4bd - Changed singleplayer allowrespawn to act like a co-op game when you
change levels while dead by immediately respawning you before the switch
  so that you get to keep all your inventory.
- Fixed: G_InitLevelLocals() did not set flags2.


SVN r1406 (trunk)
2009-02-06 04:43:51 +00:00
Christoph Oelckers
cccdfd6336 - fixed: The compatibility parser applied the last map's settings to all
maps in the compatibility list.
- Added compatibility settings for a few more levels in some classic WADs.
- Added spechit overflow workaround for Strain MAP07. This is highly map
  specific because the original behavior cannot be restored.
- Added a check for Doom's IWAD levels that forces COMPAT_SHORTTEX for them.
  MD5 cannot be used well here because there's many different IWADs with 
  slightly different levels. This is only done for Doom format levels to
  ensure that custom IWADs for ZDoom are not affected.
- fixed: level.flags2 was not reset at level start.
- Fixed: Morph powerups can change the actor picking up the item so 
  AInventory::CallTryPickup must be able to return the new actor.
- Fixed: ACS's GiveInventory may not assume that a PlayerPawn is still
  attached to the player data after an item has been given.
- Added a missing NULL pointer check to DBaseStatusBar::Blendview.


SVN r1405 (trunk)
2009-02-06 00:16:57 +00:00
Randy Heit
70aa9cb92a - Fixed copy pasta errors in autosegs.h and other problems for GCC.
SVN r1404 (trunk)
2009-02-05 04:18:08 +00:00
Randy Heit
7ee11638f2 - Need to add compatibility.cpp and md5.cpp to CMakeLists.txt.
SVN r1403 (trunk)
2009-02-05 03:39:02 +00:00
Randy Heit
4e509728a0 - Added a compatibility lump because I think it's a shame that Void doesn't
work properly on new ZDooms after all the collaboration I had with Cyb on
  that map. (Works with other maps, too.)


SVN r1402 (trunk)
2009-02-05 02:55:28 +00:00
Christoph Oelckers
84c5c7d38e - Made improvements so that the FOptionalMapinfoData class is easier to use.
SVN r1401 (trunk)
2009-02-04 23:45:26 +00:00
Randy Heit
b387752f2f - Applied latest TEAMINFO patch.
SVN r1400 (trunk)
2009-02-04 23:14:28 +00:00
Randy Heit
403b2c3c56 - Moved the MF_INCHASE recursion check from A_Look() into A_Chase(). This
lets A_Look() always put the actor into its see state. This problem could
  be heard by an Archvile's resurrectee playing its see sound but failing to
  enter its see state because it was called from A_Chase().


SVN r1399 (trunk)
2009-02-04 02:29:59 +00:00
Randy Heit
b983886acd - Fixed: SBARINFO used different rounding modes for the background and
foreground of the DrawBar command.


SVN r1398 (trunk)
2009-02-04 02:01:32 +00:00
Randy Heit
72343d9f2c - Bumped MINSAVEVER to coincide with the new MAPINFO merge.
SVN r1397 (trunk)
2009-02-04 01:27:45 +00:00
Randy Heit
d0e7e574e1 - Added a fflush() call after the logfile write in I_FatalError so that the
error text is visible in the file while the error dialog is displayed.


SVN r1396 (trunk)
2009-02-04 01:23:47 +00:00
Christoph Oelckers
92e6a72da1 - restored a line in the MAPINFO parser that got accidentally deleted.
SVN r1394 (trunk)
2009-02-03 21:35:10 +00:00
Christoph Oelckers
4bcd3faef8 - moved all code related to global ACS variables to p_acs.cpp where it belongs.
- fixed: The nextmap and nextsecret CCMDs need to call G_DeferedInitNew instead of G_InitNew.
- merged MAPINFO branch back into trunk.

SVN r1393 (trunk)
2009-02-03 19:11:43 +00:00
Randy Heit
0b95b47f87 - Changed DECORATE replacements so that they aren't overridden by Dehacked.
SVN r1391 (trunk)
2009-02-03 05:46:55 +00:00
Christoph Oelckers
c11f1a7fdc - Fixed: The damage factor for 'normal' damage is supposed to be applied to
all damage types that don't have a specific damage factor.


SVN r1388 (trunk)
2009-02-01 09:11:05 +00:00
Randy Heit
07a2da40f1 - Changed FMOD init() to allocate some virtual channels.
SVN r1387 (trunk)
2009-02-01 04:10:36 +00:00
Randy Heit
b680840073 - Fixed clipping in D3DFB::DrawTextureV() for good by using a scissor test.
SVN r1386 (trunk)
2009-02-01 03:39:00 +00:00
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
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
Christoph Oelckers
ca80217b39 - made 3D floor constants available even when 3D floor code is defined out.
SVN r1365 (trunk)
2009-01-24 09:07:14 +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
6eb32dc0c2 - moved #ifdef in p_3dfloors.cpp below the #includes.
SVN r1353 (trunk)
2009-01-04 17:31:59 +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
aa5bdd0884 - fixed r1342 changes
SVN r1345 (trunk)
2009-01-01 22:35:29 +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
ee8ce6c1e1 - Changed Linux's I_MSTime to work the same as Windows's.
SVN r1342 (trunk)
2009-01-01 12:05:02 +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
aeaf94c1c4 - disabled debug messages.
SVN r1335 (trunk)
2008-12-30 14:24:55 +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
Christoph Oelckers
a66eb7f8c3 - Fixed: The Boss Brain could crash when it tried to shoot a cube but having no spawn spots placed.
SVN r1331 (trunk)
2008-12-26 08:53:12 +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