Commit graph

19798 commits

Author SHA1 Message Date
Randy Heit
e209a2f208 - Stop aliasing strings onto names for function parameters.
SVN r1923 (scripting)
2009-10-17 01:38:54 +00:00
Randy Heit
e5ef25591d - Use a union, rather than pointer aliasing, to access the parts of a VM instruction.
SVN r1922 (scripting)
2009-10-17 00:33:23 +00:00
Christoph Oelckers
8b27bd1434 - added 'defaultterrain' option to terrain parser for mods that want to have
a different default terrain than a generic solid surface.
- added format char processing to A_Print(Bold) and all printable messages
  that can be defined in DECORATE.
- Fixed: The railgun code ignored MF3_ALWAYSPUFF.
- added desaturated translations.
- added optional state parameters to A_ReFire and A_GunFlash and A_CountdownArg.


SVN r1921 (trunk)
2009-10-16 16:04:19 +00:00
Randy Heit
c424c61ffc - Added fixed registers that won't be freed automatically, so that parameters
can actually be used. In the end, all temporaries should be assigned to
  unique virtual registers, and a register allocator can alias them to real
  registers, but as long as we don't do any CSE, this is good enough for now.


SVN r1920 (scripting)
2009-10-15 23:11:54 +00:00
Randy Heit
3cbac657d6 - Added type coercion for action function parameters.
- I add PARAMI, and then I don't even do it right...

SVN r1919 (scripting)
2009-10-15 22:15:55 +00:00
Randy Heit
126c738116 - Added PARAMI for the common case of passing an integer constant to a function.
- Made FxParameter::Emit free its operand's register.

SVN r1918 (scripting)
2009-10-15 21:59:37 +00:00
Randy Heit
caa5f6dbdc - Send disassembly to a file, since it gets way too slow when sending a disassembly
of every single thing to the rich edit control.

SVN r1917 (scripting)
2009-10-15 21:23:59 +00:00
Christoph Oelckers
34a4738b74 - forgot damagefactor setting in Actor class.
SVN r1916 (trunk)
2009-10-15 21:12:31 +00:00
Christoph Oelckers
ce2e85c7b2 - added ACS CheckActprClass function
- fixed: When a blasted actor collided with another one this other actor's
  DONTBLAST flag was not checked.
- added a global DamageFactor actor property. All damage this actor takes is multiplied
  by this factor in addition to damage type specific damage factors.


SVN r1915 (trunk)
2009-10-15 20:09:22 +00:00
Christoph Oelckers
efd3e7f94e - added better earthquake functions for ACS and DECORATE.
SVN r1912 (trunk)
2009-10-15 08:25:07 +00:00
Randy Heit
85cc335725 - Added dummy code generation for states that pass parameters to action functions.
Currently, they're only good for disassembly and pasting into a proper text editor
  for viewing.
- Fixed some problems with the FxExpression emitters that were revealed by actually
  using them on the standard actors.

SVN r1911 (scripting)
2009-10-15 03:58:23 +00:00
Randy Heit
4fa94390d0 - Add parameter tracking to VMBuilder::Emit().
SVN r1910 (scripting)
2009-10-14 02:39:13 +00:00
Christoph Oelckers
9dfef79702 - fixed: puff checks for MF6_NOTRIGGER need to resolve actor replacements.
SVN r1909 (trunk)
2009-10-11 17:44:50 +00:00
Randy Heit
3001708d16 - Added some code for generating VM code from FxExpressions. This is completely untested, since
it isn't even used anywhere yet. In retrospect, I probably should have targeted an intermediate
  representation and done codegen with that instead, since that would be something I can reuse.

SVN r1908 (scripting)
2009-10-11 00:02:14 +00:00
Christoph Oelckers
4529108b8f - Added MF6_NOTRIGGER flag that disables all line actions for an actor.
SVN r1907 (trunk)
2009-10-10 12:42:57 +00:00
Christoph Oelckers
4a81f55fb0 - Added Gez's seeker missile submission.
SVN r1905 (trunk)
2009-10-09 20:54:28 +00:00
Christoph Oelckers
819158a8fe - Added Gez's thing activation submission.
SVN r1904 (trunk)
2009-10-09 20:35:07 +00:00
Christoph Oelckers
19ef8399a8 - added a NULL pointer check to fog spawning in unmorphing code.
- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed previous commit.


SVN r1903 (trunk)
2009-10-09 20:18:31 +00:00
Christoph Oelckers
18c1b2685f - fixed: AAmbientSound::Serialize was adjusting its timer value for savegames
even when it was set to a 'don't check' value.


SVN r1902 (trunk)
2009-10-09 06:38:56 +00:00
Randy Heit
09866b2cff - Reinstated the off-by-one check in D3DFB from r399. I thought I could get by
at just fixing it at a specific value, since the supply of SM14 cards isn't
  all that diverse and all from ATI, but apparently Radeon 8500s and 9000s
  have different precision levels in their pixel shaders. See bug report
  <http://forum.zdoom.org/viewtopic.php?p=444523>
- Removed unused variables FBFormat and PalFormat.

SVN r1901 (trunk)
2009-10-08 23:44:50 +00:00
Christoph Oelckers
0c2288a010 - Added a PainThreshold actor property.
SVN r1900 (trunk)
2009-10-08 17:43:50 +00:00
Christoph Oelckers
3900381565 - fixed: Teleport_EndGame did not set the end sequence name properly.
SVN r1899 (trunk)
2009-10-08 07:30:20 +00:00
Randy Heit
da31d9f8a3 - Since I am currently without a primary video card and stuck with this
Mobility Radeon 9000 (on a PCI card, no less!), I have decided to give the
  PS14 support some loving: D3D windowed gamma now works on these cards using
  a texture lookup for the gamma table. Sadly, this halves my framerate, so
  setting gamma to 1 will skip the gamma correction, as it was before, for
  full speed. (On my 8800 GT, the gamma correction was free.)


SVN r1898 (trunk)
2009-10-08 04:03:32 +00:00
Christoph Oelckers
a6c387ecef - Deleted a_magewand.cpp because it only contained unused code.
SVN r1897 (trunk)
2009-10-04 22:48:01 +00:00
Christoph Oelckers
0006013531 - Fixed: The conversation code tried to get the player's tag instead of the
NPC's he is talking to when it had no given name.


SVN r1896 (trunk)
2009-10-04 11:46:51 +00:00
Christoph Oelckers
5c105c0cad - forgot something.
SVN r1895 (trunk)
2009-10-03 17:52:49 +00:00
Christoph Oelckers
3d8d176087 - Added Gez's MageWandMissile customization patch but moved the new functionality
into the FastProjectile base class and removed the native MageWandMissile
  class, using the generic functionality instead.
- Fixed: GetReplacement and GetReplacee always checked the skill definitions,
  even if they weren't supposed to be used. It was also missing a range check
  for 'gameskill'.


SVN r1894 (trunk)
2009-10-03 17:07:11 +00:00
Christoph Oelckers
4add2809a3 - fixed: Savegames stored the global fixed light levels when saving a player.
SVN r1893 (trunk)
2009-10-02 09:21:37 +00:00
Christoph Oelckers
59d932b972 - Fixed some GCC warnings.
- fixed: The BossCube could be blocked by floors and ceiling resulting
  in incorrect movement. I changed it so that A_BrainSpit now sets the
  MF5_NOINTERACTION flag for anything it spawns that has the MF_NOCLIP
  flag. For travelling cubes active collision detection makes no sense
  and only causes problems. This should also make the boss brain
  work in the other games which previously were excluded by a game mode
  check in the movement code.
- fixed: ACS's GetUserVariable did not work for the script activator.
- fixed: Moving floors could be blocked by 2 actors without MF2_PASSMOBJ
  overlapping each other (common mapping bug, check Herian 2 MAP30.)

SVN r1891 (trunk)
2009-10-01 14:54:29 +00:00
Christoph Oelckers
7e4504f9d6 - Fixed: Coordinate handling for multipatch texture compositing was not correct
for true color. Instead of using a clipping rectangle on the destination it
  tried to alter the source offsets which produced incorrect results for
  mirrored or rotated patches.


SVN r1889 (trunk)
2009-09-30 10:41:24 +00:00
Randy Heit
ed8f1ec8db - Fixed: Alt+F4 no longer quit the program.
SVN r1888 (trunk)
2009-09-30 04:44:14 +00:00
Christoph Oelckers
9aab795c18 - Added BHS's death special flags submission.
SVN r1887 (trunk)
2009-09-28 15:59:20 +00:00
Christoph Oelckers
6d357b84b4 - Added Gez's A_Blast submission.
SVN r1886 (trunk)
2009-09-28 15:55:57 +00:00
Christoph Oelckers
f2c77c5f08 - Fixed: Floor and ceiling huggers' velocity was wrong when used with
P_SpawnPlayerMissile.
- Fixed: When hitting a voodoo doll the real player needs to be checked for 
  invulnerability.


SVN r1885 (trunk)
2009-09-27 20:54:46 +00:00
Christoph Oelckers
c628ac48cd - Fixed: G_QueueBody was not notifying the translation that it was changed.
SVN r1884 (trunk)
2009-09-27 07:17:51 +00:00
Randy Heit
1eb4241663 - Fixed: R_DrawPSprite() did not initialize the colormap for the targeter
vissprites.


SVN r1883 (trunk)
2009-09-27 02:31:03 +00:00
Randy Heit
c801bb7f49 - Added a check for SPAC_AnyCross to P_TestActivateLine() before the "monster"
activation checks. They are actually non-player checks and interfered with
  SPAC_AnyCross.


SVN r1882 (trunk)
2009-09-27 02:13:28 +00:00
Randy Heit
e846e5e50f - idclev and hxvisit are no longer considered cheats, however, they are still
invalid for net games. hxvisit was erroneously accepted for net games
  before, which it shouldn't have, since it's basically idclev for Hexen.


SVN r1881 (trunk)
2009-09-27 02:01:24 +00:00
Christoph Oelckers
23c0f24160 - Fixed: The multitexture composition code was missing a NULL pointer check.
SVN r1880 (trunk)
2009-09-26 22:28:55 +00:00
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
e9db2c83a5 - Just some stuff.
SVN r1878 (scripting)
2009-09-25 03:44:58 +00:00
Randy Heit
affed111fe - Add THashTrait specializations for FString, double, and float.
SVN r1877 (scripting)
2009-09-25 03:43:00 +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
c5936c9e9e - Smaller sprites
SVN r1873 (trunk)
2009-09-24 02:51:07 +00:00
Randy Heit
1a442742f7 - Sync with trunk.
SVN r1872 (scripting)
2009-09-23 00:24:47 +00:00
Randy Heit
3e7b69a12e - All states now use thunk functions to call the action functions. This is the bare
minimum to be able to say that VM is being used.
- Added tags for the pointer constants table.

SVN r1871 (scripting)
2009-09-23 00:23:24 +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