Commit graph

2096 commits

Author SHA1 Message Date
Randy Heit
9d8a9bc981 - Reverted the part of r2226 than reverted r2205 (accidentally, I assume).
SVN r2227 (trunk)
2010-03-18 17:50:00 +00:00
Christoph Oelckers
d69eb3acd1 - fixed: True color texture generation for DDS was broken.
SVN r2226 (trunk)
2010-03-18 07:54:16 +00:00
Randy Heit
44e877a243 - After experimenting with Blood, I think ROLLOFF_Linear is a better choice for ambient
sounds than ROLLOFF_Doom.

SVN r2225 (trunk)
2010-03-18 05:27:36 +00:00
Randy Heit
f712d128a3 - Oops. Accidentally removed Blood loop point support.
SVN r2224 (trunk)
2010-03-18 05:22:47 +00:00
Randy Heit
b53baf5f46 - Added support for Blood's ambient sounds, because I thought it would be an easy way to
test the new ambient sound range parameters. (Hahaha! If I hadn't had to fix all the
  Build/Blood stuff first, it would have been.)

SVN r2223 (trunk)
2010-03-18 05:01:10 +00:00
Randy Heit
2649508393 - Changed the ambient sounds list into a map so that it can handle more than 256 entries.
SVN r2222 (trunk)
2010-03-18 04:34:14 +00:00
Randy Heit
740d52cf5b - Added support for Blood's SFX loop start markers.
SVN r2221 (trunk)
2010-03-18 04:26:22 +00:00
Randy Heit
aedb646a52 - Fixed: Blood sound effect namespacing was broken.
SVN r2220 (trunk)
2010-03-18 03:55:51 +00:00
Randy Heit
8b98a3510e - Fixed: The Build loader did not set the wall texture scaling properly, either.
SVN r2219 (trunk)
2010-03-18 02:21:01 +00:00
Randy Heit
92890066b6 - Fixed: The BUILD map loader did not create extsector information, and it also did not
set valid sidedef references for the backs of one-sided lines.

SVN r2218 (trunk)
2010-03-18 02:09:08 +00:00
Randy Heit
8e104d0a28 - Fixed: RFF files constructed incorrect full names for the files they contained.
SVN r2217 (trunk)
2010-03-18 01:48:48 +00:00
Randy Heit
054e5411bd - Fixed: Checking for BUILD maps only worked if they came from unencrypted and
uncompressed sources.

SVN r2216 (trunk)
2010-03-18 01:07:50 +00:00
Randy Heit
970cf6f71b - Fixed endianness assumption when loading external map files.
SVN r2215 (trunk)
2010-03-18 00:48:56 +00:00
Randy Heit
c079a3ea5b - Add more parameters to the ambient sound things:
* Second argument: Volume scalar. 0 and 128 are normal volume. (Where "normal" is whatever
    it was defined with in SNDINFO.) Other values scale it accordingly.
  * Third argument: Minimum distance before volume fading starts.
  * Fourth argument: Maximum distance at which the sound is audible. Setting either of these to 0
    will use whatever they were defined with in SNDINFO.

SVN r2214 (trunk)
2010-03-18 00:32:35 +00:00
Randy Heit
c8b8f40356 - Fix some GCC warnings.
SVN r2213 (trunk)
2010-03-18 00:30:45 +00:00
Christoph Oelckers
635759ee2c - fixed: UpdateSegBBox only used the first seg of a linedef to calculate the linedef's bounding box.
SVN r2210 (trunk)
2010-03-14 15:17:36 +00:00
Randy Heit
f24c0cf292 - Merge scanner changes from the scripting branch, since I'm pretty sure the
token names were out of sync here, too.



SVN r2209 (trunk)
2010-03-14 04:03:07 +00:00
Christoph Oelckers
c191d95110 - Fixed: Hexen's fighter's skull has a different animation than Heretic's so it needs to be a separate class.
- Added an option to parse lumps named ZMAPINFO in place of MAPINFO. Any MAPINFO lumps in files containing
  a ZMAPINFO lump will be completely ignored. This is to allow ZDoom specific definitions which are incompatible 
  with other engines capable of reading MAPINFO. Any ZMAPINFO lump must be in the new MAPINFO format.



SVN r2208 (trunk)
2010-03-13 08:28:13 +00:00
Randy Heit
cf06cd68bc - Changed FileExists() to use stat instead of fopen/fclose, which ought to be lower
overhead for files that are present.

SVN r2206 (trunk)
2010-03-13 00:08:33 +00:00
Randy Heit
1f12c3dd8e - Whoops. DXT5 decompression got the alpha values wrong. That's "wrong" as in "garbage", since
yalphaslice was never initialized to anything. (I should probably test this to make sure I
  actually got it right now...)

SVN r2205 (trunk)
2010-03-09 03:18:31 +00:00
Christoph Oelckers
593a050778 - fixed: Items spawned internally by ADehackedPickup::TryPickup must not count towards item statistics.
SVN r2204 (trunk)
2010-03-07 11:13:57 +00:00
Christoph Oelckers
88269d5d60 - fixed: The color sliders on the player setup menu were not disabled when a predefined colorset was selected.
SVN r2203 (trunk)
2010-03-07 11:05:52 +00:00
Christoph Oelckers
0569d948df - added a 'player.clearcolorset' property so that inherited color sets can be removed.
- fixed: Player color sets were not inheritable.


SVN r2202 (trunk)
2010-03-07 09:13:41 +00:00
Christoph Oelckers
e4be782e14 - check player translations for identity maps during creation.
- fixed: When creating the initial identity translation for player translations the
  global palette remapping was not taken into account.


SVN r2200 (trunk)
2010-03-06 16:24:09 +00:00
Christoph Oelckers
d773dcb6fb - fixed: The 'any key' lock always returned success when checking for keys, even if the player had none.
SVN r2199 (trunk)
2010-03-06 14:58:15 +00:00
Christoph Oelckers
d2a4c19955 - let players check MF2_NOTRANSLATE so that mods can create player classes which are not subject to
default player color handling.



SVN r2198 (trunk)
2010-03-06 09:30:38 +00:00
Randy Heit
47a835698a - Final Doom needs its finale flats changed, too.
- It's "BGCASTCALL", not "BOSSBACK".

SVN r2196 (trunk)
2010-03-06 04:01:32 +00:00
Randy Heit
d19878efcb - Added BOOM/MBF BEX-style narrative background text substitution. There are two changes because
of this:
  * A cluster's flat definition can now be preceded by a $ to do a string table lookup.
  * Since the standard flat names are now in the LANGUAGE lump, the normal Dehacked substitution
    for these is no longer handled specially and so will not be automatically disabled merely
    by providing your own MAPINFO.

SVN r2195 (trunk)
2010-03-06 03:28:22 +00:00
Randy Heit
38c9bb1900 - Setting a Player.ColorRange now completely disables the translation rather than just
making it an identity map.

SVN r2194 (trunk)
2010-03-06 03:02:24 +00:00
Randy Heit
e78fd195d8 - Added support for the original games' player translations, including Hexen's table-based ones.
SVN r2193 (trunk)
2010-03-06 02:51:23 +00:00
Randy Heit
dfd963ba1a - Revert r2173.
SVN r2192 (trunk)
2010-03-05 23:09:31 +00:00
Randy Heit
5c4af020d9 - Fixed: CheckActorClass needed a NULL check.
SVN r2191 (trunk)
2010-03-05 03:43:51 +00:00
Randy Heit
f014b8f98b - Fixed: FFont::StringWidth() counted the ']' character of a named color escape sequence in
its width calculation.

SVN r2190 (trunk)
2010-03-05 03:41:48 +00:00
Randy Heit
fad9f251ec - Fixed: FSinglePicFont should set the character size by the scaled size of the texture.
SVN r2189 (trunk)
2010-03-05 03:31:20 +00:00
Randy Heit
758327f4b3 - Fixed: snd_musicvolume needs to check GSnd for NULL, since somebody might have set an
atexit for it, which gets executed after the sound system shuts down.
- Fixed: FPlayList::Backup() failed to wrap around below entry 0 because Position is
  unsigned now.

SVN r2188 (trunk)
2010-03-05 03:11:10 +00:00
Christoph Oelckers
61865b30be - Yet another piece of essentially broken code that has to go back in because some people had to abuse it:
Reinstated Doom's original code that made projectiles with the MF_NOCLIP flag set continue to exist even
  though the movement itself was never properly handled.
  Fortunately the game mode check formerly associated with this can be removed because none of the other games have
  any projectiles using MF_NOCLIP so at least it's no longer restricted to Doom...



SVN r2187 (trunk)
2010-03-04 08:24:49 +00:00
Randy Heit
ac042a7e93 - The console separator bars now get converted to something printable in Unicode for the log.
- Fixed: Only the last line of multi-line log output received Unicode treatment.

SVN r2186 (trunk)
2010-03-04 04:45:48 +00:00
Randy Heit
0ebace4883 - Add the game log to the crash report. I don't know why I didn't think to do this sooner.
Since we're already sending everything to a rich edit control hidden in the background,
  we can just grab its contents for the report.
- Use code page 1252 when previewing text files in the crash dialog.

SVN r2185 (trunk)
2010-03-04 02:17:34 +00:00
Randy Heit
dfde55d249 - Everything on the command line before the first switch with an unrecognized switch is
now added to -file. This was previously restricted to only .wad, .zip, .pk3, and .txt.
- You can now pass -file/-deh/-bex more than once on the command line, and they will all
  have effect.

SVN r2184 (trunk)
2010-03-03 04:29:40 +00:00
Randy Heit
5da2885d88 - Changed DArgs to use a TArray of FStrings instead of doing its own string vector management
in preparation for doing GatherFiles the "right" way.

SVN r2183 (trunk)
2010-03-02 04:51:16 +00:00
Randy Heit
4e2ca33ea9 - Fixed: DrawHudText() needs to verify that the character glyph is valid before accessing
its fields.

SVN r2182 (trunk)
2010-03-02 01:59:16 +00:00
Randy Heit
54b792a97f - V_GetFont() needs to check the font header.
SVN r2181 (trunk)
2010-02-26 20:19:43 +00:00
Randy Heit
d530fd7f90 - Added BMF (ByteMap Font) support. This was complicated somewhat by the fact that BMF can
specify a character advance separately from the glyph width. GetChar and GetCharWidth now
  return this value in place of the glyph width. (For non-BMF fonts, these should still
  return the same values as before.)

SVN r2180 (trunk)
2010-02-26 05:34:30 +00:00
Randy Heit
8ecafcc15a - Added A_CheckSightOrRange, with changes.
SVN r2179 (trunk)
2010-02-26 00:08:25 +00:00
Randy Heit
5523140890 - Explicitly setting the charset for the EM_SETCHARFORMAT message seems to do what I want.
SVN r2178 (trunk)
2010-02-24 04:23:01 +00:00
Randy Heit
0b2c2e1cb3 - Use the Unicode RichEdit control instead of the MBCS version, so as to enforce the use
of code page 1252 for output text. This is noticeable, for example, with the FMOD copyright
  notice where the copyright symbol appears as ゥ (halfwidth katakana small U) with code page 932.

SVN r2177 (trunk)
2010-02-24 04:17:14 +00:00
Randy Heit
ad54cfcf94 - Change the log window to use DejaVu Sans instead of Bitstream Vera Sans, because
Silverex's X-Chat comes with the former now. Unfortunately, I can't seem to actually
  set the font when my system default code page is 932, since it wants to use some Kanji-
  compatible font instead. I wonder if I can still use the Unicode RichEdit control with
  Windows 9x. (Does it even matter? Windows 9x users make up less than 0.1% of all visitors
  to zdoom.org these days.)

SVN r2176 (trunk)
2010-02-24 03:36:42 +00:00
Randy Heit
a1255c059d - Added -nostartup switch to disable the more graphical startup screens of Heretic, Hexen,
and Strife.

SVN r2175 (trunk)
2010-02-24 02:58:48 +00:00
Christoph Oelckers
350e72fb3e - added an option to disable player translations in single player games.
SVN r2173 (trunk)
2010-02-23 23:03:43 +00:00
Christoph Oelckers
a5c3c95b2f - added 2 DECORATE keywords from Skulltag as dummies.
SVN r2169 (trunk)
2010-02-19 08:10:04 +00:00
Christoph Oelckers
68194d13c8 - fixed some Chex Quest cheat codes.
SVN r2168 (trunk)
2010-02-17 22:38:17 +00:00
Christoph Oelckers
f02303d33c - added a lock parameter to Door_Animated.
SVN r2167 (trunk)
2010-02-17 22:25:48 +00:00
Christoph Oelckers
4b04b94414 - fixed: The monster pack's Afrit no longer worked.
SVN r2165 (trunk)
2010-02-14 23:59:17 +00:00
Christoph Oelckers
ea11eb9e3d - fixed: The Boom stair fix was done for Hexen stairs but must only be in the code for Doom stairs.
SVN r2162 (trunk)
2010-02-14 08:24:00 +00:00
Christoph Oelckers
6ec30761c6 - Added Boom's stairbuilding fix when one step couldn't be built due to an active thinker in the sector.
This is compatibility optioned with COMPAT_STAIRINDEX. Also added a compatibility setting for 
  Eternal Doom MAP25 which relies on Doom's original broken behavior.
- added a few sanity checks for duplicate actor names in DECORATE. ZDoom will now print more warnings
  and all crash cases should be properly handled but since this is still an error this will not work
  properly in all circumstances. For example, if you have a duplicate name all classes that inherit
  from the original definition will not survive a savegame if they reference a state belonging to that
  class at the point of saving.
- Print 'tried to register class more than once' in red to highlight it.
- fixed: actors may not replace themselves.

SVN r2158 (trunk)
2010-02-13 08:56:08 +00:00
Randy Heit
784aef8928 - Added checks for open and closed scripts sharing the same number to ensure that
FBehavior::FindScript() will always return the closed version. See Hexen MAP30 and MAP33.

SVN r2157 (trunk)
2010-02-13 05:15:32 +00:00
Christoph Oelckers
1df19e6375 - last fix was incomplete.
SVN r2156 (trunk)
2010-02-12 23:18:41 +00:00
Christoph Oelckers
33460a315a - fixed: DefHexenBindings still referred to some of Heretic's items that once were merged with the Hexen variants.
SVN r2155 (trunk)
2010-02-12 22:44:54 +00:00
Christoph Oelckers
113a438b01 - Fixed: Voodoo dolls must not check reactiontime in P_SlideMove.
SVN r2153 (trunk)
2010-02-11 17:10:01 +00:00
Christoph Oelckers
12a819cf7c - fixed GCC compile error in A_Mushroom.
SVN r2152 (trunk)
2010-02-07 08:22:23 +00:00
Christoph Oelckers
4310b239f4 - Added Gez's submission for Eternity-style skybox definitions.
SVN r2151 (trunk)
2010-02-06 15:31:26 +00:00
Randy Heit
ecb9d2f24b - Fixed: Closing doors early would never restart the sound sequence if it was manually placed.
SVN r2150 (trunk)
2010-02-02 05:19:43 +00:00
Randy Heit
1aa39baa4a - Fixed: "Animation <X> in ANIMATED has only one frame" message was missing a newline.
SVN r2149 (trunk)
2010-02-02 04:38:15 +00:00
Christoph Oelckers
3e8435e22c - added Gez's Plane_Copy submission with some extensions and improvements.
This line special is the last of the slope creation methods being processed so it can copy any other type of slope.


SVN r2147 (trunk)
2010-01-30 22:53:37 +00:00
Christoph Oelckers
fc2f95da0e - revert accidental commit.
SVN r2146 (trunk)
2010-01-30 19:28:41 +00:00
Christoph Oelckers
8a22712180 - fixed: Rocket trail particle positioning only worked when the rocket was moving.
SVN r2145 (trunk)
2010-01-30 14:49:15 +00:00
Christoph Oelckers
a5e1fe6906 - fixed: Sector_SetWind and Sector_SetCurrent were not usable in scripts called from a line.
- added Gez's A_Mushroom extension.


SVN r2144 (trunk)
2010-01-30 14:35:52 +00:00
Christoph Oelckers
24a12a04b4 - added a minimum threshold for damage thrust to avoid micro-velocities being set for actors.
- fixed: Strife's Oracle is not a living thing and needs the NOBLOOD flag.
- fixed: Chex Quest's finale pic was wrong.


SVN r2143 (trunk)
2010-01-30 13:48:44 +00:00
Christoph Oelckers
0246f2bf4d - fixed: Being resurrected by an Arch Vile did not restore flags5 and flags6 to the defaults.
SVN r2142 (trunk)
2010-01-30 13:08:52 +00:00
Christoph Oelckers
0997c608f2 - added a secret sector color to automap overlay.
- added a score display to both alt HUD and sbarinfo.
- simplified code for AltHud status values display.


SVN r2141 (trunk)
2010-01-30 09:17:44 +00:00
Christoph Oelckers
787c16301c - Fixed SBarInfo problem with hexenarmor.
SVN r2140 (trunk)
2010-01-28 23:51:56 +00:00
Christoph Oelckers
1f6c915abf - Fixed: ZDoom no longer reversed the clipping area on drawbar calls with a
border.
- Fixed: SBarInfo Interpolated aross a new Game.

SVN r2139 (trunk)
2010-01-28 23:50:20 +00:00
Christoph Oelckers
3f140c0549 - fixed: The line ID arg of Plane_Align was not handled in the wrong place. It was also missing from actionspecials.h and the UDMF spec.
SVN r2138 (trunk)
2010-01-28 23:46:38 +00:00
Randy Heit
5125e11d25 - Do not call midiOutSetVolume() when playing with the "Microsoft GS Wavetable Synth" on
Vista and above, because it doesn't do what you expect.

SVN r2136 (trunk)
2010-01-26 05:11:04 +00:00
Christoph Oelckers
8435033e08 - fixed: M_DrawSlider did not print the correct value if the slider's minimum was not 0 or the value was clamped.
SVN r2134 (trunk)
2010-01-25 08:10:48 +00:00
Christoph Oelckers
406b692cc9 - removed the TakeSpecialDamage hacks for Macil and the Oracle and replaced them by
giving the first stage Sigil's projectiles a damage type and using a damage factor
  to disable damaging these actors.


SVN r2129 (trunk)
2010-01-24 13:00:53 +00:00
Christoph Oelckers
8b9d8137fc - fixed: P_SpawnPuff must set the puff's owner before doing any state jumps.
SVN r2128 (trunk)
2010-01-24 09:46:31 +00:00
Christoph Oelckers
c363f169d7 - added PROP_BUDDHA option to SetPlayerProperty.
SVN r2127 (trunk)
2010-01-24 08:41:40 +00:00
Randy Heit
e190109c03 - Made conversation "mini responses" more prominent rather than packing them in with
the rest of the generic console output at the top of the screen.

SVN r2123 (trunk)
2010-01-23 21:26:07 +00:00
Randy Heit
2fc338db88 - Removed the integer clobbers from pow_x87_inline, since they interfered with PIC code and
appear unneeded.

SVN r2122 (trunk)
2010-01-23 20:48:24 +00:00
Randy Heit
7511c5385b - Added an input grid for controller-based string entry in the save game and player setup menus
(which I had forgotten to do for 2.4.0). If you don't use a controller to activate the string
  entry mode and keep your hands off the controller while typing, it remains invisible.

SVN r2121 (trunk)
2010-01-23 19:07:18 +00:00
Randy Heit
71b75f0d7a - Consolidated all conversation reply handling into a single function executed on all
machines, so when an NPC need to show the "enough" response, it has enough
  information available to do so.
- Some new Strife Teaser fixes I forgot to commit are in here.
- Moved norawinput check into FindRawInputFunctions().


SVN r2120 (trunk)
2010-01-22 05:17:57 +00:00
Christoph Oelckers
d547e89548 - added a CVAR to disable raw input in case it causes problems (like apparently on Wine.)
SVN r2118 (trunk)
2010-01-18 20:55:49 +00:00
Christoph Oelckers
16c638a598 - Fixed: SetMarineSprite tried to access the first owned state of the actor's class - but the weapon carrying marines own no states.
SVN r2117 (trunk)
2010-01-18 20:15:04 +00:00
Christoph Oelckers
7183a2f751 - Fixed: DrawSelectedInventory set the wrong variable and thus always used CR_GOLD as its translation.
- Fixed: Draw(Switchable)Image didn't handle the alpha value properly.

SVN r2116 (trunk)
2010-01-18 19:38:36 +00:00
Christoph Oelckers
6c9748b603 - ported a few cleanup changes from Gez's recent GZDoom patch.
- fixed: The sound channel structure should not store the sound table's entries' addresses which are stored in a TArray by pointer. In case the array gets reallocated very bad things can happen. This caused some bad crashes when GZDoom's FraggleScript implementation created new sound entries.


SVN r2114 (trunk)
2010-01-16 07:51:50 +00:00
Randy Heit
8de8924c47 - Fixed: The MAPINFO keyword resetinventory only worked when traveling to a redirected map.
SVN r2108 (trunk)
2010-01-08 03:40:10 +00:00
Randy Heit
6ba548511b - Fixed: Macil2 and the Oracle need to be immune to SpectralLightningV2 as well as V1, since
they are both created by the first-stage Sigil. AlienSpectre3 should have also been
  immune to them but was not. In addition, Macil1 was erroneously immune to V1, when he should
  not be immune to any spectral damage. (Though, since he's immortal, all that really amounts to
  is that he can enter his pain state.)

SVN r2106 (trunk)
2010-01-08 03:24:22 +00:00
Randy Heit
74a7293133 - Fix spelling error in comment.
SVN r2105 (trunk)
2010-01-08 02:17:49 +00:00
Randy Heit
2228c37985 - Fixed: Don't color the teleporter beacon's rebels in single player.
SVN r2104 (trunk)
2010-01-08 02:15:42 +00:00
Randy Heit
1e5b84ea14 - Fixed: I forgot to reimplement the number keys for Strife's dialogues when I redid the
menus to work with controllers.

SVN r2103 (trunk)
2010-01-08 02:10:05 +00:00
Randy Heit
870628dda5 - Split conversation initiation out of P_UseTraverse() and into a separate function. It no
longer piggy-backs off of Hexen's puzzle item traversal but instead works like Strife,
  using P_AimLineAttack() to find something to talk to and includes some slight left and right
  "autoaim". I can think of a few consequences of this:
  * Using puzzle items on actors has been restored to its original range of 64.
  * Since talking now depends on P_AimLineAttack() instead of a line use traversal, you can
    probably set up situations where you can talk to somebody that you couldn't talk to before
    because some special line was in the way.
  * You don't need to stick a guard flush against the wall to block players from using a switch
    behind them, because now the autoaim will get the player.

SVN r2102 (trunk)
2010-01-06 04:36:38 +00:00
Christoph Oelckers
f300948916 - fixed: Action Doom 2 and Harmony IWADs were missing the GI_MAPxx flag.
SVN r2100 (trunk)
2010-01-05 13:45:07 +00:00
Randy Heit
1aae2895f4 - Fixed: The player setup menu still drew the cursor at the original Y positions.
SVN r2098 (trunk)
2010-01-05 02:56:27 +00:00
Christoph Oelckers
4b64df6778 - fixed: The player setup menu used the main menu's line spacing which
for all non-Doom games was too wide.
- fixed: Strife's dialogues cannot use the new options menu code to draw
  themselves so now they use a stripped down version of the old code.
- Replaced I_MSTime with I_FPSTime in node builder timing because basetime
  will not be initialized yet if a map is started directly from the commandline.


SVN r2096 (trunk)
2010-01-03 10:04:56 +00:00
Randy Heit
8bbd90b200 - Merge latest ZDBSP changes into trunk.
SVN r2094 (trunk)
2010-01-03 01:03:44 +00:00
Randy Heit
56ab0e681d - Revert revision 2071.
SVN r2092 (trunk)
2010-01-03 00:54:34 +00:00
Christoph Oelckers
6b5089e53f - reverted r2089 because it didn't do what it was supposed to.
SVN r2091 (trunk)
2010-01-03 00:13:37 +00:00
Christoph Oelckers
1c2cc7bd3a - fixed: The GAMEINFO parser needs to use C mode.
SVN r2089 (trunk)
2010-01-02 23:37:43 +00:00
Christoph Oelckers
92b8ac26c0 - fixed: Polyobjects could contain segs that weren't flagged as such.
SVN r2081 (trunk)
2010-01-02 13:17:47 +00:00
Christoph Oelckers
435861d671 - fixed: Trying to show a popup crashed in the SBARINFO code because of a
missing NULL pointer check.


SVN r2080 (trunk)
2010-01-02 12:50:37 +00:00
Christoph Oelckers
ff95948017 SVN r2079 (trunk) 2010-01-02 12:40:07 +00:00
Christoph Oelckers
840fc6bfa3 - fixed: Only ActorMovers should go into STAT_ACTORMOVER, not all PathFollowers.
SVN r2078 (trunk)
2010-01-02 12:15:47 +00:00
Christoph Oelckers
efb420228c - fixed: SBARINFO's DrawGem command accepted a size value of 0 and divided
by it. Reinstated the old '+1' this command had in the old code.


SVN r2077 (trunk)
2010-01-02 12:03:36 +00:00
Christoph Oelckers
87f3c9c5b7 - fixed: The floor waggle code used FloatBobOffsets as sine table but this
only has 64 entries and is not precise enough. It now uses finesine instead.
- fixed: When compositing a multipatch texture any patch that is a multpatch
  texture itself and contains rotations may not be composited directly into
  the destination buffer. This must be done with an intermediate buffer.
- Fixed: Drawing a slider in the options menu did not scale the x-coordinate.
- Fixed: If the alt HUD had to draw negative numbers the minus sign was misplaced
  due to incorrect texture coordinate calculations.
- changed option menu scaling for widescreen modes so that it doesn't scale down
  so quickly. 
- made some error messages in DECORATE that don't affect the parsing non-fatal
  so that the parser can continue to find more problems.

SVN r2076 (trunk)
2010-01-02 11:38:27 +00:00
Christoph Oelckers
54283ee231 - unquoted strings should still work for GAMEINFO...
SVN r2074 (trunk)
2010-01-01 18:02:30 +00:00
Christoph Oelckers
90ea0c3f6f - added initial support for a GAMEINFO lump in PWADs. When the game is started
all files loaded with '-file' are scanned for this lump. This lump is read
  before any WAD initialization takes place, in particular the IWAD is not yet
  loaded at this time. This allows PWADs the option to specify an IWAD they 
  want to run with and optionally autoload external resource WADs.
- Fixed a few places where FixPathSeperator was called with a locked FString buffer.
  It's better to use the FString version of this function instead.


SVN r2073 (trunk)
2010-01-01 15:31:00 +00:00
Christoph Oelckers
370eff9014 - replaced wadlist_t with an array of FStrings and added a list parameter to
everything that eventually calls D_AddFile. Also create the list of files
  loaded on the command line separately to allow further checks on them.


SVN r2072 (trunk)
2010-01-01 12:40:47 +00:00
Christoph Oelckers
bf7ed6258b - fixed: The node builder did not check if all segs could be split properly.
Also removed some fudging that tried to work around this case but produced
  a broken BSP tree on other maps.



SVN r2071 (trunk)
2010-01-01 11:00:58 +00:00
Christoph Oelckers
9aa1e20c77 - Added Blzut3's Solaris patch.
SVN r2070 (trunk)
2010-01-01 09:21:04 +00:00
Christoph Oelckers
3f4f0a8ae4 SBARINFO update:
- Reorganized the SBarInfo code.
- Added interpolate(<speed>) flag to drawnumber, drawbar, and drawgem.  The old
  way of interpolating the health and armor is depreciated.
- Added: armortype to drawswitchableimage loosely based on Gez's submission.
- As an extension to the previous you can now use comparison operators on
  inventory items and armortype in drawswitchableimage.


SVN r2069 (trunk)
2010-01-01 09:11:55 +00:00
Randy Heit
038d99aea4 - Version bump to 2.4.0.
SVN r2065 (trunk)
2010-01-01 01:57:48 +00:00
Christoph Oelckers
b21eb894ae - reverted accidental commit
SVN r2064 (trunk)
2009-12-31 20:50:30 +00:00
Christoph Oelckers
3288d56cac - fixed: FastProjectile was missing all sky checks when the projectile's move
was blocked.


SVN r2063 (trunk)
2009-12-31 09:02:38 +00:00
Randy Heit
bcbf4c3c84 - Fixed: A_ThrowGrenade used the same code as the old fighter flechette, so
it was just as broken at aiming up and down.


SVN r2062 (trunk)
2009-12-31 06:13:47 +00:00
Christoph Oelckers
403ab51781 - needed one more change...
SVN r2061 (trunk)
2009-12-30 19:17:10 +00:00
Christoph Oelckers
fa452ffd41 - My ActorMover fix from earlier today was causing problems with moving sectors
because it exposed a design flaw in the thinker system:
  Having every single actor default to the highest available statnum means that 
  nothing can be placed in a slot where it is guaranteed to be run after all actors 
  have ticked. But this is required for any thinker that moves an actor 
  (i.e. AActorMover and DSectorEffect.) With DSectorEffect it just went unnoticed 
  because they were added at the end of the list so almost nothing they moved was
  behind them in a thinker list. However, when an actor was spawned on a moving 
  floor it did not move smoothly. The default statnum is now 100 so that there's 
  sufficient slots above where such thinkers can be placed.


SVN r2060 (trunk)
2009-12-30 18:53:14 +00:00
Christoph Oelckers
26c33afafb - fixed: Movement performed by actor movers was not interpolated because
it happened outside the moved actor's Tick function. This got particularly
  obvious with moving skybox viewpoints (See Daedalus's MAP21 intro for a good
  example.)


SVN r2059 (trunk)
2009-12-30 12:20:47 +00:00
Christoph Oelckers
66c2e4b540 - Added ACS stubs for GZDoom's new SetGlobalFogParameter action special.
SVN r2058 (trunk)
2009-12-29 22:53:45 +00:00
Randy Heit
64789b9111 - Fixed: Shooting up and down with AArtiPoisonBag3::Use() was completely
broken. I don't know what I thinking when I plugged in 2*finesine[pitch]
  for Hexen's lookdir, because that's totally wrong. Not only is the
  magnitude far too low, but it also aims in the opposite direction you
  are looking. The new code only attempts to be close to Hexen's original
  while looking straight ahead and extrapolates that to other angles using
  proper 3D math.


SVN r2057 (trunk)
2009-12-29 04:50:56 +00:00
Christoph Oelckers
9b5c2c81f1 - Added full sound definitions for Heretic's ChickenPlayer and Hexen's
PigPlayer (submitted by NeuralStunner.)
- Added unmorph fix by Gez.


SVN r2056 (trunk)
2009-12-28 22:41:14 +00:00
Christoph Oelckers
3d40dbb659 - merged all portals with the same displacement together. While this provides
a mild performance increase it's not what I hoped it would do...
- Moved portal initialization for the portal things to P_SpawnSpecials
  instead of having the things self-initialize in PostBeginPlay. This was
  done to ensure that the portals are fully set up when the game begins.
  Otherwise there is no decent way to let the renderer post-process this
  information during setup.
- Changed: For 800x600 the default scaling handling of the options menu
  makes it become too small so for any resolution with a width between 
  800 and 959 it has been reverted to the regular clean scaling factor.


SVN r2055 (trunk)
2009-12-28 17:13:30 +00:00
Christoph Oelckers
b6557a82ff - added Hirogen2's Backpack fix for sv_unlimited_pickup.
SVN r2054 (trunk)
2009-12-28 00:07:04 +00:00
Christoph Oelckers
4a8518e4f1 - added a 'copy portal' option so that linedef-based portals can be transferred to sectors that already have a tag.
SVN r2053 (trunk)
2009-12-28 00:01:07 +00:00
Christoph Oelckers
3f059898fd - added a linedef based method to define portals. Portals defined this way
still have the same limitations as those defines with the portal things.


SVN r2052 (trunk)
2009-12-27 15:50:35 +00:00
Christoph Oelckers
69270937dd - crash fix for real this time.
SVN r2051 (trunk)
2009-12-26 07:29:29 +00:00
Christoph Oelckers
07dba2b4fe - The crash state must still be activatable by actors that have MF_CORPSE but not MF6_KILLED.
SVN r2050 (trunk)
2009-12-25 22:57:42 +00:00
Christoph Oelckers
abd9c62983 - fixed usedown code from this morning.
SVN r2049 (trunk)
2009-12-25 16:22:57 +00:00
Christoph Oelckers
350b5943f6 - added PRINT_LOG option to all of the node builder's debug messages because outputting them
to the console takes forever and makes them useless as a debug tool.


SVN r2048 (trunk)
2009-12-25 13:43:08 +00:00
Christoph Oelckers
23caac1c9b - Fixed: Decals could spread to walls which had a decal-less texture or
were flagged not to have decals.
- Fixed: DBaseDecal/DImpactDecal::CloneSelf never checked the return value
  from their StickToWall call and left unplaced decals behind if that happened.


SVN r2046 (trunk)
2009-12-25 11:59:37 +00:00
Christoph Oelckers
85c683e0c7 - Reintroduced Doom.exe's player_t::usedown variable so that respawning a
player does not immediately activate switches. oldbuttons was not usable
  for this. This also required that CopyPlayer preserves this info.
- Fixed: When restarting the music there was a NULL pointer check missing
  so it crashed when the game was started wi
- Fixed: If the Use key is used to respawn the player it must be cleared
  so that it doesn't trigger any subsequent actions after respawning.
- Fixed: Resurrecting a monster did not restore flags5 and flags6.
- Fixed: Projectiles which killed a non-monster were unable to determine
  what precisely they hit because MF_CORPSE is only valid for monsters.
  A new flag, MF6_KILLED that gets set for all objects that die, was added
  for this case.
- Added a generic A_Weave function that exposes all possible options of
  A_BishopMissileWeave and A_CStaffMissileSlither. These 2 functions are
  no longer needed from DECORATE and therefore deprecated.


SVN r2045 (trunk)
2009-12-25 11:09:56 +00:00
Randy Heit
b3986a0235 - The options menu no longer scales up so quickly, so it can fit wider text
onscreen. In addition, it now uses the whole height available to it. Also,
  at lower resolutions, items on the compatibility options menu now cut off
  the beginning of the option label rather than the option setting, making
  this menu useable where previously it was not.


SVN r2044 (trunk)
2009-12-25 05:55:51 +00:00
Randy Heit
9eb5fdd276 - Added a channel parameter to the sector overload of SN_StopSequence() so
it can be properly paired with calls to SN_StartSequence().


SVN r2043 (trunk)
2009-12-25 02:19:50 +00:00
Randy Heit
f667e68c94 - Fixed: P_CheckPlayerSprites() ignored the MF4_NOSKIN flag. It now also sets
the X scale, so switching skins while morphed does not produce weird
  stretching upon unmorphing.


SVN r2042 (trunk)
2009-12-25 01:02:19 +00:00
Randy Heit
6beaf818e3 - Fixed: Calling S_ChangeMusic() with the same song but a different looping
flag now restarts the song so that the new looping setting can be applied.
  (This was easier than modifying every music handler to support modifying
  loop changes on the fly, which seems like overkill.)


SVN r2041 (trunk)
2009-12-25 00:41:15 +00:00
Randy Heit
735294884e - Fixed: savepatchsize was declared incorrectly in d_dehacked.cpp:DoInclude().
SVN r2040 (trunk)
2009-12-25 00:34:34 +00:00
Randy Heit
5aa673baad - Changed AFastProjectile::Effect() so that it sets the spawned trail to face
same direction as the projectile.


SVN r2039 (trunk)
2009-12-25 00:24:54 +00:00
Randy Heit
d2a4339816 - Split weaveindex into two separate byte-sized properties and moved them into unused space
inside AActor.

SVN r2038 (trunk)
2009-12-25 00:19:28 +00:00
Christoph Oelckers
611834ea2a - fixed: The UDMF blockfloaters flag was misnamed. Changed to match the spec.
SVN r2037 (trunk)
2009-12-24 23:31:06 +00:00
Christoph Oelckers
b0b80f6996 - made the initial weave index for A_BishopMissileWeave and A_CStaffMissileSlither
a configurable actor property.
- added a menu item for snd_channels.



SVN r2036 (trunk)
2009-12-23 11:41:24 +00:00
Christoph Oelckers
cc3b7967a1 - Fixed: The Dehacked parser could read past the end of the file if the last
element was improperly defined.


SVN r2035 (trunk)
2009-12-20 19:14:10 +00:00
Randy Heit
00447b8f44 - Extended MF3_SKYEXPLODE to apply to horizon walls as well.
SVN r2034 (trunk)
2009-12-20 05:11:30 +00:00
Christoph Oelckers
bdd1203aca - Fixed: It was not possible to set the ammo type of a weapon explicitly to
'none'.


SVN r2033 (trunk)
2009-12-19 07:44:04 +00:00
Randy Heit
d8a2387c39 - A_FreezeDeath() now removes fuzz effects.
- In mus2midi.cpp, added range checking to MUS_SYSEVENT and MUS_CTRLCHANGE,
  and masking for note-off keys, note-on velocities, and program changes.


SVN r2032 (trunk)
2009-12-19 04:54:04 +00:00
Christoph Oelckers
51e158d7dc - added all known maps requiring inverted sprite sorting to compatibility.txt.
- added compatibility option to invert sprite sorting. Apparently Doom.exe
  originally sorted them differently than most source port and on some maps
  which depends on this it doesn't look right (e.g. Strain MAP13)


SVN r2031 (trunk)
2009-12-18 08:19:34 +00:00
Randy Heit
0a4d860ec7 - Fixed: Using Transfer_Heights with the SECF_UNDERWATER and
SECF_FAKEFLOORONLY flags applied the water effect to the ceiling and not
  just the floor.


SVN r2030 (trunk)
2009-12-18 05:38:14 +00:00
Randy Heit
0e3c1dc33e - Add a swap overload to make GCC happy.
SVN r2029 (trunk)
2009-12-18 04:58:20 +00:00
Randy Heit
f6428e1cbb - Replaced sprite sorting with a stable sort. Performance at the start of
nuts.wad seems the same.


SVN r2028 (trunk)
2009-12-18 03:05:38 +00:00
Christoph Oelckers
1c5103c9b1 - Fixed: Morphed players tried endlessly to switch to a weapon they picked up.
SVN r2027 (trunk)
2009-12-16 22:42:15 +00:00
Christoph Oelckers
fdec06ff9b - fixed:P_DamageMobj just set an ice corpse's velocity to 0 to make it shatter.
But that's insufficient because it doesn't factor in any subsequent velocity
  change that happens between the damaging and the next call to A_FreezeDeathChunks.
- fixed: The TimeFreezer did not freeze other players' controls in a
  multiplayer game.
- fixed: DECORATE's 'gravity' property incorrectly messed around with the
  NOGRAVITY flag.
- fixed: Hitscan attacks didn't check the puff's replacement for damage types.


SVN r2026 (trunk)
2009-12-16 16:09:48 +00:00
Christoph Oelckers
ba106c28c4 - fixed: old-style DECORATE definitions with non-alphanumeric characters in
the name produced an error.


SVN r2025 (trunk)
2009-12-13 22:22:25 +00:00
Randy Heit
28c23edb2f - Added a DMG_NO_FACTOR flag for P_DamageMobj(). A_KillChildren, A_KillMaster,
and A_KillSiblings now use it.


SVN r2024 (trunk)
2009-12-13 05:04:12 +00:00
Randy Heit
b3d2a1f074 - Added a damage type parameter to A_KillChildren, A_KillMaster, and
A_KillSiblings. 


SVN r2023 (trunk)
2009-12-13 04:59:19 +00:00
Christoph Oelckers
2fb2c79887 - fixed: Auto-COMPAT_SHORTTEX for IWADs must be set per IWAD, not in general
for Doom.
- added autodetection of Harmony's IWAD.


SVN r2022 (trunk)
2009-12-11 09:21:08 +00:00
Randy Heit
20e265f8fb - Fixed: You should still be able to pick up ammo that has a max amount set at 0.
- Added a few NULL screen checks.


SVN r2019 (trunk)
2009-12-11 06:20:35 +00:00
Christoph Oelckers
ee4b9ed09b - added some code that prevents overlapping monsters from getting stuck in
each other. PIT_CheckThing will return true under the following contitions 
  now:
  * It was called from P_Move
  * The actor that is blocking the move already overlaps with the monster
    that is being moved.
  * the move will take the 2 actors further apart.  


SVN r2018 (trunk)
2009-12-06 22:10:25 +00:00
Randy Heit
88b4ab52ad - For windowed and pixel doubled modes, use a chain of two TempRenderTextures and
swap between them each frame. The one that's not the TempRenderTexture is used
  as the FrontCopySurface without the need for a copy operation. This removes the
  performance penalty the previous commit introduced for these modes.

SVN r2014 (trunk)
2009-12-02 05:49:45 +00:00
Randy Heit
d924575b1e - Fixed: After the previous screenwipe changes, the melt type no longer worked
properly in letterboxed modes.
- Added another surface to receive a copy of the top back buffer immediately
  before it is presented. This effectively produces a copy of the front
  buffer without the performance penalty of GetFrontBufferData, so fullscreen
  wipe preparation and screenshots are faster now. At lower resolutions,
  always copying the backbuffer does incur a slight FPS hit, but it's
  practically free at higher resolutions.


SVN r2013 (trunk)
2009-12-02 05:02:40 +00:00
Randy Heit
80034135ef - The initial wipe screen is now kept in video memory. I had previously
assumed that since the wipes only run at 35 FPS, the time spent DMA'ing
  it from system to video memory would be acceptable. Apparently I was wrong.
  In particular, updating the same surface several times probably has to
  synchronize between each one, making melt particularly slower than it
  needs to be.


SVN r2012 (trunk)
2009-12-01 03:15:00 +00:00
Randy Heit
f722b10294 - Increase STEEPSLOPE by 1, because the new FIXED2FLOAT rounds toward nearest, and this
makes 45 degree slopes unclimbable again.

SVN r2011 (trunk)
2009-12-01 01:15:49 +00:00
Christoph Oelckers
17553cfbf6 - fixed: Line_SetBlocking and Line_SetTextureScale were not in the list
of action specials used by DECORATE or MAPINFO.
- fixed: Teleport_NoStop was not in the line special function table.


SVN r2010 (trunk)
2009-11-29 11:24:01 +00:00
Randy Heit
26f14f439b - Fixed: The FPS meter cannot use I_MSTime(), because if the game is started
with +vid_fps 1, it can need the time before the timer is ready to start.


SVN r2009 (trunk)
2009-11-29 02:57:09 +00:00
Randy Heit
a5c8b33f10 - Initialize TempRenderTexture and the back buffer to black upon creation.
SVN r2008 (trunk)
2009-11-29 02:42:20 +00:00
Randy Heit
cdb26a9b28 - Fixed: Windowed mode always needs to draw to the temporary surface, even
when not gamma correcting, so that D3DFB::GetCurrentScreen() can read from
  it.


SVN r2007 (trunk)
2009-11-29 02:33:52 +00:00
Randy Heit
4edd51eb09 - Use the spawned class's scale as default for ScriptedMarine instead of
DoomPlayer.


SVN r2006 (trunk)
2009-11-29 01:56:22 +00:00
Christoph Oelckers
d14faa5f98 - fixed: Morph weapons weren't destroyed because the code checked for
them in the unmorphed player class.
- fixed: With padding the largest texture to fit into a page is 254x254.


SVN r2005 (trunk)
2009-11-28 07:46:30 +00:00
Christoph Oelckers
f3b19fcca2 - fixed an uninitialized variable in p_xlat.cpp .
SVN r2004 (trunk)
2009-11-27 21:45:17 +00:00
Christoph Oelckers
53a6ffee15 - fixed: The charge attack of Heretic's imp is not precisely the same
as A_SkullAttack with a different speed so A_ImpMsAttack has been
  reinstated.


SVN r2003 (trunk)
2009-11-27 13:23:02 +00:00
Randy Heit
787f00abf9 - Make the palette indexes used by FRemapTable subject to the global remap
table, just as the images they translate are.


SVN r2002 (trunk)
2009-11-26 03:16:54 +00:00
Christoph Oelckers
5d7670acc4 - Added MF4_ALLOWPARTICLES checks to blood spawning code.
SVN r2001 (trunk)
2009-11-24 22:28:38 +00:00
Christoph Oelckers
233e662a92 - Fixed: EV_DoDonut, EV_DoElevator and EV_StartWaggle did not to any 0-tag checks.
SVN r2000 (trunk)
2009-11-24 07:38:11 +00:00
Christoph Oelckers
f94c9ce81d - Fixed: Not all places checking for player start spots above 4 did it correctly.
The editor number for player start spot 5 is now stored in the game info
  so that there's only one place where this check needs to be done.
- Fixed: WIF_NOAUTOAIM only worked for projectiles unlike Skulltag's original
  implementation.


SVN r1997 (trunk)
2009-11-24 06:55:38 +00:00
Randy Heit
53b1b7efab - Added Windows 7 (aka Windows NT 6.1) and Server 2008 identification to
I_DetectOS().


SVN r1996 (trunk)
2009-11-24 04:29:36 +00:00
Randy Heit
f305b2f70c - Fixed: FWadCollection::AddFile() did not call FixPathSeperator(), so
savegames would hold the full file path for wads that had been specified
  with backslash characters, because GetWadName() would not trim off the
  path.


SVN r1994 (trunk)
2009-11-24 02:26:01 +00:00
Randy Heit
a97f22bfcd - Scan backwards for classes in FArchive::ReadClass().
SVN r1993 (trunk)
2009-11-24 01:37:54 +00:00
Christoph Oelckers
9357ed82ed - extended Doom map format linedef translator so that it also handles the flags.
SVN r1992 (trunk)
2009-11-21 23:11:12 +00:00
Randy Heit
82db01f5ef - Forgot xs_Float.h with previous commit.
SVN r1991 (trunk)
2009-11-20 06:01:10 +00:00
Randy Heit
344dda4a1a - Replaced toint/quickertoint with the portable routines from xs_Float.h. The
former used fistp, which is not portable across platforms, so cannot be
  used in the play simulation. They were only suitable for the renderer.
  xs_Float.h also has a very fast float->fixed conversion, so FLOAT2FIXED
  uses that now.
  (And I also learned that the FPU's round to nearest is not the rounding I
  learned in grade school but actually Banker's Rounding. I had no idea.)
  (Also, also, the only thing that could have made quickertoint faster than
  toint was that it stored a 32-bit int. I never timed them, and I doubt in
  practice there was any real difference between the two.)
- Changed atan2f to atan2. Using floats is not a win, because the result is
  returned as a double on the x87 stack, which the caller then needs to cast
  down to a float using fst/fld.

SVN r1990 (trunk)
2009-11-20 05:34:20 +00:00
Christoph Oelckers
eca9b4981b - fixed the R_PointToAngle fix from r1985.
SVN r1989 (trunk)
2009-11-19 07:21:10 +00:00
Randy Heit
2b5f765982 - Added padding around packed textures to compensate for apparent NVidia
texture coordinate imprecision.


SVN r1988 (trunk)
2009-11-19 01:49:19 +00:00
Randy Heit
51eb6465a2 - Fixed two bugs in FMODSoundRenderer::HandleChannelDelay():
* Looping sounds that have been playing for a very long time, were evicted,
    and then were restarted need to have their positions clamped to lie
    within the bounds of the sounds. If we try to set a start position very
    far beyond the end, it will overflow inside FMOD and not work.
  * A start time of 0 is not actually valid and means the sound was never
    assigned a start time.
- The latter bug also reveals a problem with starting looped sounds evicted:
  They need to be assigned a start time so if they should have the opportunity
  to start later, they will be properly synchronized.


SVN r1987 (trunk)
2009-11-18 04:45:20 +00:00
Christoph Oelckers
424c6e8963 - fixed: P_NowayTraverse was called with a trace distance of 128 instead of
the 64 that should have been used.


SVN r1986 (trunk)
2009-11-17 23:09:21 +00:00
Christoph Oelckers
23d0d70ea6 - fixed: R_PointToAngle could overflow with very long vectors passed to
it. This caused rendering bugs on some maps. (Interestingly the only
  other port having a safeguard for this in place was PrBoom.)


SVN r1985 (trunk)
2009-11-17 13:50:46 +00:00
Christoph Oelckers
53a717673f - reverted the change that makes 0-damage projectiles call P_DamageMobj.
Both Hexen and Heretic depend on such projectiles not doing it as do many
  mods that create snow/rain effects plus any terrain splash mod.


SVN r1984 (trunk)
2009-11-17 07:18:19 +00:00
Christoph Oelckers
3a198a29dc - fixed: fullscreen images with texture scaling used the unscaled size for
positioning. To avoid future problems with them I added a new DTA_Fullscreen
  option for DrawTexture.


SVN r1983 (trunk)
2009-11-15 14:33:35 +00:00
Christoph Oelckers
6161702703 - fixed: The sky baseline position needs to take texture scaling into account.
SVN r1982 (trunk)
2009-11-15 08:11:14 +00:00
Randy Heit
6310f32843 - Do not squash skies taller than 200 into square pixels.
SVN r1981 (trunk)
2009-11-15 01:04:58 +00:00
Christoph Oelckers
d01c402755 - Added skillinfo fix by Gez.
SVN r1980 (trunk)
2009-11-14 08:50:23 +00:00
Christoph Oelckers
b57ac1aed8 - added a r_scaletallskies CVAR so that sky positioning can be checked
more easily.
- fixed: Skies with a height of exactly 200 pixels should not be stretched.

SVN r1979 (trunk)
2009-11-14 07:52:14 +00:00
Randy Heit
84fda053ba - More sky changes: Textures taller than 200 pixels but shorter than 241
are scaled to the height of a 200 pixel tall sky. Skies taller than 240
  use the same scale as a 240 tall sky but are shifted down to make the
  top of the texture align with the top of the screen when looking fully up.
  Thus, by using a sky texture with a height of 240 or more pixels, the sky
  will be drawn with square pixels instead of the vertically elongated ones
  imposed by Doom's native 320x200 resolution.


SVN r1978 (trunk)
2009-11-14 03:08:35 +00:00
Christoph Oelckers
e0734b3c2d - ported GZDoom's new 'skyoffset' ANIMDEFS option for compatibility purposes.
SVN r1977 (trunk)
2009-11-13 21:28:39 +00:00
Randy Heit
363dfcffbd November 12, 2009
- Improved sky stretching a bit: It now only stretches the sky as tall as it
  needs to be: 228 pixels, not 256. It no longer stretches horizontally,
  either.
  
  The reason it stretches to 228 and not 200 pixels is because Doom shifted
  its sky texture down 28 pixels. By stretching to 228 pixels, we can keep
  the sky tiled at the same height on the horizon. Skies 200 pixels tall
  (or more) will continue to tile at the center of the screen when looking
  directly ahead.


SVN r1976 (trunk)
2009-11-13 04:38:03 +00:00
Randy Heit
a0e7cdb73d - Cleaned up win32/i_system.cpp.
- Put back the previous event-driven ticker, except now the timer isn't
  started until the first time it is needed.


SVN r1975 (trunk)
2009-11-13 03:55:23 +00:00
Randy Heit
f09420fce7 - Modified the event-driven ticks to use the same code for calculating the
time as the polled timer so that the timer does not start running until the
  first time it is used.
- Removed the srand() call from D_DoomMain(), because it started the game
  timer running prematurely, and we never call rand() anywhere. (Not to
  mention, even if we did use rand(), always seeding it with 0 is rather
  pointless.)


SVN r1974 (trunk)
2009-11-12 03:45:51 +00:00
Randy Heit
7b7973c6a7 - Fixed: The framerate was not capped before starting a game.
SVN r1973 (trunk)
2009-11-12 03:14:10 +00:00
Randy Heit
30b21b2eea - Removed the one embedded DeHackEd lump restriction.
SVN r1972 (trunk)
2009-11-12 02:47:28 +00:00
Randy Heit
4fed0f8057 - Fixed: nofreeaim in P_SpawnPlayerMissile() was broken.
SVN r1971 (trunk)
2009-11-12 01:21:25 +00:00
Randy Heit
281b2f5637 - Fixed: MBF sky Y offsets were ignored. X offsets should also be applied to
the sky cylinder, not the screen like Hexen scrolling skies.


SVN r1970 (trunk)
2009-11-12 01:05:55 +00:00
Randy Heit
653e2dd1f0 - Whoops!
SVN r1969 (trunk)
2009-11-10 04:24:20 +00:00
Randy Heit
f1a672254d - Fixed: Do not use scaled texture width when calculating xiscale.
SVN r1968 (trunk)
2009-11-10 03:40:54 +00:00
Randy Heit
a0d6a47daf - Maps inside zips can now satisfy the map checks for IWAD detection.
- Fixed: F7ZFile did not delete its Archive when destroyed.


SVN r1967 (trunk)
2009-11-10 02:29:18 +00:00
Randy Heit
de8ec46c06 - Fixed: R_GetOneSkyColumn() and R_GetTwoSkyColumns are mulscaling an
unsigned integer that can use all 32 bits. They must therefore use
  the unsigned mul instruction rather than the signed imul instruction.
- Fixed several signed/unsigned comparison and possibly uninitialized
  variable warnings flagged by GCC.


SVN r1965 (trunk)
2009-11-08 02:51:22 +00:00
Christoph Oelckers
d8acbf71fa - fixed: The 'new format only' flag for MAPINFO options was never checked.
(ZDoom itself doesn't use it yet so it's only relevant for child ports.)



SVN r1964 (trunk)
2009-11-06 06:56:25 +00:00
Randy Heit
704895f9b9 - Fixed: S_RestartSound() cleared the evicted flag even if the sound
was not restarted because it was too close to too many other identical
  sounds that were already playing.


SVN r1962 (trunk)
2009-11-04 02:37:05 +00:00
Randy Heit
fb74d9b1ec - Added virtual status and audibility to the noise debug display.
SVN r1961 (trunk)
2009-11-04 02:07:39 +00:00
Randy Heit
f1738b0e03 - Added a command line option -warpwipe to perform the screen wipe if you
start with -warp or +map.


SVN r1960 (trunk)
2009-11-04 01:24:00 +00:00
Christoph Oelckers
a02e8c0b06 - GCC fix of r_segs.cpp - again...
SVN r1959 (trunk)
2009-11-02 17:02:12 +00:00
Randy Heit
358b2421ad - Fixed: Decals would not use the shading colormap anymore.
SVN r1958 (trunk)
2009-11-02 01:02:23 +00:00
Christoph Oelckers
adbc9771b7 - yet another GCC compile fix.
SVN r1957 (trunk)
2009-11-01 06:45:47 +00:00
Randy Heit
ddf1afb82b - Shift player sprites down half a pixel. Interestingly, this makes vertical
scaling much closer between software and hardware.

SVN r1956 (trunk)
2009-11-01 01:35:11 +00:00
Randy Heit
4ebfdac887 - Changed all coordinates for DrawTexture() to floating point so that the
player sprites will retain the same precision they had when they were
  rendered as part of the 3D view. (needed for propery alignment of flashes
  on top of weapon sprites) It worked just fine for D3D, but software
  rendering was another matter. I consequently did battle with imprecisions
  in the whole masked texture drawing routines that had previously been
  partially masked by only drawing on whole pixel boundaries. Particularly,
  the tops of posts are calculated by multiplying by spryscale, and the
  texture mapping coordinates are calculated by multiplying by dc_iscale
  (where dc_iscale = 1 / spryscale). Since these are both 16.16 fixed point
  values, there is a significant variance. For best results, the drawing
  routines should only use one of these values, but that would mean
  introducing division into the inner loop. If the division removed the
  necessity for the fudge code in R_DrawMaskedColumn(), would it be worth it?
  Or would the divide be slower than the fudging? Or would I be better off
  doing it like Build and using transparent pixel checks instead, not
  bothering with skipping transparent areas? For now, I chop off the
  fractional part of the top coordinate for software drawing, since it was
  the easiest thing to do (even if it wasn't the most correct thing to do).


SVN r1955 (trunk)
2009-11-01 01:27:33 +00:00
Christoph Oelckers
a4f4994e18 - re-fixed polyobject CheckSwitchRange so that it doesn't have to alter the polyobject's linedefs.
SVN r1954 (trunk)
2009-10-30 07:03:26 +00:00
Randy Heit
da3daa0721 - Fix incorrect fix from previous commit.
SVN r1953 (trunk)
2009-10-30 03:53:00 +00:00
Randy Heit
4252cd52ad - Fixed: Sprites and decals that are drawn with addition must fade to black.
SVN r1952 (trunk)
2009-10-30 03:46:51 +00:00
Randy Heit
321ab2f686 - Make TranslateToStartSpot() set the new sector references for a polyobj's
walls so that P_CheckSwitchRange() will work with them.


SVN r1951 (trunk)
2009-10-30 03:29:15 +00:00
Randy Heit
0f96ec4a32 - Fixed: An unspecified save_dir will now save to the program directory on
Windows. (Other operating systems already use the user's home directory
  instead.)


SVN r1950 (trunk)
2009-10-30 02:42:40 +00:00
Randy Heit
50b0340a56 - Fixed: S_EvictAllChannels() must replace the channel's start time with its
position when evicting sounds, because restarting the sound system causes
  the DSP clock to restart at 0, so start times that were recorded before
  the reset are no longer applicable after the reset.
- Fixed: S_StopChannel() always set the channel's actor to NULL, eliminating
  origin information when resetting the sound system.


SVN r1949 (trunk)
2009-10-30 02:18:07 +00:00
Randy Heit
0e5f48adb4 - Quoth Gez:
* when a logical condition was rewritten and inverted, one of the boolean test wasn't inverted along the rest. So the "monster must not be a player" was accidentally changed into "monster must be a player", which is usually going to be false... There's another minor, but related issue.

SVN r1948 (trunk)
2009-10-30 00:59:34 +00:00
Christoph Oelckers
aea4e38241 - GCC compile fix.
SVN r1947 (trunk)
2009-10-29 06:32:50 +00:00
Randy Heit
d082266365 - Added Gez's patch for IWAD detection of Blasphemer and Action Doom 2.
SVN r1946 (trunk)
2009-10-29 05:51:20 +00:00
Randy Heit
059be338b4 - Guess we don't need this FORCEPAIN check in PIT_CheckThing() anymore.
SVN r1945 (trunk)
2009-10-28 23:28:09 +00:00
Randy Heit
e5d6256c2d - Fixed: 0 damage projectiles did not call P_DamageMobj.
SVN r1944 (trunk)
2009-10-28 23:25:27 +00:00
Randy Heit
df317801bf - Fixed: Do not exit P_DamageMobj early if damage is 0, so we can still get
the side effects from it. PainThreshold also needs to be inclusive, as
  the docs already state.


SVN r1943 (trunk)
2009-10-28 23:14:20 +00:00
Randy Heit
1c3de33585 - Make A_MonsterRail() and A_CustomRailgun() aim at the target anyway even
if P_AimLineAttack() decides it has no chance of hitting.

SVN r1942 (trunk)
2009-10-27 04:16:55 +00:00
Randy Heit
efaa26959e - Changes to both A_MonsterRail() and A_CustomRailgun(): Save actor's pitch,
use a larger aiming range, and ignore non-targets in P_AimLineAttack().
- Added another parameter to P_AimLineAttack(): A target to be aimed at. If
  this is non-NULL, then all actors between the shooter and the target will
  be ignored.


SVN r1941 (trunk)
2009-10-27 03:59:29 +00:00
Randy Heit
750659a82e - Added new sound sequence ACS functions:
SoundSequenceOnActor(int tid, string seqname);
    SoundSequenceOnSector(int tag, string seqname, int location);
    SoundSequenceOnPolyobj(int polynum, string seqname);
  SoundSequenceOnSector takes an extra parameter that specifies where in the
  sector the sound comes from (floor, ceiling, interior, or all of it). See
  the SECSEQ defines in zdefs.acs.


SVN r1939 (trunk)
2009-10-27 02:43:00 +00:00
Randy Heit
be3bb0093a - Fixed: R_RenderDecal() must save various Wall globals, because the originals
may still be needed. In particular, when drawing a seg with a midtexture is
  split by foreground geometry, the first drawseg generated from it will have
  the correct WallSZ1,2 values, but subsequent ones will have whatever
  R_RenderDecal() left behind. These values are used to calculate the upper
  and lower bounds of the midtexture. (Ironically, my work to Build-ify things
  had done away with these globals, but that's gone now.)


SVN r1938 (trunk)
2009-10-27 01:53:47 +00:00
Christoph Oelckers
5ab4159e76 - fixed damage calculation for OLDRADIUSDMG case of P_RadiusAttack.
SVN r1937 (trunk)
2009-10-25 23:12:00 +00:00
Christoph Oelckers
7e2e62fd5c - fixed: sector_t::GetHeightSec checked the wrong MoreFlags.
SVN r1936 (trunk)
2009-10-25 19:39:43 +00:00
Christoph Oelckers
cc2b0b0dcf - made max. view pitch a property of the renderer so that it's overridable without
changing game code.
- made SpawningMapThing an argument of AActor::StaticSpawn instead of a global
  variable.
- added a stub to the DECORATE parser for defining dynamic lights directly
  in DECORATE. This is needed so that ZDoom remains compatible with any DECORATE 
  which uses this GZDoom feature in the future.


SVN r1935 (trunk)
2009-10-25 15:26:19 +00:00
Randy Heit
19b23f2cf3 - Removed the Actor uservar array and replaced it with user-defined variables.
A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
  instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
  have been added to access elements in user-defined arrays.


SVN r1933 (trunk)
2009-10-25 02:19:51 +00:00
Randy Heit
f40462dfb4 - Rewrote wide sky texture scaling again. This time, it should work for any
size textures at any scale. I also tried doing sky scrolling on the sky
  cylinder, but that didn't look so good, so I left it in screen space.


SVN r1932 (trunk)
2009-10-24 23:42:58 +00:00
Randy Heit
1a6d7b6eca - Fixed: When giving completely new ammo, the backpack did not clamp the
amount given to the ammo's max amount.


SVN r1931 (trunk)
2009-10-24 05:02:49 +00:00
Randy Heit
1c9b693087 - Fixed drawing of wide high resolution skies. (At least for the samples I
received. I'm not convinced that it's yet fixed for the general case.)


SVN r1930 (trunk)
2009-10-24 04:39:36 +00:00
Christoph Oelckers
788f17323c - fixed: Setting the first state's duration of a fast projectile to 0 caused
an underflow and blocked all further state changes.


SVN r1929 (trunk)
2009-10-19 17:17:06 +00:00
Christoph Oelckers
8390184839 - fixed: FMultiPatchTexture::MakeTexture was missing a range check for the
special colormap index.


SVN r1928 (trunk)
2009-10-18 14:08:32 +00:00
Christoph Oelckers
dcd4c7fe7a - Fixed: 3DMidtex checks were treating the Null texture as a valid texture.
SVN r1927 (trunk)
2009-10-17 15:12:18 +00:00
Christoph Oelckers
0c39b5c66a - Fixed: The rail sound used the shooter's position for calculating the sound origin
but should use the camera position instead to get the correct position for
  the closest point along the trail.
- Fixed: Explosions no longer caused splashes.
- Fixed: Copying translations to lower decals had the shade color check wrong.
- Fixed: Waggling floors did not move attached geometry.
- Cleaned up p_floor.cpp so that related parts of the code are grouped together.

SVN r1926 (trunk)
2009-10-17 11:30:44 +00:00
Christoph Oelckers
bbcd6ed5f9 - fixed: The desaturation translation addition broke parsing of palette index based translations.
SVN r1925 (trunk)
2009-10-17 07:05:34 +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
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
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
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
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