Commit graph

3987 commits

Author SHA1 Message Date
Christoph Oelckers
463c276014 - removed more r_ header dependencies from the rest of the code.
SVN r3260 (trunk)
2011-07-06 15:31:05 +00:00
Christoph Oelckers
163301dcd5 - took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00
Christoph Oelckers
42091b1bb3 - changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
- FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.


SVN r3258 (trunk)
2011-07-06 13:00:51 +00:00
Christoph Oelckers
03177090c0 - removed some unnecessary r_ header #includes.
SVN r3257 (trunk)
2011-07-06 10:55:04 +00:00
Christoph Oelckers
f8ba5af858 - separated sprite and skin maintenance code from r_things.cpp into a separate file.
SVN r3256 (trunk)
2011-07-06 10:24:40 +00:00
Christoph Oelckers
fbff5ca932 - moved r_interpolate.cpp and r_translate.cpp to r_data.
- merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.


SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
5c6fd66ed5 - rename src/resources to src/r_data.
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Braden Obrzut
da7abc2a83 - Fixed: p_sectors.cpp wouldn't compile.
SVN r3253 (trunk)
2011-07-06 03:59:55 +00:00
Christoph Oelckers
0d43ecdd9d - moved side_t::GetLightLevel out of software rendering code.
SVN r3252 (trunk)
2011-07-05 21:30:17 +00:00
Christoph Oelckers
5bf6398d85 - moved render style and border drawing code out of r_draw.cpp.
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Christoph Oelckers
06d280f00a - moved all code not specific to the software renderer out of r_bsp.cpp.
SVN r3250 (trunk)
2011-07-05 19:50:01 +00:00
Christoph Oelckers
b57a39dd86 - moved R_AlignFlat out of renderer into main game code (r_ to p_.)
SVN r3249 (trunk)
2011-07-05 13:33:02 +00:00
Christoph Oelckers
17ed7aaabd - moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
2a3d1a4493 - updated CMakeLists.txt for last commit.
SVN r3247 (trunk)
2011-07-05 08:20:15 +00:00
Christoph Oelckers
7308e05ed0 - separated all voxel related resource maintenance code from r_things.cpp and r_data.cpp into its own file.
SVN r3246 (trunk)
2011-07-04 20:22:55 +00:00
Christoph Oelckers
4626492f50 - separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00
Christoph Oelckers
6748432014 - fixed: The compatibility savegame handling for the lightning code did not read the obsolete LightningLightLevels data from the savegame.
SVN r3244 (trunk)
2011-06-21 07:28:48 +00:00
Randy Heit
2dd4ea8400 - Fixed: LightningLightLevels[] was not just an array of light levels. The latter part was also
a bitmask describing which sectors had lightning. When this was expanded to shorts, the
  result was that random sectors would have their lighting zero'ed after a lightning flash. I
  really have to wonder what I was thinking when I decided to cram two completely unrelated
  things into the same array. Since a short is wide enough, I did away with the bitmask and
  just use SHRT_MAX to mark sectors that weren't lightninged.

SVN r3243 (trunk)
2011-06-21 03:38:32 +00:00
Randy Heit
4032b4c307 - Fixed: In gccinlines.h, the alternative for DivScale32 that took idiv's parameter in memory
did not mark eax as an early-clobber register, so GCC might decide to pass the memory address
  in eax, and it would get clobbered by the inline assembly before fetching the value to divide
  by.

  But rather than fix it by adding another '&', I have opted to mark it as in/out and do the
  zeroing outside the inline assembly, so GCC has maximum flexibility for scheduling the code.

SVN r3242 (trunk)
2011-06-18 05:43:51 +00:00
Randy Heit
4b78b07aca - Fixed: D3DFB::Draw3DPart() treated the screen's pitch as if it always equaled the width.
Considering this hasn't been guaranteed since before the D3DFB class was even written, this
  should have never made it in as-is.

SVN r3241 (trunk)
2011-06-18 05:18:28 +00:00
Christoph Oelckers
9fc5539ae7 - fixed case of damage type variables.
- fixed loading of BMF fonts' palettes. Index 0 is always transparent and the stored palette data starts at index 1.


SVN r3240 (trunk)
2011-06-17 22:46:34 +00:00
Christoph Oelckers
817368abc2 - changed R_InstallSpriteLump so that it doesn't abort for every seemingly misnamed lump in the sprites namespace. A warning is fully sufficient here.
SVN r3239 (trunk)
2011-06-16 13:10:03 +00:00
Christoph Oelckers
24593fe008 - added FDARI's A_Warp submission.
SVN r3238 (trunk)
2011-06-14 22:45:42 +00:00
Christoph Oelckers
4d7fcbf1b8 - added Major Cooke's Death/Paintype submission.
SVN r3237 (trunk)
2011-06-13 17:15:09 +00:00
Christoph Oelckers
e4455c293f - added DavidPH's DOHARMSPECIES submission.
SVN r3236 (trunk)
2011-06-13 10:43:07 +00:00
Christoph Oelckers
44921297d3 - added DavidPH's PoisonDamageType submission.
SVN r3235 (trunk)
2011-06-13 10:39:14 +00:00
Christoph Oelckers
a587ffed57 - added DavidPH's submission for allowing a special state on puffs when hitting bleeding actors.
SVN r3234 (trunk)
2011-06-13 10:34:46 +00:00
Christoph Oelckers
6ba0689b8d - added DavidPH's A_AlertMonsters range submission.
SVN r3233 (trunk)
2011-06-13 10:30:30 +00:00
Christoph Oelckers
4a7567107f - added DavifPH's submission for allowing THRUGHOST on puffs.
SVN r3232 (trunk)
2011-06-13 10:27:24 +00:00
Christoph Oelckers
ab60afd0b8 - added DavifPH's fix for poisoning invulnerable players.
SVN r3231 (trunk)
2011-06-13 10:25:03 +00:00
Christoph Oelckers
5d65ab6e6c - cleaned up setPointer interface.
- ZDoom part of setPointer/setActivator, submitted by FDARI.


SVN r3230 (trunk)
2011-06-13 10:22:47 +00:00
Christoph Oelckers
61dfb608f4 - added DavidPH's ProjectileKickback submission.
SVN r3228 (trunk)
2011-06-13 09:16:57 +00:00
Christoph Oelckers
74ad869e62 - ZDoom implementation of strcpy, submitted by FDARI.
SVN r3227 (trunk)
2011-06-13 09:14:02 +00:00
Randy Heit
e6de6fed3c - Revert r3214, which added some completely useless warnings for GCC.
I'm sure there are good reasons even GCC doesn't enable them by default when you use -Wall.



SVN r3225 (trunk)
2011-06-12 19:17:21 +00:00
Randy Heit
3401e92834 - Emulate the size limit of Doom's lightscale table by capping the value of vis passed to
GETPALOOKUP. The end result is that there is a minimum distance around you where light
  amplification stops and it gets no brighter. Should this scale with visibility? I can't say.

  So, yeah, it turns out all these years ago, I made this out to be harder than it really is.

SVN r3224 (trunk)
2011-06-12 03:15:15 +00:00
Randy Heit
ee8ca0de87 Fixed: Light levels outside the range [0,255] really do matter.
SVN r3223 (trunk)
2011-06-11 23:58:33 +00:00
Christoph Oelckers
f69181f851 - added FDARI's latest actor pointer submission.
SVN r3222 (trunk)
2011-06-07 23:05:24 +00:00
Christoph Oelckers
0991d45838 - added kgsws's 3D floor textute rotation fix.
SVN r3221 (trunk)
2011-06-07 06:41:49 +00:00
Christoph Oelckers
2e4e5bdb28 - added DavidPH's damage type specific damage color submission.
SVN r3220 (trunk)
2011-06-06 22:23:43 +00:00
Christoph Oelckers
5df9af462a - added DavidPH's A_PainAttack extension submission.
SVN r3219 (trunk)
2011-06-06 13:23:28 +00:00
Christoph Oelckers
24ac385d83 - fixed: Telefrag damage should not be affected by skill damage factors.
SVN r3218 (trunk)
2011-05-28 06:53:04 +00:00
Christoph Oelckers
60a411c9ad - added A_GunFlash extension submission.
SVN r3217 (trunk)
2011-05-26 23:29:36 +00:00
Christoph Oelckers
6053627c5c - added DONTCORPSE submission.
SVN r3216 (trunk)
2011-05-26 23:27:58 +00:00
Christoph Oelckers
3277b508cd - added SEEINVISIBLE submission.
SVN r3215 (trunk)
2011-05-26 23:25:02 +00:00
Christoph Oelckers
81ae38c072 - added submission for disabling some new and rather pointless GCC warnings.
SVN r3214 (trunk)
2011-05-26 23:19:20 +00:00
Christoph Oelckers
b6960eec1a - fixed: The ALT_USES_BOTH weapon flag was missing in the list of DECORATE flags.
SVN r3213 (trunk)
2011-05-26 23:18:39 +00:00
Randy Heit
1579fd1c1c - Fixed: Selecting TiMidity++ as a MIDI device without a working timidity.exe, then switching to a different MIDI device would leave music silent until a new song was started.
(The discrepancy between mus_playing.handle and currSong is one which should probably be handled properly at some point.)

SVN r3212 (trunk)
2011-05-20 00:26:22 +00:00
Randy Heit
2de3937338 - Fixed: Typo in FClipRect::Intersect() could case bad clipping.
SVN r3211 (trunk)
2011-05-19 04:46:04 +00:00
Braden Obrzut
400442ebc1 - Added ACSF_AnnouncerSound from Skulltag to EACSFunctions.
SVN r3209 (trunk)
2011-05-16 23:47:58 +00:00
Randy Heit
59b6c5ef5c - Removed a couple warnings about implicit vector truncation reported by fxc. (Apparently, it
also decided to compile some other shaders slightly differently, too.)
- Fixed: The InGameColormap had been designed without taking alpha into consideration.
  As the least likely parameter to be used, desaturation has been moved into a constant
  register to make room for the alpha parameter to live in the vertex's color value.

SVN r3208 (trunk)
2011-05-15 22:30:20 +00:00
Randy Heit
30e8552ac1 - Restore the BOOM fudging and destination Z calculations that disappeared sometime in
ZDoom's prehistory to EV_SilentLineTeleport().

SVN r3207 (trunk)
2011-05-15 20:09:25 +00:00
Randy Heit
29e486495b - Fixed: The sign in Eternall.wad, map25 on line 2236 rendered at the wrong height because Doom
ignored the Y locations of patches drawn on two-sided midtextures and always drew them at the
  top of the texture. Added a compatibility flag.

SVN r3205 (trunk)
2011-05-13 03:29:48 +00:00
Christoph Oelckers
4264b05e79 - added FDARI's ACS savestring submission.
SVN r3204 (trunk)
2011-05-11 22:29:49 +00:00
Randy Heit
381fb8d304 - Added optional fullthrustdistance to A_RadiusThrust to specify the distance at which thrust
starts diminishing.

SVN r3202 (trunk)
2011-05-11 04:31:31 +00:00
Randy Heit
91f3f61ead SVN r3201 (trunk) 2011-05-11 04:29:19 +00:00
Randy Heit
8ccf552d09 - Added r_shadercolormaps cvar. Set it to false to disable shaders for fixed colormap effects
(e.g. invulnerability). This should only be necessary for SM1.4 cards with buggy drivers. I
  doubt the problem is very widespread. The one piece of SM1.4 hardware I obtained specifically
  for testing purposes has no problems using shaders for these effects.

SVN r3200 (trunk)
2011-05-11 04:16:45 +00:00
Christoph Oelckers
b7fadac671 - added Gez's A_WolfAttack submission.
SVN r3199 (trunk)
2011-05-09 22:10:20 +00:00
Randy Heit
44a3e94003 - Fixed: P_CheckPosition() should checks all lines contacted by the actor. Stopping once it finds
one blocking line will prevent any further lines with specials from activating their specials.

SVN r3198 (trunk)
2011-05-08 16:58:53 +00:00
Randy Heit
0e07113752 - Forgot a delete.
SVN r3197 (trunk)
2011-05-08 16:45:36 +00:00
Randy Heit
91a5e077f2 - Add the wad a map is defined in to the output of listmaps.
SVN r3196 (trunk)
2011-05-08 16:44:43 +00:00
Randy Heit
11c24334c5 - Fixed: DDrawFB::Lock() should only act on NeedResRecreate when going from LockCount 0 -> 1.
- Fixed: When DDrawFB::Lock() has to recreate resources, it left the LockCount at 0. This causes
  problems if something else locks it before it is unlocked, because the second locker will
  think it is the first. This happens in R_RenderViewToCanvas(). See DDrawFB::PaletteChanged()
  for the most common reason why Lock() would need to recreate resources.
- Fixed: DDrawFB::CreateSurfacesComplex() had debugging cruft left in that skipped all but the
  last attempts.
- Fixed logging of video debug info to a file to not multiply define dbg.


SVN r3195 (trunk)
2011-05-08 04:35:00 +00:00
Randy Heit
d642c5b1b0 - Fixed: Building with NOASM defined no longer worked, because the DrawSlab routines in a.asm conflicted with the ones in r_draw.cpp.
SVN r3194 (trunk)
2011-05-08 04:28:45 +00:00
Randy Heit
37aab20cb3 - Colorize missing texture messages.
SVN r3193 (trunk)
2011-05-08 00:35:17 +00:00
Randy Heit
6c70afe0a7 - Place a limit on the number of reports per missing texture. On maps with many lines and many
sides of missing textures, this can take a very long time, because each missing textures causes
  a scan of every single line (for the sake of packed sidedefs), and each output line also requires
  an update of the hidden RichEdit logging control.

SVN r3192 (trunk)
2011-05-08 00:30:32 +00:00
Randy Heit
571210fe56 - Apply 3dfix2 and 3dfix3 (by hand, again).
SVN r3191 (trunk)
2011-04-29 03:50:33 +00:00
Randy Heit
e36dc34d8f - Fixed: When loading FBehavior::SerializeVarSet() would only zero the variables if there were
non-zero variables to load. This was fine when all variables defaulted to zero, but map variables
  have been able to default to something else for some time now. This meant that if all map
  variables were zero when the game was saved, they would be restored to their default values
  when the game was loaded.

SVN r3190 (trunk)
2011-04-24 17:16:13 +00:00
Randy Heit
65977c2d0c - Restore the original Doom algorithm for calculating xtoviewangle[] for the inner 90 degrees
of the field of vision, since it reduces the chances of duplicate sky columns output next to
  each other compared to a straight tangent-to-angle calculation.

SVN r3189 (trunk)
2011-04-24 17:05:50 +00:00
Randy Heit
fd225e168c - Fixed: PIT_CheckLine() always called CheckForPushSpecial() with the front of the line, even if
the actor was hitting it from the back.

SVN r3188 (trunk)
2011-04-22 03:38:09 +00:00
Randy Heit
dc1f5f0220 - Add more information when trying to load old savegames.
- When loading a game from the menu, do not hide the fullscreen console until we know we can
  load the save. Otherwise, the gamestate goes invalid if the save is no good.

SVN r3187 (trunk)
2011-04-17 17:27:31 +00:00
Randy Heit
2effba9504 - Add NULL pointer to check to FWeaponSlot::PickWeapon() (for when this is called outside of a game).
SVN r3186 (trunk)
2011-04-17 17:10:47 +00:00
Randy Heit
619634c1f8 - Move the call to DrawLetterbox() into D3DFB::Flip() so that it is the last thing that happens
before the scene is presented. Now it properly obscures 2D graphics.

SVN r3183 (trunk)
2011-04-17 04:04:34 +00:00
Randy Heit
ef69e2bbf0 - Fix overflows in AM_clipMline().
SVN r3182 (trunk)
2011-04-17 03:43:42 +00:00
Randy Heit
37b7595db7 - Oh my goodness, maybe I need to try compiling things before committing them!
SVN r3181 (trunk)
2011-04-14 21:48:48 +00:00
Randy Heit
dd5e8e9333 - Add fix for MUS volume controller changes with 8-bit values.
SVN r3180 (trunk)
2011-04-14 16:29:57 +00:00
Randy Heit
6ce9228150 - Fix brokenness of preceding commit.
SVN r3179 (trunk)
2011-04-14 04:24:07 +00:00
Randy Heit
0d39257eaf - Apply kgsws-CZ's fixes:
* Added new cvar, r_3dfloors for testing, so for example, you can see the FPS difference.
  * ds_p->bkup is not always allocated.
  * Fixed particles visible through 3D floors.
  * Fixed FAKE3D flag names.



SVN r3178 (trunk)
2011-04-13 02:34:48 +00:00
Randy Heit
7ae888e726 - Add $edfoverride to SNDINFO for the sake of ignorability.
SVN r3174 (trunk)
2011-03-29 05:25:06 +00:00
Randy Heit
d3b44a4172 - Fix errors/warnings from MinGW 4.5.0 (tdm-1).
- Disable the missing field initializers warnings that -Wextra produces from GCC.

SVN r3173 (trunk)
2011-03-29 05:20:33 +00:00
Randy Heit
ddac7de3fe - Fixed: FxAbs::Resolve() called isNumeric() on the wrong ValueType (which is not initialized until the end of the function).
SVN r3171 (trunk)
2011-03-24 04:14:27 +00:00
Randy Heit
3344fa9f30 - Fixed: COLORMAP tricks to produce bright lights do not work with the hardware renderer, so do
not hardware accelerate weapon sprites that use them. (see Harmony)

SVN r3170 (trunk)
2011-03-19 04:45:59 +00:00
Christoph Oelckers
820554d636 - added FDARI's pointer operation submission.
SVN r3167 (trunk)
2011-03-18 08:02:23 +00:00
Randy Heit
c52d9ec1b9 - Relax the restriction that display resolutions must be a multiple of 8 so that they only need be even. The software wiping code requires multiples of two, so odd resolutions cannot be supported without requiring hardware-acceleration (which can be toggled off at any time with immediate effects). The code that required multiples of 8 no longer seems to be present, so now people with cheapo 1366x768 laptop panels can run fullscreen properly.
SVN r3166 (trunk)
2011-03-13 04:45:35 +00:00
Braden Obrzut
c8e8edb1c5 - Added a prefix option to drawnumber.
- Added a flag to remove the cap on drawnumber (this means on the lower length numbers will be drawn).

SVN r3165 (trunk)
2011-03-12 02:20:31 +00:00
Randy Heit
f96dd8ff8a - Make GCC happy.
SVN r3164 (trunk)
2011-03-11 00:44:38 +00:00
Randy Heit
9ab6ac39a0 - Undo unintentional commit of src/CMakeLists.txt.
SVN r3163 (trunk)
2011-03-10 22:52:34 +00:00
Christoph Oelckers
b8f4592ad5 - added A_FaceTracer/A_FaceMaster submission.
SVN r3161 (trunk)
2011-03-06 14:21:44 +00:00
Christoph Oelckers
4eaa7b1aaf - fixed: The shareware -file check wasn't working anymore.
SVN r3156 (trunk)
2011-02-20 08:27:48 +00:00
Christoph Oelckers
1b93b56f46 - damn integer type confusion... :(
SVN r3155 (trunk)
2011-02-19 13:35:11 +00:00
Christoph Oelckers
1993e969b7 - GCC warning fixes (GCC stupidity for the most part.)
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Christoph Oelckers
1ea5cc8bd8 - added a function to execute action specials and changed all calls to use this function. This was done to make it easier to check such calls.
SVN r3152 (trunk)
2011-02-13 10:18:28 +00:00
Braden Obrzut
99df7354b1 - Fixed: Menu mouse navigation didn't work in fullscreen on Linux.
SVN r3151 (trunk)
2011-02-13 06:32:10 +00:00
Christoph Oelckers
1806e47e43 - fixed: Sector_SetLink did incorrect checks for the returned control sector
- added Sector_SetTranslucent special so set translucency of portal planes at run time.
- added 'additive' information for portal planes. This is no-op at the moment because the flat drawers can't handle additive translucency yet though.


SVN r3149 (trunk)
2011-02-12 09:53:40 +00:00
Christoph Oelckers
16878f6bb4 - fixed compile warnings in savegame menu code.
- fixed: plane specific lighting values were no longer used when generating the visplanes.


SVN r3133 (trunk)
2011-02-05 09:17:33 +00:00
Randy Heit
bb67f6d0a2 - Add ~/.zdoom as a default path in [FileSearch.Directories] on Unix systems.
SVN r3131 (trunk)
2011-02-02 02:11:15 +00:00
Randy Heit
060d740275 - Fixed: Fake floor's validcounts were not initialized.
- Fixed: When loading non-UDMF maps, things did not have their conversation field zero'ed.
- Added an assert for the FAKE3D_REFRESHCLIP case at the end of R_RenderMaskedSegRange(), because Valgrind indicates this is being run
  without ds->bkup being set to something valid. I do not immediately know how this should be fixed.



SVN r3130 (trunk)
2011-02-02 02:07:36 +00:00
Christoph Oelckers
82bac3ad22 - fixed: Actions in the saee menu need to do full range checks for the number of currently selected item.
SVN r3126 (trunk)
2011-01-30 11:20:08 +00:00
Christoph Oelckers
e523e12d91 - fixed: Not all exit conditions in dialogues unset the MF5_INCONVERSATION flag.
SVN r3125 (trunk)
2011-01-29 18:06:25 +00:00
Christoph Oelckers
fae8ed444c - merged 3dfloors2 branch into trunk.
SVN r3124 (trunk)
2011-01-29 11:09:38 +00:00
Christoph Oelckers
a2acc382df - added a 'block sight' line flag.
- updated UDMF spec for player class and skill amount because the old menu limits no longer apply.
- fixed: FloorAndCeiling_LowerRaise needs to consider 4 args in maps to account for the Boom compatibility hack parameter.


SVN r3121 (trunk)
2011-01-23 10:52:18 +00:00
Christoph Oelckers
a8167b3110 - fixed: 3DMidtextures did not work correctly in sectors with slopes.
SVN r3120 (trunk)
2011-01-23 09:03:55 +00:00
Christoph Oelckers
6056393af7 - added a check to output a clear error message if no IWAD definitions could be loaded.
SVN r3119 (trunk)
2011-01-23 08:49:30 +00:00
Christoph Oelckers
07eed2f2be - added Gez's fix for timing of the boss cube while a time freezer is active.
SVN r3118 (trunk)
2011-01-23 08:33:30 +00:00
Braden Obrzut
f942cd0bf3 - Added cursor support for SDL.
SVN r3117 (trunk)
2011-01-23 07:37:08 +00:00
Randy Heit
a5fb5c7fb4 - Let's not be so quick to break savegame compatibility...
SVN r3116 (trunk)
2011-01-23 02:32:38 +00:00
Christoph Oelckers
c22ce824a5 - fixed some incorrect P_CHeckSight flag use in p_enemy.cpp.
SVN r3115 (trunk)
2011-01-23 00:22:08 +00:00
Christoph Oelckers
5e50e15d5e - fixed: text colore for thing-based secrets was wrong.
SVN r3114 (trunk)
2011-01-22 17:05:02 +00:00
Braden Obrzut
d9d94d04ba - Added DesingatedTeam property from Skulltag. Allows friendly fire calculations to be applied to monsters/objects and allows the friendly AI to be aware of teams.
SVN r3113 (trunk)
2011-01-22 03:35:33 +00:00
Braden Obrzut
7ed7e9f755 - Enable menu mouse navigation on SDL systems.
SVN r3112 (trunk)
2011-01-22 03:02:58 +00:00
Christoph Oelckers
622d1ebe6a - fixed: Spawning things abuve a 3D midtexture did not provess the 'is above midtexture' state properly.
- fixed: When teleporting an actor the destination must be checked with the new z position, not the old one.


SVN r3111 (trunk)
2011-01-20 11:40:05 +00:00
Christoph Oelckers
b3a7c70c01 - changed ACS Checkweapon to compare names instead of strings.
SVN r3107 (trunk)
2011-01-17 00:33:20 +00:00
Christoph Oelckers
e4b236cbcc - added DavidPH's A_SetMass submission.
SVN r3105 (trunk)
2011-01-14 22:59:20 +00:00
Christoph Oelckers
090922e1c2 - added ACS SpawnForced function.
SVN r3104 (trunk)
2011-01-14 10:40:59 +00:00
Christoph Oelckers
17ab63a39f - fixed: The Skin initialization code did not NULL the Voxel pointer in its sprite definitions.
SVN r3103 (trunk)
2011-01-14 09:43:03 +00:00
Christoph Oelckers
5e5ddd8cc8 - fixed: The help screens were stretched on 16:9 displays
- fixed: The bunny scroller did not advance its animation to the end when aborted.


SVN r3102 (trunk)
2011-01-14 09:22:09 +00:00
Christoph Oelckers
7db7886a0e - fixed: DLevelScript always initialized the first 3 local variables, even if less were allocated.
SVN r3101 (trunk)
2011-01-14 09:07:00 +00:00
Christoph Oelckers
789c937635 - use FSharedStringArena to handle AActor's tag strings properly. They were names before which are not case sensitive and could cause problems.
- fixed FSharedStringArena::FreeAll did not NULL TopBlock.
- bumped savegame version for above changes.


SVN r3100 (trunk)
2011-01-12 00:17:13 +00:00
Christoph Oelckers
5d79cfd303 - fixed: The internal blockmap builder still used 16 bit WORDs to reference linedefs so it failed on USMF maps which exceed this value.
SVN r3092 (trunk)
2011-01-09 11:01:04 +00:00
Christoph Oelckers
5ddd2ecffa - fixed: Hexen's chess ending should never use the cluster's endtext.
SVN r3091 (trunk)
2011-01-05 22:45:25 +00:00
Randy Heit
37658cb4f7 - Make the assembly span drawers compatible with newer NASM's default optimization level.
SVN r3090 (trunk)
2011-01-05 04:26:04 +00:00
Christoph Oelckers
82d0a0a98c - added Chris's second crashcatcher patch.
SVN r3089 (trunk)
2011-01-04 09:12:20 +00:00
Randy Heit
46ad4ec4bd - Added "special" console command for executing action specials.
- Fixed buffer overflow attack for DEM_RUNSCRIPT(2).

SVN r3088 (trunk)
2011-01-02 18:54:57 +00:00
Randy Heit
869b9c9ccc - Fixed: FMODSoundRenderer::DrawWaveDebug() only allocated enough space for the wavearray based
on the window_size, so for large numbers of output channels, it would not allocate enough
  space for the spectrum data (which is definied by SPECTRUM_SIZE, not the window_size) and
  write junk on the stack when drawing the spectrums, causing a crash.

SVN r3087 (trunk)
2011-01-02 18:11:48 +00:00
Randy Heit
2add3fb381 - Merge voxels back into trunk. Even if it needs further tweaking, it should at least be stable now.
SVN r3086 (trunk)
2011-01-02 18:02:27 +00:00
Christoph Oelckers
e90b86acce - added 'player.flechettetype' property so that the appropriate flechette type can be set per player class.
- bumped savegame version for flechette type changes.

SVN r3085 (trunk)
2011-01-01 11:16:46 +00:00
Christoph Oelckers
2b0262d111 - added Chris's KDE IWAD picker submission.
SVN r3083 (trunk)
2011-01-01 09:24:56 +00:00
Christoph Oelckers
898b0d679d - added a new 'playertype' command for SBARINFO that checks by class type not display name.
- fixed: Status bar display for Hexen's fourth weapons only worked when they were obtained by picking up the weapon pieces.


SVN r3080 (trunk)
2010-12-27 16:14:26 +00:00
Christoph Oelckers
f35b3b84af - fixed: The player setup menu set the playerlass CVAR to the actual class name, not the display name as expected.
SVN r3078 (trunk)
2010-12-26 09:01:36 +00:00
Christoph Oelckers
cc287d35a6 - cleaned up p_ceiling.cpp
SVN r3077 (trunk)
2010-12-26 00:21:19 +00:00
Christoph Oelckers
231e7a1c6d - added a new render style 'Shadow'. Essentially it's just a black translucent stencil with an alpha of 0.3. The purpose of this style is to be used as a software renderer approximation of GZDoom's spectre effect.
- allow setting 'Shadow' as default fuzz effect
- changed CVAR conversion that strings 'false' and 'true' get evaluated as integers 0 and 1 respectively so that changing boolean CVARs to int does not destroy their values.


SVN r3076 (trunk)
2010-12-25 23:27:26 +00:00
Christoph Oelckers
e46183d836 - removed all portal fudging that was necessary to make thing based portals work the same as line based portals. Using an actor flag on the skybox thing the visplane code now checks what kind of portal is used and uses the proper logic accordingly. As a result the "Portals" compatibility flag no longer exists.
SVN r3072 (trunk)
2010-12-24 13:43:36 +00:00
Christoph Oelckers
e27179afd0 - added Chris's crashcatcher improvements.
SVN r3071 (trunk)
2010-12-21 14:15:19 +00:00
Christoph Oelckers
f6c1f359e1 - fixed: CreateCachedNodes did not free its file buffer.
SVN r3070 (trunk)
2010-12-21 08:39:58 +00:00
Braden Obrzut
bada44a291 - Fixed: The background on some bars was cliped incorrectly.
SVN r3065 (trunk)
2010-12-20 22:29:15 +00:00
Christoph Oelckers
fb7a45efe4 - backport ACS CheckActorProperty fix from GZDoom.
SVN r3064 (trunk)
2010-12-20 19:13:12 +00:00
Christoph Oelckers
bd0378a44b - added Gez's Hexenarmor on AltHud submission.
SVN r3061 (trunk)
2010-12-20 10:07:44 +00:00
Christoph Oelckers
c7c4377600 - clamp parameter to P_GiveBody to prevent overflows.
SVN r3058 (trunk)
2010-12-17 22:30:47 +00:00
Christoph Oelckers
42de20a7e4 - fixed: The Floor_RaiseAndCrush types in Doom wait if blocked, therefore need Hexen crush mode.
- fixed: Angle conversion in P_SpawnMapThing did not work for negative values due to use of an unsigned multiplication.


SVN r3053 (trunk)
2010-12-16 14:39:17 +00:00
Christoph Oelckers
6d614af4f4 - added a 'noautosavehint' MAPINFO option. This does not actually block the autosave from happening. It just does not increase the autosave counter so any subsequent autosave in the same session will overwrite the last one which was saved with this hint on.
SVN r3050 (trunk)
2010-12-16 09:13:06 +00:00
Christoph Oelckers
a06b88fa50 - added new IF_UNTOSSABLE flag for items that should be removable by any inventory function but not be droppable by the 'drop' CCMD.
SVN r3049 (trunk)
2010-12-16 08:21:38 +00:00
Christoph Oelckers
19b8e15af4 - added APROP_Dormant actor property for ACS (read only!)
- fixed_ When performing a restart menus and intermissions need to be closed first.


SVN r3048 (trunk)
2010-12-16 08:05:00 +00:00
Christoph Oelckers
7e503d2f70 - fixed: D3DFB::Clear used the palette index even when a valid color was passed to it.
SVN r3045 (trunk)
2010-12-16 00:21:13 +00:00
Christoph Oelckers
e33d1a989f - set all 'num' variables to 0 in P_FreeLevelData so that any code using them won't try to read the deleted map data.
SVN r3044 (trunk)
2010-12-15 23:10:08 +00:00
Christoph Oelckers
419a998bdf - warning removal
SVN r3043 (trunk)
2010-12-15 18:57:39 +00:00
Christoph Oelckers
b42952b85c - added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
SVN r3042 (trunk)
2010-12-15 11:45:39 +00:00
Christoph Oelckers
772d59dff4 - fixed handling of missing backgrounds for intermission text screens for real this time.
SVN r3041 (trunk)
2010-12-15 08:00:38 +00:00
Christoph Oelckers
e7eb43a343 - added Gez's automap patch to mark trigger lines.
SVN r3040 (trunk)
2010-12-15 00:14:42 +00:00
Christoph Oelckers
770a879f6a - fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

SVN r3039 (trunk)
2010-12-15 00:09:31 +00:00
Christoph Oelckers
79c5080dda - added DavidPH's submission for specifying vertex heights directly in UDMF.
SVN r3037 (trunk)
2010-12-14 00:56:44 +00:00
Christoph Oelckers
f0f17e531c - move static AM color initialization into the AM_StaticInit function.
- move D_LoadWadSettings to keysections.cpp.
- made some more data reloadable.
- data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)


SVN r3036 (trunk)
2010-12-14 00:50:02 +00:00
Braden Obrzut
ee20d0ea7a - Fixed: GCC compiler warnings.
- zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.

SVN r3035 (trunk)
2010-12-13 17:09:35 +00:00
Christoph Oelckers
c6525a2271 - changed some data init code to delete the data it wants to initialize first.
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- fixed: Starting a new game did not clear the hub statistics array.


SVN r3034 (trunk)
2010-12-13 10:02:45 +00:00
Christoph Oelckers
99b5fe29f7 - cleaned up D_DoomMain a little. It's still far too large though.
- added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- added 'clearaliases' CCMD.


SVN r3033 (trunk)
2010-12-12 23:52:00 +00:00
Christoph Oelckers
ececec1c65 - init bot specific actor properties righr after parsing DECORATE, not when spawning the first bot (which is too late.)
SVN r3032 (trunk)
2010-12-12 21:09:16 +00:00
Christoph Oelckers
572bc4620a - changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.


SVN r3031 (trunk)
2010-12-12 17:54:10 +00:00
Christoph Oelckers
0715b7dfc6 - cleaned up switch code and fixed several problems:
* savegames stored an index in the switch table and performed no validation when loading a savegame.
  * setting of a random switch animation duration was broken.
  * separated the 2 values stored in the Time variable into 2 separate variables.
  * defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- added function for serializing switch and door animation pointers.
- bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.


SVN r3030 (trunk)
2010-12-12 15:43:35 +00:00
Christoph Oelckers
e257c4cb64 - moved animated door definitions into texture manager and split all associated code off p_doors.cpp
SVN r3029 (trunk)
2010-12-12 08:30:12 +00:00
Christoph Oelckers
d851040ad6 - fixed GCC compilation.
SVN r3028 (trunk)
2010-12-12 07:59:38 +00:00
Christoph Oelckers
24ab37613a - moved switch definitions into texture manager and split all associated code off p_switches.cpp into its own file.
SVN r3027 (trunk)
2010-12-11 23:02:46 +00:00
Christoph Oelckers
6309d90be0 - moved texture counting code into FTextureManager.
- moved all code and data for Build tile management into FTextureManager.
- moved texture animation management into FTextureManager.
- changed: Animate textures only once per frame, not per view. Otherwise with animations that have sub-frame accuracy camera textures of the same area can show different animation frames if the frame changes falls between the rendering of the different views.


SVN r3026 (trunk)
2010-12-11 12:00:40 +00:00
Christoph Oelckers
c9a33edee0 - fixed: Portal setup did some incorrect validity checks.
SVN r3025 (trunk)
2010-12-09 07:55:46 +00:00
Christoph Oelckers
092f53d875 - fixed: The 'secret' CCMD used FStrings directly as printf parameters.
SVN r3024 (trunk)
2010-12-09 07:50:08 +00:00
Christoph Oelckers
d54ee47656 - fixed: The intermission screen did not initialize its texture variable when the texture was invalid.
SVN r3023 (trunk)
2010-12-07 16:16:31 +00:00
Christoph Oelckers
9ad2a2b00e - fixed: AActor::ClearCounters should not decrease the kill count if it is called for a dead monster which can happen in Thing_Remove.
SVN r3022 (trunk)
2010-12-06 21:57:51 +00:00
Christoph Oelckers
e7bbca8e33 - expanded compat_trace flag to apply also to sight checks.
- Set trace compatibility for Real World MAP11.


SVN r3021 (trunk)
2010-12-04 08:53:13 +00:00
Braden Obrzut
72f589c8c3 - Fixed what appears to be a copy/paste error in the CMakeLists.txt.
SVN r3020 (trunk)
2010-12-02 21:45:38 +00:00
Christoph Oelckers
007fae107e - fix last commit
SVN r3019 (trunk)
2010-12-02 17:01:05 +00:00
Christoph Oelckers
74822572da - restore old portal checks for Action Doom 2 (as a hidden compatibility option.)
SVN r3018 (trunk)
2010-12-02 15:08:44 +00:00
Christoph Oelckers
5bc4bc90bb - fixed: A new episode definition for a map that already had one defined did not replace the old definition.
- fixed: Skipping the skill menu did not work because it checked the number of episodes, not skills.


SVN r3017 (trunk)
2010-12-02 13:57:05 +00:00
Randy Heit
d9c811fc61 - Increase MAX_SKYBOX_PLANES to 1000.
SVN r3016 (trunk)
2010-12-02 02:08:54 +00:00
Christoph Oelckers
86516ecfac - fixed: The code that set DIntermissionController::CurrentIntermission was missing a write barrier.
SVN r3015 (trunk)
2010-12-01 19:56:35 +00:00
Christoph Oelckers
ce8be35000 - fixed: Normal skyboxes should not block spawning of a portal.
SVN r3014 (trunk)
2010-11-30 09:36:36 +00:00
Christoph Oelckers
5ad9e0c3b8 - added code submission for printing secret information.
- added missing TRXTCOLOR_CYAN #define.
- changed bridge things to be completely immobile towards sector plane movement. This problem again reared its ugly head in 007LTSD where the oversized bridges got messed up by some opening doors and lowering lifts. Now any plane trying to move such a thing will get blocked. Moving these things by other means still works normally, of course

SVN r3013 (trunk)
2010-11-30 08:18:11 +00:00
Christoph Oelckers
14f4a9e835 - added some fudging to make sectors that are neighboring a portal plane but share the same texture properties actual parts of the portal. This is only done when portals are defined with portal things. This was necessary to preserve an effect that depended on incomplete checks in the renderer that could not be preserved with the implementation of linedef based portals.
SVN r3012 (trunk)
2010-11-29 12:43:52 +00:00
Randy Heit
f7fa3c8dbb - Add a SetCursor() call to I_SetCursor() when the pointer is within the window's client area to
make the pointer change instant instead of waiting until the next mouse event.

SVN r3010 (trunk)
2010-11-19 04:20:33 +00:00
Randy Heit
54163bc81c - Changed sprite-on-drawseg calculations to use untransformed coordinates. Build does it like
this. I don't recall what Doom did.

SVN r3009 (trunk)
2010-11-19 04:01:15 +00:00
Christoph Oelckers
c5f5bcc432 - added a hidden compatiblity option for maps that fell victim to the broken destination search code in some 2.0.9x versions
SVN r3008 (trunk)
2010-11-12 21:12:47 +00:00
Braden Obrzut
c8eb4bbc8d - Turns out I can't clear one protocol warning on 10.6 without breaking compatibility with 10.4/10.5.
SVN r3007 (trunk)
2010-11-11 00:22:36 +00:00
Braden Obrzut
a00730c160 - Fixed: Cocoa IWAD picker was not updated. Also changed instances of the deprecated stringWithCString to stringWithUTF8String.
- Fixed: Mac OS X should be case insensitive like Windows.

SVN r3005 (trunk)
2010-11-10 23:39:34 +00:00
Christoph Oelckers
340ffc08d6 - fixed: Boom's switch-based equivalents of FloorandCeiling_LowerRaise can only move either the ceiling or the floor but never both due to a programming error. Changed this special so that Boom's broken mode can be reactivated through xlat.
SVN r3004 (trunk)
2010-11-10 11:25:34 +00:00
Christoph Oelckers
5e7753d7e8 - fixed: The floor plane's alpha was not initialized.
SVN r3003 (trunk)
2010-11-08 20:18:06 +00:00
Christoph Oelckers
2fcf1af21b - added a $musicalias command to SNDINFO that allows remapping of music tracks. Mapping to 'none' means that starting the remapped song will have no effect at all. There's one limitation though: If you load a WAD with the same music name after the one with the SNDINFO lump the mapping will be ignored. This is so that music resources can use this command without interfering with WADs that replace the music with their own.
SVN r3002 (trunk)
2010-11-08 17:24:27 +00:00
Christoph Oelckers
1f43f4e961 - Added DavidPH's AProp_ScaleX/Y / A_SetScale submission.
SVN r3000 (trunk)
2010-11-08 00:01:21 +00:00
Christoph Oelckers
2f06007ad4 - added Edward-san's fix for the turbo CCMD.
SVN r2998 (trunk)
2010-11-07 23:50:21 +00:00
Christoph Oelckers
332d9b9ad1 - Changed savegame versioning for SVN-less builds to use a SAVEVER value of 999999 so that it is guaranteed that such a build can load its own savegames - even if it is at the cost of losing the ability to handle older savegames. People should build ZDoom with revision info anyway. ;)
SVN r2997 (trunk)
2010-11-07 23:48:55 +00:00
Christoph Oelckers
ad18c7396e - fixed: Sector_SetPortal did not set the portal's alpha value.
SVN r2996 (trunk)
2010-11-07 23:37:03 +00:00
Christoph Oelckers
9278375064 - added 'flooralpha' and 'ceilingalpha' sector properties. They only have meaning if a sector stack portal is defined in this sector. If set to anything less than 1.0 these will override the alpha set by a portal. This is mostly for Sector_SetPortal to avoid defining multiple portals that only differ by their plane translucency.
SVN r2995 (trunk)
2010-11-07 22:12:38 +00:00
Christoph Oelckers
12d2124700 - fixed: Explosions may not spawn splashes in sectors with a Transfer_Heights effect. Due to the way it handles floor textures it cannot spawn them correctly there.
SVN r2994 (trunk)
2010-11-07 20:18:52 +00:00
Christoph Oelckers
ef133dc682 - changed skybox code to use the alpha from the sector plane.
- removed alpha from skybox viewpoints.


SVN r2993 (trunk)
2010-11-07 17:05:21 +00:00
Christoph Oelckers
492bead360 - add alpha property to sector_t::splane. Not used yet.
SVN r2992 (trunk)
2010-11-07 16:17:14 +00:00
Christoph Oelckers
c31c4755fa - add an alpha parameter to R_FindPlane.
- fixed: R_FindPlane must do a full visplane comparison for stacked sectors with a non-0 alpha for the sector plane.


SVN r2991 (trunk)
2010-11-07 16:11:42 +00:00
Christoph Oelckers
669ce73272 - made the alpha used by stacked sectors part of the visplane. This will be needed to fix the merging of stacks with the same displacement but different alpha values.
SVN r2990 (trunk)
2010-11-07 15:30:41 +00:00
Christoph Oelckers
7dd8a0fce9 - replaced all calls to sqrtf with sqrt. Also changed P_RadiusAttack to use doubles for all floating point calculations.
SVN r2989 (trunk)
2010-11-07 14:39:09 +00:00
Christoph Oelckers
dff4553663 - fixed: When playing non-looping songs GMESong::Read could return without releasing the critical section.
SVN r2988 (trunk)
2010-11-07 14:25:08 +00:00
Christoph Oelckers
b771426ea2 - added Demolisher's APROP_Waterlevel patch.
SVN r2986 (trunk)
2010-11-07 07:31:58 +00:00
Christoph Oelckers
efe70a0799 - added THeShooter7's patch to use the PUFFGETSOWNER flag for blood, too.
SVN r2985 (trunk)
2010-11-07 07:29:23 +00:00
Christoph Oelckers
72192397ad - added some initial configurability to statistics intermission screen:
* Font and color for map name can be set if it's not a titlepatch
 * 'Finished' and 'Entering' can be either patches or a printed text in all gamees now.
 * Font and color for 'finished' and 'entering' text can be set.
 * moved 'finished' and 'Now entering:' texts into string table.


SVN r2981 (trunk)
2010-11-06 09:28:17 +00:00
Randy Heit
4a9892725d - Use the so-called SafeTerminateProcess() function to kill the child TiMidity++ process instead
of signaling an event. I would have preferred to use GenerateConsoleCtrlEvent(), but since it
  requires the caller be attached to the same console as the process it wants to kill, it's
  pretty much worthless. We will continue to look for the presence of the event name in the
  TiMidity++ binary despite no longer using it, because standard TiMidity++ builds do not write
  to stdout in binary mode on Windows systems.

SVN r2980 (trunk)
2010-11-04 03:47:49 +00:00
Randy Heit
ad200d8a56 - Tweaked jumpTics again. As before, it now counts down whenever it is non-zero. If the player
is on the ground and it counts below -18, it is zeroed so that the player can jump again. This
  handles cases where either the player did not actually jump when they pressed +jump (because
  there was a ceiling in the way) or when they land on something other than the floor.

SVN r2979 (trunk)
2010-11-04 02:19:34 +00:00
Christoph Oelckers
d45262f96b - fixed: With the Buddha cheat active the health of the real player actor was not synchronized with the player data if a voodoo doll received damage that would have killed it.
SVN r2978 (trunk)
2010-11-03 23:43:34 +00:00
Christoph Oelckers
c02339501c - fixed: The message for trying to quickload in netgames used the wrong display mode for the message menu.
SVN r2977 (trunk)
2010-11-03 23:33:57 +00:00
Christoph Oelckers
2f61653cae - fixed: AdjustPusher compared a sector's index with a tag to check for existing pushers in that sector.
SVN r2976 (trunk)
2010-11-03 23:27:31 +00:00
Randy Heit
0604d308d5 - Fixed: Pressing left or right on a video mode option line should play "menu/cursor", not "menu/change".
SVN r2974 (trunk)
2010-11-03 02:33:22 +00:00
Randy Heit
18205c82a6 - Modify AimingCamera so that it can pick up targets after spawning, since this is the only way
for it to aim at players, who cannot be spawned with TIDs.

SVN r2973 (trunk)
2010-11-03 02:27:46 +00:00
Randy Heit
db2147c700 - Fixed: Options selected in Strife dialogues using the number keys were off by one.
SVN r2972 (trunk)
2010-11-03 02:17:08 +00:00
Randy Heit
810ca55e2a - Fixed: The minimum velocity for player landing in effects in P_ZMovement should be -8, not -9.
SVN r2971 (trunk)
2010-11-03 02:11:06 +00:00
Randy Heit
92d11da8a5 - Revised usage of jumpTics. In Hexen, it went like this:
* When you jump, it gets set to 18.
  * When you land, it gets set to 7.
  * As long as it is non-zero, it counts down, and you cannot jump.
  Of note here, is that setting it to 18 upon jumping seems useless, since you can't jump unless
  you're on the ground, and when you reach the ground, it will always be set to 7. With that in
  mind, the new behavior is:
  * When you jump, it gets set to -1.
  * When you land, if it is less than zero or you fall far enough to squat, jumpTics will
    be set to 7. Otherwise, jumpTics is left alone.
  * If jumpTics is positive, it will count down each tic.
  * As long as JumpTics is non-zero, you cannot jump.

SVN r2970 (trunk)
2010-11-03 02:07:56 +00:00
Christoph Oelckers
48e17ccf1c - fixed: The cast call could not handle actors with changing sprites
- fixed: The cast call was missing some NULL pointer checks for invalid actor classes.
- fixed: The cast call did not use a translation defined for an actor class.


SVN r2968 (trunk)
2010-10-30 07:21:16 +00:00
Randy Heit
1287c9419a - Fixed: Controller buttons were still translated to menu buttons when the controls menu was
waiting for a button press, making it impossible to bind buttons that have special meaning to
  the menu from the menu.

SVN r2967 (trunk)
2010-10-24 17:46:48 +00:00
Christoph Oelckers
b0c7ac6868 - made "follow player" automap option a CVAR and added a menu item for it.
SVN r2965 (trunk)
2010-10-24 07:39:48 +00:00
Christoph Oelckers
2a0c4b9f32 - added a CVAR to decide when to show the map label (ExMy, MAPxx) on the automap HUD. Available settings are Never, Always and Only for hubs.
- made all crosshair related CVARs game specific. They were all global to all supportesd games.


SVN r2964 (trunk)
2010-10-24 07:31:39 +00:00
Christoph Oelckers
40c75b811d - fixed: When used on non-projectiles A_Explode ignored the HurtSource flag.
SVN r2963 (trunk)
2010-10-23 23:05:56 +00:00
Christoph Oelckers
747f3dd97a - fixed: The intermission screen was not taking texture scaling into account (it was written before the introduction of scaled texture handling for 2D.)
SVN r2962 (trunk)
2010-10-23 22:42:53 +00:00
Christoph Oelckers
c9adcb0f47 - fixed: The GAMEINFO parser did not correctly handle NOSPRITERENAME
- added STTPRCNT to HUDFONT_DOOM

SVN r2961 (trunk)
2010-10-23 22:33:39 +00:00
Christoph Oelckers
0497171bc0 - fixed: States jumping to themselves should only end an actor's cast call when it happens in the death sequence.
SVN r2957 (trunk)
2010-10-17 23:22:09 +00:00
Christoph Oelckers
f318653a11 - fixed: The intermission data was never freed.
SVN r2955 (trunk)
2010-10-17 13:25:21 +00:00
Christoph Oelckers
fe0c7bc7f9 - Let FPlayerNameBox::DrawBorder decide what graphics to use based on actual presence in the WADs, not the gamemode.
SVN r2953 (trunk)
2010-10-17 08:29:21 +00:00
Christoph Oelckers
94fd56b6bd - added option for the cast call to use a 'Death.Cast' sequence so that monsters with an unusable death sequence for the cast call can define an alternative.
SVN r2952 (trunk)
2010-10-17 08:02:04 +00:00
Christoph Oelckers
6538bc457b - fixed: The cast call could time out on overlong death sequences and get stuck.
- fixed: The cast call code should treat a waiting state in the death sequence as its end.


SVN r2951 (trunk)
2010-10-17 07:56:49 +00:00
Christoph Oelckers
8ebb555343 - fixed: Detection of MAP01 presence was wrong.
SVN r2950 (trunk)
2010-10-16 22:40:27 +00:00
Christoph Oelckers
ce7921c9d9 - externalized the vector graphics for the automap arrows and the key.
SVN r2949 (trunk)
2010-10-16 22:37:30 +00:00
Braden Obrzut
9e2e9262a4 - Fixed: Crash in Linux due to passing FStrings as character arrays.
- Fixed: More places where SBarInfo used the unscaled information from graphics.

SVN r2948 (trunk)
2010-10-16 17:04:18 +00:00
Christoph Oelckers
650da24364 - fixed: The alternative HUD's number printing function did not take texture scaling into account when calculating the printing position.
SVN r2947 (trunk)
2010-10-16 16:21:19 +00:00
Christoph Oelckers
8806ec294f - fixwd some GCC problems with d_iwad.cpp.
SVN r2946 (trunk)
2010-10-16 06:38:42 +00:00
Christoph Oelckers
0bde8591ee - forgot to handle GI_MAPxx flag.
SVN r2944 (trunk)
2010-10-15 15:40:16 +00:00
Christoph Oelckers
eded2ef345 - Each IWAD can now define its own config section. Hacx, Harmony and Action Doom2 now do that.
- moved IWAD identification data into a lump in zdoom.pk3.
- rewrote IWAD checking code 

SVN r2943 (trunk)
2010-10-15 15:13:53 +00:00
Christoph Oelckers
7068c1df48 - added a ResetEvent call in case that Timidity++ did not react to signalling the KillerEvent.
SVN r2942 (trunk)
2010-10-14 14:40:26 +00:00
Braden Obrzut
eb064ebe06 - Fixed crash with joysticks with more than 5 axes.
SVN r2941 (trunk)
2010-10-13 20:07:16 +00:00
Braden Obrzut
78cfbe56a1 - Forgot to actually add new joystick code.
SVN r2940 (trunk)
2010-10-13 16:30:31 +00:00
Braden Obrzut
0d10718e67 - Added SDL joystick support.
SVN r2939 (trunk)
2010-10-13 16:29:37 +00:00
Christoph Oelckers
55585a36eb - Added "Heretic1" autoload section for files that should be loaded with real Heretic but not with Blasphemer.
SVN r2938 (trunk)
2010-10-12 22:52:35 +00:00
Christoph Oelckers
7e362819e4 - made the different cursor characters for Raven's and the other small fonts a property of the font instead deciding based on the game.
SVN r2935 (trunk)
2010-10-12 08:43:15 +00:00
Christoph Oelckers
352a926ddf - made all references to the GameNames array an inline function call to allow easier modification later
- changed all parsers that check for the current game to use the same function for the game check.
- fixed: The TEAMINFO parser handled 'game Any' incorrectly.


SVN r2934 (trunk)
2010-10-12 07:14:31 +00:00
Christoph Oelckers
dd17c35d89 - removed gamemode check for shareware message. It also uses LANGUAGE conditionals now.
SVN r2931 (trunk)
2010-10-11 22:10:15 +00:00
Christoph Oelckers
2eac96143e - added conditionals to LANGUAGE parser so that the special messages for Chex Quest can be handled in the definition lumps instead of the code.
SVN r2930 (trunk)
2010-10-11 19:16:09 +00:00
Christoph Oelckers
d969b141b8 - added option to set custom end sequences: Use 'next = endsequence, "sequencename" in MAPINFO.
SVN r2929 (trunk)
2010-10-10 06:21:23 +00:00
Braden Obrzut
45f3ef91d3 - Fixed: If a log popup is defined, it should not draw the default log message.
- Fixed: The counters in draw(selected)inventory(bar) should not have been limited to 3 characters.
- Added: drawshadow() to drawinventorybar.
- Added: itemflash to drawselectedinventory to use Strife's cursor fade.
- Added: time and logtext to drawstring.  In addition a linebreaks(size) flag was added.

SVN r2928 (trunk)
2010-10-09 15:57:04 +00:00
Braden Obrzut
394a37421a - NULL pointer checks in music_pseudo_mididevice.cpp to prevent crashes on startup if fmod fails to play a midi.
SVN r2927 (trunk)
2010-10-09 04:37:31 +00:00
Braden Obrzut
b2548bf02a - Added detection code for Hacx 1.2 IWAD.
SVN r2925 (trunk)
2010-10-09 00:10:54 +00:00
Braden Obrzut
5f8c2f6310 - Added: keys, accuracy, stamina, and savepercent to drawnumber. (Savepercent is also available for drawbar.)
SVN r2924 (trunk)
2010-10-08 23:09:27 +00:00
Christoph Oelckers
a84a015f0c - fixed: The intermission actions for custom end sequences were never appened to the intermission descriptor.
SVN r2922 (trunk)
2010-10-07 22:57:09 +00:00
Christoph Oelckers
0595724d68 - updated CMakeLists.txt for intermission changes.
SVN r2921 (trunk)
2010-10-07 21:34:21 +00:00
Christoph Oelckers
ec3e4bb7c7 - fixed: The Player played no sounds in the Doom2 cast.
- fixed: The player's melee state is not a proper melee state so it should not be entered when used in the cast.
- fixed: Sounds were played before changing states. That missed situations where the state was entered from anywhere else but the previous state.


SVN r2915 (trunk)
2010-10-06 17:57:56 +00:00
Christoph Oelckers
d9970ab9b6 - merged finale branch back into trunk.
SVN r2911 (trunk)
2010-10-06 10:44:03 +00:00
Christoph Oelckers
0490c35347 - added Edward-san's improvements for changemus command.
SVN r2902 (trunk)
2010-10-05 22:35:59 +00:00
Christoph Oelckers
5ff3b3f329 - added Gez's VOC loader.
SVN r2901 (trunk)
2010-10-05 22:31:22 +00:00
Braden Obrzut
f26e65e550 - Fixed Linux compilation errors. (I'm not too sure what I was supposed to do with PrepTimidity() though.)
SVN r2882 (trunk)
2010-10-02 16:49:44 +00:00
Christoph Oelckers
d3ca1fddcc - added new action special Ceiling_LowerAndCrushDist. It's similar to Ceiling_LowerAndCrush but allows to explicitly set the distance from the floor where the ceiling stops moving. This is used to remove the special behavior for Strife from the code that unlike the other games moved the ceiling to the floor, not to 8 units above it.
SVN r2881 (trunk)
2010-10-02 16:26:10 +00:00
Christoph Oelckers
6d78ff3469 - Backported GZDoom revisions 1018-1019: Fixed spelling of "pseudo" because it bugged me too much. ;)
SVN r2880 (trunk)
2010-10-02 13:49:33 +00:00
Randy Heit
b2b84ad11f - Fixed snd_mididevice so that changing it immediately restarts the song for all devices, not
just Windows system devices.
- Remove SMF generation from i_music.cpp, since the psuedo-MIDI devices do this now.

SVN r2875 (trunk)
2010-10-02 04:12:21 +00:00
Randy Heit
90dd40c58f - Reimplemented TiMidity++ playback so that it also can handle XMI subsongs.
SVN r2874 (trunk)
2010-10-02 03:36:19 +00:00
Randy Heit
fa429ad844 - Fix incorrect parameters to PrintMidiDevice().
- Add music_psuedo_mididevice.cpp to CMakeLists.txt.

SVN r2873 (trunk)
2010-10-02 02:23:42 +00:00
Randy Heit
b6941be55f - Reimplemented FMOD MIDI playback as a psuedo-MIDI device so that it can take advantage of XMI subsongs.
SVN r2872 (trunk)
2010-10-02 02:19:50 +00:00
Christoph Oelckers
024bbeb171 - changed 'load game' menu so that it preselects the last used savegame, either for loading or saving.
SVN r2867 (trunk)
2010-09-29 22:24:55 +00:00
Christoph Oelckers
5464676603 - cleaned up i_music.cpp.
SVN r2866 (trunk)
2010-09-29 19:29:14 +00:00
Christoph Oelckers
5be9729872 - FScanner::Float is a double so there's no need to cast values to float before assigning them to this variable.
SVN r2865 (trunk)
2010-09-29 07:25:14 +00:00
Randy Heit
bc08502132 - Pass SMF files through the MIDI conversion process too, to give TiMidity++ and FMOD some
degree of support for songs that use loop controllers to loop the song back to a point after
  the very beginning of the song.
- Enable loops during SMF generation. Infinite loops will be clamped to some finite amount. (This is currently 30, so a 3 minute song will still restart from the very beginning after 90 minutes)
- Fixed: The SMF, HMI, and XMI readers all generated invalid MEVT_NOP events.
- Fixed: SMF generation died on songs that set their tempo during the initial beat.


SVN r2864 (trunk)
2010-09-29 03:35:53 +00:00
Christoph Oelckers
64784b2dc8 - fixed: DOptionMenu::FirstSelectable should not be called when the menu already has a valid selection.
SVN r2863 (trunk)
2010-09-29 00:54:14 +00:00
Christoph Oelckers
e2c105b447 - fixed: XMI music files were not converted for playback with FMod or Timidity++.
- Was there any reason why the MIDI_GUS device was so well hidden from the user? It sure does not sound broken. Added it to MIDI menu and $mididevice.


SVN r2862 (trunk)
2010-09-29 00:35:47 +00:00
Christoph Oelckers
6014250f3a - fixed: Option menus with no selectable items crashed.
SVN r2861 (trunk)
2010-09-28 16:28:44 +00:00
Christoph Oelckers
9414fd2995 - fixed: G_DoLoadLevel must reset level.maptime before calling P_SetupLevel or all actors that read it in their BeginPlay method get the wrong time.
SVN r2860 (trunk)
2010-09-28 15:14:53 +00:00
Randy Heit
5a3b3631c3 - Added XMIDI support (including subsongs).
- Moved unaligned accessors into m_swap.h.

SVN r2859 (trunk)
2010-09-28 03:58:41 +00:00
Christoph Oelckers
2d5755a80e - fix GCC warning.
SVN r2858 (trunk)
2010-09-27 22:42:35 +00:00
Christoph Oelckers
77709f1847 - fixed: The loadgame menu responder did not check for an empty list of savegames.
SVN r2857 (trunk)
2010-09-27 22:36:47 +00:00
Christoph Oelckers
9abaaa1785 - added a default cursor for Chex Quest.
- set 'cursor' as default for Action Doom 2. Doom's bunny is probably not the best thing here...
- made cursor user-settable in the menu.



SVN r2855 (trunk)
2010-09-26 07:46:34 +00:00
Christoph Oelckers
cf9792ed53 - fixed: The order of items in the main menu was wrong. Doom is supposed to have 'Options' in second place. Many vanilla-compatible mods with special one-patch menus would not work correctly due to this. Fortunately the only mod I could find that relied on ZDoom's order was Action Doom 2, which as an IWAD can easily be handled by a simple configuration option.
- added 'else' blocks to MENUDEF parser.



SVN r2854 (trunk)
2010-09-26 06:53:40 +00:00
Randy Heit
17f9e687bd - Added cursorpic gameinfo property to set the mouse cursor image.
SVN r2852 (trunk)
2010-09-26 05:31:52 +00:00
Christoph Oelckers
3f69b63873 - fixed: Backing out of a skill confirmation message screen caused that skill to be used for the next game if the menu wasn't fully closed first.
SVN r2851 (trunk)
2010-09-25 23:28:44 +00:00
Christoph Oelckers
3f420c97bd - allow setting the startup screen's title through GAMEINFO lump.
SVN r2850 (trunk)
2010-09-24 14:27:52 +00:00
Randy Heit
4397ef3323 - Added HMP file support.
SVN r2849 (trunk)
2010-09-24 02:46:48 +00:00
Randy Heit
46eebe29a4 - Update the HMI player to use the division information stored in the song and check the full file signature.
SVN r2848 (trunk)
2010-09-23 22:37:25 +00:00
Christoph Oelckers
917e93e633 - fixed: The check for savegames without picture was reversed.
- fixed: Savegames that were saved without picture did not display the 'No picture' message because the empty PNG container was still recognized as image.


SVN r2847 (trunk)
2010-09-23 06:14:30 +00:00
Randy Heit
b9185f7c62 - Added a NULL skins[] check to AActor::SetState().
SVN r2846 (trunk)
2010-09-23 01:56:04 +00:00
Randy Heit
b8fa340986 - Fixed: ACS's GetActorX, GetActorY, GetActorZ, GetActorFloorZ, GetActorCeilingZ, GetActorAngle,
and GetActorPitch did not have NULL pointer checks for the TID == 0 case.

SVN r2845 (trunk)
2010-09-23 01:51:00 +00:00
Christoph Oelckers
16fa8cc249 - Am I the only one who thinks that static_casts can create really clunky code? (Thanks, GCC, for your overly paranoid warning settings that necessitate such ugliness. :( )
SVN r2844 (trunk)
2010-09-22 06:52:48 +00:00
Braden Obrzut
15d74dab56 - Fixed: GCC warnings.
SVN r2843 (trunk)
2010-09-21 20:35:40 +00:00
Braden Obrzut
1e83634089 - Fixed: The aspectratio SBarInfo command never ticked its contents.
SVN r2842 (trunk)
2010-09-21 20:07:03 +00:00
Christoph Oelckers
385cfc5698 - fixed some texture priorititing problems with Hexen's player displays for the menu. The patches for these should not be placed in the TEX_WallPatch namespace because it's not what modders might expect from them.
SVN r2841 (trunk)
2010-09-21 16:50:09 +00:00
Christoph Oelckers
a3e98eb4ab - added automatic centering of Hexen's skill menu so that it can adjust automatically to the different player classes.
SVN r2840 (trunk)
2010-09-21 12:58:59 +00:00
Christoph Oelckers
583cbd49a6 - try to encapsulate access to the player class's display name for printing purposes.
SVN r2839 (trunk)
2010-09-21 09:43:54 +00:00
Braden Obrzut
0619a2677e - Fixed: SBarInfo couldn't print extended ASCII characters.
SVN r2838 (trunk)
2010-09-20 23:00:27 +00:00
Christoph Oelckers
59b19d36fb - Fixed: AActor::Slam mzst check the charging monster's health before setting it back to its See state. Damaging the target may cause action that might have killed it.
SVN r2837 (trunk)
2010-09-19 22:33:21 +00:00
Christoph Oelckers
a2673c2cc4 - fixed a misplaced ')' in addkeysection.
SVN r2836 (trunk)
2010-09-19 22:23:57 +00:00
Christoph Oelckers
74525ab1d6 - moved some info into the GAMEINFO section:
* the sprite used for 'pause'.
 * the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
 * the decision to make monsters run faster in nightmare mode.
- moved the hard coded lock messages for lock types 102 and 103 into the language lump.
- fixed: Raven's fast monsters could become slower in Nightmare if they had very short walking states.


SVN r2834 (trunk)
2010-09-19 10:39:34 +00:00
Christoph Oelckers
7dcf9b4738 - fixed: The current level's statistics should not be updated when not actually playing.
- added a STAT display for the game statistics info.


SVN r2833 (trunk)
2010-09-19 09:02:44 +00:00
Christoph Oelckers
9a8a446840 - added player class definition through the GAMEINFO section in MAPINFO. Also added a NOMENU flag that can be set for a player class. This means that the use of KEYCONF is now deprecated except for its original purpose: To define mod specific key binding options.
SVN r2832 (trunk)
2010-09-19 08:27:20 +00:00
Christoph Oelckers
e1de9f0633 - fixed: The newly accelerated mousewheel scrolling code did not check for the end of the list and could scroll one item too far. It also incremented VisBottom by 3 instead of 2.
- changed lock failsound lookup so that for each sound it tries to resolve it as a player sound before deciding if it is valid.

SVN r2830 (trunk)
2010-09-19 06:34:15 +00:00
Randy Heit
c4c69df6dc - Fixed: FOptionMenuItemJoyMap::SetSelection() did not convert from menu selection number to joyaxis number.
SVN r2829 (trunk)
2010-09-19 04:04:34 +00:00
Randy Heit
503ae5a9ee - Scroll two rows at a time with the mouse wheel in the options menu.
SVN r2828 (trunk)
2010-09-19 03:52:18 +00:00
Randy Heit
94ce4d5d69 - Remove extra *usefail definition for the pig player.
- Locks can now define more than one LockedSound by separating them with commas. The default setting
  for this property is now "*keytry", "misc/keytry". The first sound that is defined is the one that will
  be played for the lock. Thus, for standard locks, if the player class defines *keytry, that will be
  played. Otherwise, misc/keytry will be played as before.



SVN r2827 (trunk)
2010-09-19 03:30:31 +00:00
Christoph Oelckers
df138fe4f9 - added a ClearCounters function to AActor that handles everything necessary to un-count an item that is not supposed to be counted but has some of the COUNT* flags set.
- merged all places where secrets are credited into one common function.
- added the Doom64 COUNTSECRET actor flag.
- fixed: AInventory::CreateCopy did not clear the COUNTITEM flag.
- fixed: Dropping an item did not increase the item count but the dropped item could still have the COUNTITEM flag. Now this flag gets cleared when the item gets picked up so that dropped items don't count a second time.

SVN r2826 (trunk)
2010-09-19 00:06:45 +00:00
Christoph Oelckers
7b01f7b296 - merged Thing_Destroy extension from Doom64 branch into trunk and extended it by a tid=0, tag!=0 case which will kill all shootable actors in sectors with the specified tag.
SVN r2825 (trunk)
2010-09-18 22:39:27 +00:00
Braden Obrzut
b50007ecf6 - Fixed: Compilation errors on Mac OS X.
SVN r2824 (trunk)
2010-09-18 20:13:56 +00:00
Braden Obrzut
20513cff41 - Fixed Linux compilation issue with statistics.cpp
SVN r2823 (trunk)
2010-09-18 17:45:19 +00:00
Christoph Oelckers
54bdf38fef - resurrected some old statistics code I had and made some minor enhancements to be of more use.
SVN r2821 (trunk)
2010-09-18 16:08:10 +00:00
Christoph Oelckers
051ae3224f - fixed: The subsector serializing code accessed the subsector array before validating the index.
- added episode names to episode definitions of Doom 1 and Chex Quest.


SVN r2820 (trunk)
2010-09-18 12:37:22 +00:00
Randy Heit
eb031d73e7 - Change the time when walking monsters step down steps to just after the step rather than just before.
This allows for thrusting walking monsters vertically without them suddenly warping to the ground.



SVN r2819 (trunk)
2010-09-18 02:55:08 +00:00
Randy Heit
5871712fd4 - Fixed incorrect definition of FLUID_FAILED when building with DYN_FLUIDSYNTH enabled.
SVN r2818 (trunk)
2010-09-18 02:12:49 +00:00
Christoph Oelckers
3090ad7be6 - we don't need to include lists.h any longer.
SVN r2817 (trunk)
2010-09-17 22:57:04 +00:00
Christoph Oelckers
eeab5ba0e4 - reintegrate savegame menu changes back into trunk
SVN r2816 (trunk)
2010-09-17 22:48:55 +00:00
Christoph Oelckers
46b3bb8e41 - moved BFGSplash damage type to BFGExtra actor so that it can be replaced.
SVN r2808 (trunk)
2010-09-17 13:22:39 +00:00
Christoph Oelckers
e385de010d - fixed: FValueTextItem::MenuEvent must eat all MKEY_Enter events so that the menu doesn't try to activate the item which results in an attempt to create an invalid submenu.
SVN r2807 (trunk)
2010-09-17 10:11:39 +00:00
Christoph Oelckers
fa062aa141 - fixed: DPlayerMenu::ClassChanged needs to call PickPlayerClass before setting the playerclass CVAR.
SVN r2806 (trunk)
2010-09-17 08:19:02 +00:00
Christoph Oelckers
ae3c60454f - fixed: M_Ticker should not run any code when the menu is off.
SVN r2805 (trunk)
2010-09-17 06:20:08 +00:00
Christoph Oelckers
35aa6e7847 - fixed: The player name input box did not 0-terminate the string when temporarily appending an underscore for the cursor display.
SVN r2804 (trunk)
2010-09-16 23:16:06 +00:00
Christoph Oelckers
3424548bec - skip all mouse move events that come right after switching to native mouse.
Windows sends some when the mouseis ungrabbed even when it does not move.
  This caused the currently selected menu item to get unselected.



SVN r2803 (trunk)
2010-09-16 22:45:12 +00:00
Christoph Oelckers
198c714dad - fixed the compatibility handler of AAmbientSound::Serialize.
SVN r2802 (trunk)
2010-09-16 20:47:41 +00:00
Christoph Oelckers
6789b8936c - fixed: When moving a sector plane P_CheckPosition must do the same anti-overlap checks for monsters like P_Move to avoid monster pile-ups.
SVN r2801 (trunk)
2010-09-16 20:15:44 +00:00
Christoph Oelckers
6db772b4e5 - fixed the player class selection fix from r2798.
SVN r2800 (trunk)
2010-09-16 17:01:42 +00:00
Christoph Oelckers
491da14d9b - Changed the ambient sound timer to use level.maptime instead of gametic so that it gets paused along with the rest of the game automatically.
SVN r2799 (trunk)
2010-09-16 16:29:23 +00:00
Christoph Oelckers
4da5ce74ca - fixed: The menu should not override the user's player class if there is no player class menu.
SVN r2798 (trunk)
2010-09-16 16:20:39 +00:00
Christoph Oelckers
09da387689 - added: If a map contains both extended normal and GL nodes the GL nodes loader will now load the prebuilt GL nodes.
SVN r2797 (trunk)
2010-09-16 14:26:56 +00:00
Christoph Oelckers
a5be18c1c1 - try not to scale the option menu to more than 3/4 of the screen's width if doable.
SVN r2796 (trunk)
2010-09-16 12:48:58 +00:00
Christoph Oelckers
ee87fdc58e - some layout tweaks for the option menu system, in particular to shorten the sliders if the menu is too wide.
- allow specifying the fractional precision for the numbers behind the sliders.
- took all HUD related options out of the display options menu and created a seaparate one for them.
- added several more display and HUD options to the menu.
- created a new 'Miscellaneous options' menu for a few items that should be accessible but don't fit anywhere else.


SVN r2795 (trunk)
2010-09-16 10:59:40 +00:00
Christoph Oelckers
deef0e0a88 - oops
SVN r2794 (trunk)
2010-09-16 08:36:14 +00:00
Christoph Oelckers
916d4809a9 - added Demolisher's APROP_Target/TracerTID submission.
SVN r2793 (trunk)
2010-09-16 07:00:27 +00:00
Christoph Oelckers
3662bf8a15 - reverted r2783 because it was causing problems.
SVN r2792 (trunk)
2010-09-16 06:51:42 +00:00
Christoph Oelckers
c948fd08f2 - fixed: GUI mouse events did not take letterboxing into account.
SVN r2788 (trunk)
2010-09-15 21:53:12 +00:00
Christoph Oelckers
106cf82f62 - added a fixed version of Demolisher's GetActor** submission for returning the activator's info when the tid is 0.
SVN r2787 (trunk)
2010-09-15 21:41:49 +00:00
Christoph Oelckers
5dfc57336e - fixed: The class selection menu crashed when no item in the menu was selected.
SVN r2786 (trunk)
2010-09-15 20:11:32 +00:00
Christoph Oelckers
d8fd72e19a - added Khamsin's fix for visible mouse cursors in Linux fullscreen mode with mouse disabled.
SVN r2785 (trunk)
2010-09-15 16:50:08 +00:00
Christoph Oelckers
dca03ac76a - changed ACS's print n: cast to use an actor's tag for non-players instead of the class name.
SVN r2784 (trunk)
2010-09-15 14:47:44 +00:00
Christoph Oelckers
a0d7693f33 - added Spleen's fix for not running 2 frames of the weapon when the player spawns.
SVN r2783 (trunk)
2010-09-15 14:09:48 +00:00
Christoph Oelckers
4ca21e8e38 - added Edward-san's 'changemus' submission for printing the currently playing music track.
SVN r2782 (trunk)
2010-09-15 13:49:11 +00:00
Christoph Oelckers
d5f9b0874e - fixed: Lines in the option menu that covered the same vertical space as the back button rendered the back button inoperable.
SVN r2779 (trunk)
2010-09-15 10:22:38 +00:00
Christoph Oelckers
087979d6cc - fixed: skipping the skill menu locked up the menu sequence for starting a game.
SVN r2777 (trunk)
2010-09-14 22:00:02 +00:00
Christoph Oelckers
5fcac9b5f1 - fixed: The default GetPixelDoubling function in DFrameBuffer returned 1 instead of 0.
- copied a NULL pointer check for screen from GZDoom.


SVN r2776 (trunk)
2010-09-14 20:53:12 +00:00
Christoph Oelckers
ecb34b8302 - relaxed conditions for shortening the sliders so that they remain at full size at 800x600.
SVN r2771 (trunk)
2010-09-14 19:08:21 +00:00
Christoph Oelckers
8308a35345 - deleted empty old files.
SVN r2769 (trunk)
2010-09-14 17:29:54 +00:00
Christoph Oelckers
579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Christoph Oelckers
ec0b07b5e2 - added Entryway's AM_Rotate optimization.
SVN r2739 (trunk)
2010-09-10 13:49:08 +00:00
Christoph Oelckers
610ff3956e - fixed P_LoopSideDefs could crash on the second P_LoopSidedefs call if there were unconnected linedefs in the map.
SVN r2716 (trunk)
2010-09-08 08:53:39 +00:00
Christoph Oelckers
ce2c2bd825 - replaced AM_Rotate with a more precise floating point version posted by Entryway.
SVN r2713 (trunk)
2010-09-07 20:23:44 +00:00
Braden Obrzut
31754a582d - Fixed: when using the border property of drawbar, interpolation didn't work quite right.
SVN r2705 (trunk)
2010-09-06 20:12:44 +00:00
Christoph Oelckers
e9211aaad3 - added some NULL pointer checks to the kill CCMD and APlayerPawn::PostBeginPlay.
SVN r2697 (trunk)
2010-09-05 20:51:13 +00:00
Braden Obrzut
3dbf807345 - Applied Chris's patch to fix hmi compilation error on Linux.
SVN r2689 (trunk)
2010-09-04 18:21:51 +00:00
Randy Heit
61d438e1eb - Don't call M_NotifyNewSave() before closing the new savegame.
- Disallow negative read lengths in FileReader::Read().

SVN r2685 (trunk)
2010-09-04 03:02:13 +00:00
Randy Heit
84b9de8c14 - Make sure Tempo is initialized before creating SMFs.
SVN r2684 (trunk)
2010-09-04 02:57:36 +00:00
Randy Heit
070ec75785 - Cleaned up the ugly MIDI song creating code a little.
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp
  is no longer used but is kept around as a reference.

SVN r2677 (trunk)
2010-09-03 05:08:05 +00:00
Randy Heit
092cbfd55b - Fixed: When the game nodes were the same as the render nodes, their pointers would not be NULLed.
SVN r2676 (trunk)
2010-09-03 02:11:35 +00:00
Randy Heit
81e21b0688 - Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the
  same implementation.
- Added a player for HMI midi files.

SVN r2675 (trunk)
2010-09-02 23:17:58 +00:00
Braden Obrzut
241e09c271 - Fixed: font monospacing didn't apply to the space character.
SVN r2666 (trunk)
2010-09-01 22:26:07 +00:00
Randy Heit
0202c0c3a9 - Added the am_zoom command to zoom the automap by a specific step and set default mouse wheel
bindings for it. I'm not sure how this should be exposed through the menu, however. Technically,
  it's different from the pan keys, but from an end user's point of view, they both zoom the
  automap, so they should both be listed under the Zoom in and out controls. But the menu code
  can't handle that.

SVN r2663 (trunk)
2010-09-01 05:03:17 +00:00
Randy Heit
7bf0cd13a6 - Fixed: The mouse pointer stayed hidden on startup because the CursorState variable was not
set until the mouse was grabbed.

SVN r2662 (trunk)
2010-09-01 04:24:56 +00:00
Randy Heit
c25f206fbb - Disable framebuffer debug spew. All those OutputDebugString messages from DCanvas::DrawLine()'s
Lock and Unlock calls were slowing things down extremely when looking at a software-drawn
  automap.

SVN r2661 (trunk)
2010-09-01 04:13:36 +00:00
Randy Heit
a2573e4bb3 - Fixes to compile with GCC 4.5.0.
SVN r2660 (trunk)
2010-09-01 03:30:18 +00:00
Randy Heit
4b817cfd8b - Fix an ICE when compiling with GCC 4.5.0.
SVN r2659 (trunk)
2010-09-01 03:22:43 +00:00
Braden Obrzut
230178bf98 - Added drawshadow flag to drawstring.
SVN r2656 (trunk)
2010-08-31 21:36:30 +00:00
Christoph Oelckers
88f0fa270a - added kgsws-cz's FBF_NOFLASH submission.
SVN r2655 (trunk)
2010-08-31 21:24:03 +00:00
Randy Heit
399cfc4890 - Fixd MinGW compilation of p_glnodes.cpp.
SVN r2650 (trunk)
2010-08-31 04:35:13 +00:00
Randy Heit
08a40b22be - BOOM compatibility fix: Allow voodoo dolls to spawn inside narrow pits.
SVN r2641 (trunk)
2010-08-29 17:57:10 +00:00
Christoph Oelckers
c304b39ecc - added new sector special 195 to set the 'hidden' sector flag in non-UDMF maps.
SVN r2637 (trunk)
2010-08-29 12:20:35 +00:00
Randy Heit
d4b03e2b77 -
SVN r2629 (trunk)
2010-08-29 03:52:02 +00:00
Randy Heit
f9691a24ff - Fixed: The automap was too aggressive about hiding markers.
SVN r2628 (trunk)
2010-08-29 03:37:41 +00:00
Christoph Oelckers
a3c8e0c042 - fixed: P_LineAttack mixed up two flags variables.
SVN r2627 (trunk)
2010-08-28 20:25:52 +00:00
Christoph Oelckers
cbff41f481 - assws PinkSilver's LOF_NOJUMP submission for A_LookEx.
SVN r2626 (trunk)
2010-08-28 20:22:35 +00:00
Christoph Oelckers
eb3340e872 - fixed: Clearing a pickup message for inventory items was not possible. Changed it so that "You got a pickup" is AInventory's pickup message and not a default returned when nothing valid is set.
SVN r2625 (trunk)
2010-08-28 19:20:14 +00:00
Christoph Oelckers
387bfc0260 - added 'nospriterename' key to GAMEINFO lump so that PWADs have a means to disable this feature without having to specify a command line switch.
SVN r2623 (trunk)
2010-08-28 17:19:48 +00:00
Christoph Oelckers
4e1a514455 - fixed: Subsectors which are the origin of polyobjects should not be drawn on the textured automap because the vertices no longer are where they'd be expected to be.
SVN r2622 (trunk)
2010-08-28 16:51:41 +00:00
Christoph Oelckers
1dd3ecd6e2 - fixed: -nosfx deactivated the entire sound system which also made music inoperable. Changed it so that all it does is block sound effects from being started.
SVN r2621 (trunk)
2010-08-28 13:36:41 +00:00
Christoph Oelckers
5647fed0cf - fixed: armor factor application was done wrong.
- fixed: APROP_Invulnerable could only be set and unset but not checked.
- fixed: Two sided polyobjects applied thrust to sctors in a way that did not work.


SVN r2620 (trunk)
2010-08-28 12:57:23 +00:00
Christoph Oelckers
80f1a63cc9 - fixed: The textured automap node initialization code could crash on maps that only have single isolated sectors.
SVN r2618 (trunk)
2010-08-28 12:00:42 +00:00
Christoph Oelckers
5a9151d7d2 - fixed: Extraction of partner segs was broken in the internal node builder.
SVN r2617 (trunk)
2010-08-28 11:17:25 +00:00
Randy Heit
0d53867409 - Changed the default key for am_toggletexture to P so as not to conflict with the default chat key.
SVN r2616 (trunk)
2010-08-28 01:46:26 +00:00
Christoph Oelckers
76816f7da8 - disable check for hidden sectors because it does more harm than good.
- don't draw a textured automap in overlay mode.


SVN r2614 (trunk)
2010-08-27 17:49:27 +00:00
Christoph Oelckers
ece980d372 - fixed check for GL nodebuild
SVN r2613 (trunk)
2010-08-27 17:34:25 +00:00
Christoph Oelckers
3afa8149de - added a fix from GZDoom to handle levels with compressed sidedefs that were processed by older ZDBSPs.
SVN r2612 (trunk)
2010-08-27 16:53:11 +00:00
Christoph Oelckers
2152bc88d6 - fixed CROSSHAIR_INDEX in m_options.cpp.
SVN r2611 (trunk)
2010-08-27 16:06:10 +00:00
Christoph Oelckers
a11e70bf5f - changed savegame version check for automap stuff.
SVN r2610 (trunk)
2010-08-27 15:22:21 +00:00
Christoph Oelckers
9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers
9102200771 - added: Let the kill CCMD also kill replacements of the monster that is specified.
- add a GetReplacement method to PClass to clean up some really ugly code
- Who wrote the 'kill' CCMD? The way it checked if two classes were identical was horrendously overcomplicated.

SVN r2601 (trunk)
2010-08-26 20:59:15 +00:00
Christoph Oelckers
ffa58aadbe - added Aroenai's snd_menuvolume submission.
SVN r2600 (trunk)
2010-08-26 18:08:09 +00:00
Christoph Oelckers
06a35dea11 - added: offset the trail actors spawned by AFastProjectile by missileheight.
SVN r2599 (trunk)
2010-08-26 18:03:15 +00:00
Christoph Oelckers
eed5812799 - added 'fluidsynth' option for $mididevice command.
SVN r2598 (trunk)
2010-08-26 16:46:01 +00:00
Christoph Oelckers
6c57441bcd - fixed: The UDMF check for dialogues without owning class needs to be relaxed. A dialogue with an id and no class is a valid construct.
- fixed: Trying to assign a non-existent dialogue to an actor in UDMF partially overwrote the default dialogue.


SVN r2579 (trunk)
2010-08-24 13:57:17 +00:00
Christoph Oelckers
f08c66d664 - externalized the "You seem to have enough" string to language lump.
- allow all texts in conversations to reference the string table.
- fixed: If no dialogue is found for the current map, SCRIPT00 should still be loaded.


SVN r2577 (trunk)
2010-08-24 09:53:10 +00:00
Randy Heit
c058c644a4 - MinGW did not like this assignment in the FluidSynth loader.
SVN r2573 (trunk)
2010-08-24 02:35:10 +00:00
Christoph Oelckers
9073b8cdea - removed FActorInfo::ConversationID which was development garbage of the USDF branch.
SVN r2569 (trunk)
2010-08-22 17:49:28 +00:00
Christoph Oelckers
ec71635ca1 - fixed: The USDF CheckActorType function did not return the class object for ZDoom namespace.
- fixed: The binary check for dialogue lumps must only rewind the file by 4 bytes, not completely to the start.


SVN r2568 (trunk)
2010-08-22 17:31:42 +00:00
Christoph Oelckers
883510efe2 - added UMDF property to assign conversation dialogues to mapthings.
SVN r2567 (trunk)
2010-08-22 17:18:46 +00:00
Christoph Oelckers
96a8f1ceee - fixed: The SaveVersion check for the USDF related changes for the current dialogue did not have the correct version number.
- fixed: All blood spawning functions checked the ALLOWPARTICLES flag on the class defaults before actor replacement instead of after.


SVN r2563 (trunk)
2010-08-21 19:50:07 +00:00
Christoph Oelckers
1460b8feed - fixed: The check for old incompatible savegames with dialogues was wrong.
SVN r2562 (trunk)
2010-08-20 19:10:02 +00:00
Christoph Oelckers
b452bec0ee - merge USDF branch into trunk.
- add USDF spexs.


SVN r2561 (trunk)
2010-08-20 12:20:51 +00:00
Randy Heit
6f82db47b8 - Merge the shared code for the softsynths into a common base class.
SVN r2560 (trunk)
2010-08-20 04:21:53 +00:00
Randy Heit
eafb0ab7cf - Expose more FluidSynth settings through these cvars:
* fluid_samplerate
  * fluid_threads
  * fluid_reverb_roomsize
  * fluid_reverb_damping
  * fluid_reverb_width
  * fluid_reverb_level
  * fluid_chorus_voices
  * fluid_chorus_level
  * fluid_chorus_speed
  * fluid_chorus_depth
  * fluid_chorus_type

SVN r2559 (trunk)
2010-08-19 23:11:16 +00:00
Randy Heit
a68e9c8fa6 - Added a dlopen() version of on-demand FluidSynth loading and exposed it
to CMake through the DYN_FLUIDSYNTH option.



SVN r2558 (trunk)
2010-08-19 20:46:19 +00:00
Randy Heit
f389cd8b0f - Add on-demand loading for fluidsynth.dll. This also lets you build with FluidSynth support
without actually having the FluidSynth development files installed.

SVN r2557 (trunk)
2010-08-19 16:49:43 +00:00
Randy Heit
2136ef2aba - Also check for CT2MGM.SF2 if CT4MGM.SF2 is not found.
SVN r2556 (trunk)
2010-08-19 15:51:07 +00:00
Randy Heit
2c397b1aac - Add a default search for Creative's CT4MGM.SF2 on Windows if fluid_patchset is unspecified.
- Use fluid_patchset to specify the SoundFont(s) for FluidSynth instead of doubling up with
  snd_midipatchset, which is already used by FMOD.

SVN r2555 (trunk)
2010-08-19 15:46:49 +00:00
Randy Heit
576e597d2b - Increase the fluid_voices default to 128. It apparently has a poor voice cutting algorithm
which is painfully apparent on hexen.wad MAP01's music, which hits around 90 voices.
- Patch from Chris:
  * Add FluidSynth to the menu.
  * Enable FluidSynth for MIDI as well as MUS.
  * Fix CmakeLists.txt.


SVN r2554 (trunk)
2010-08-19 15:31:44 +00:00
Christoph Oelckers
f9523a01e3 - Added Gez's patch for moving tag strings into the language file and adding tags for all weapons and inventory items.
SVN r2552 (trunk)
2010-08-18 20:26:25 +00:00
Braden Obrzut
050b82f543 - Fixed: ZDoom wouldn't compile without FluidSynth.
SVN r2548 (trunk)
2010-08-17 04:22:17 +00:00
Randy Heit
d53ef3f38a - Oops. These changes didn't belong in the repository.
SVN r2547 (trunk)
2010-08-15 20:05:35 +00:00
Randy Heit
ea4ac390d9 - Forgot to include this music_fluidsynth_mididevice.cpp.
SVN r2546 (trunk)
2010-08-15 19:55:40 +00:00
Randy Heit
1fa4bbf69c - Added FluidSynth support as snd_mididevice -5. Only tested with Linux. I will have
to try compiling it myself on Windows to see if it's really that slow or if
  Ubuntu just ships an unoptimized version, because performance is pretty pathetic
  when compared to the other options. (I understand that it's a complete SoundFont2
  renderer, so it is understandably slower than something like TiMidity++, but still.
  Does it really need to be around 10x slower? I played with the chorus, reverb, and
  interpolation settings, and none of them seemed to make much difference in
  performance.)



SVN r2545 (trunk)
2010-08-15 19:54:59 +00:00
Christoph Oelckers
0657121847 - Backport from GZDoom: P_LoopSidedefs() needed another fix as it shouldn't try to report errors found on the second loop.
SVN r2544 (trunk)
2010-08-15 14:09:17 +00:00
Christoph Oelckers
66f6115c86 - added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.
SVN r2543 (trunk)
2010-08-15 10:02:10 +00:00
Braden Obrzut
a0d16bc99a - Fixed: The center flag for drawimage didn't work.
- Fixed: GCC didn't like casting from seg_t* to unsigned int on 64-bit systems.

SVN r2542 (trunk)
2010-08-14 21:01:49 +00:00
Christoph Oelckers
1fda9421ac Backported from GZDoom:
- Fixed: P_LoopSidedefs() needs to clean out sidetemp[] because when it's called a second time, the maximum of the number of vertices and that of sides may have increased compared to when P_AllocateSideDefs() created the array, which led to access violations.

SVN r2541 (trunk)
2010-08-14 20:00:47 +00:00
Christoph Oelckers
b288a7a416 - added option to set item pickup color through MAPINFO's GAMEINFO block.
SVN r2539 (trunk)
2010-08-14 06:25:38 +00:00
Randy Heit
1063a98c47 - Maybe allow assembly on Intel Macs? - attempt 2
SVN r2537 (trunk)
2010-08-13 22:12:42 +00:00
Christoph Oelckers
09bd076b17 - added PinkSilver's ACS Checksight submission.
SVN r2532 (trunk)
2010-08-13 06:31:22 +00:00
Christoph Oelckers
564fb6a723 - added TheShooter7/Aroenai's patch for switch on pickup menu option.
SVN r2531 (trunk)
2010-08-13 06:27:22 +00:00
Christoph Oelckers
d904d8276e - added TheShooter7's patch for NOPITCH flags for hitscan attacks.
SVN r2530 (trunk)
2010-08-13 06:22:49 +00:00
Randy Heit
dab3ff000e - Enable backpatching on non-Windows machines.
SVN r2528 (trunk)
2010-08-13 04:11:21 +00:00
Randy Heit
30ffe1d4b8 - Maybe enable assembly on Intel Macs?
SVN r2527 (trunk)
2010-08-13 03:14:05 +00:00
Randy Heit
4f03442a7a - Make the Cocoa IWAD picker behave like the others: Double-clicking an entry starts
it, as does pressing Return, and pressing Escape is equivalent to the Cancel button.



SVN r2526 (trunk)
2010-08-13 00:08:51 +00:00
Randy Heit
a27304baac - Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
SVN r2525 (trunk)
2010-08-12 22:56:08 +00:00
Randy Heit
3cf25ad8e5 - Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting
working now.



SVN r2524 (trunk)
2010-08-12 22:39:06 +00:00
Randy Heit
7d40b8a9a4 - Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
SVN r2523 (trunk)
2010-08-12 22:15:32 +00:00
Randy Heit
c3fa9a54a0 - Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.



SVN r2522 (trunk)
2010-08-12 21:28:16 +00:00
Christoph Oelckers
185bd2f15d - backported some 3D floor changes from GZDoom.
SVN r2517 (trunk)
2010-08-12 07:05:31 +00:00
Christoph Oelckers
e9c43fe908 - fixed: P_LoopSidedefs must be called again before setting up the polyobjects if the nodes were rebuilt. The original data is no longer valid in case vertexes were merged by the node builder.
SVN r2516 (trunk)
2010-08-12 06:43:12 +00:00
Braden Obrzut
99e0adaf45 - Fixed some issues with compiling on the Mac. Some options were added to force compilation of internal libraries and added checks for building ppc binaries on x86.
SVN r2515 (trunk)
2010-08-12 02:32:03 +00:00
Christoph Oelckers
096edb0817 - move vid_listadapters CCMD into common code.
SVN r2509 (trunk)
2010-08-11 06:31:47 +00:00
Randy Heit
ed5a8e597c - Version bump to 2.5.0.
SVN r2507 (trunk)
2010-08-11 04:01:26 +00:00
Randy Heit
0749466d2d - Set explicit positioning for the gameplay options menu instead of relying on the automatic
positioning.

SVN r2506 (trunk)
2010-08-11 04:00:38 +00:00
Randy Heit
3416a7fc47 - Fix compilation with MinGW + w32api and clean up warnings.
SVN r2505 (trunk)
2010-08-11 03:56:31 +00:00
Christoph Oelckers
e0bd67de5a - added: If a PowerFlight item got a valid icon don't use the spinning wings for the HUD display
SVN r2504 (trunk)
2010-08-10 19:22:43 +00:00
Christoph Oelckers
482d7631f4 - sorted zspecials.acs properly so one can find all the specials.
- added Polyobj_MoveToSpot action specials. They are functionally identical to Polyobj_MoveTo but get the target coordinate from a map spot instead.


SVN r2503 (trunk)
2010-08-10 19:06:33 +00:00
Christoph Oelckers
25cb3593ce - Added GetPolyobjX and GetPolyobjY ACS functions.
SVN r2502 (trunk)
2010-08-10 18:30:18 +00:00
Christoph Oelckers
5d5f25fdab - fixed: Changing APROP_Friendly in ACS did not adjust the monster count.
- fixed: AActor::CanSeek had the check for the visibility of the target actor's alpha reversed.
- added an Alt HUD icon for Hexen's fighter's fist.


SVN r2501 (trunk)
2010-08-10 16:22:57 +00:00
Christoph Oelckers
79ff9ae3ae - fixed: FNodeBuilder::ExtractMini needs to check for segs that were created from minisegs.
- made polyobject node building code more update friendly for GZDoom by making R_BuildPolyBSP public.


SVN r2500 (trunk)
2010-08-10 08:13:23 +00:00
Randy Heit
100731e3ab - Shorten the description of DF2_KILLBOSSMONST in the menu.
SVN r2498 (trunk)
2010-08-08 02:19:40 +00:00
Randy Heit
6234e7445b - Added m_hidepointer cvar to control whether or not the mouse pointer is hidden when it's
grabbed. At least if the pointer is visible when the debugger break happens, I don't worry
  about it getting stuck hidden. (Note that that seems to be related to Alt+Tabbing out of the
  game and coming back. I wish I knew what's going on.)

SVN r2497 (trunk)
2010-08-08 02:04:47 +00:00
Randy Heit
6000217889 - Hide the cursor by overriding WM_SETCURSOR, as seen in the IDirect3DDEvice9::ShowCursor()
example. Do not modify the window class pointer. I still had an instance where I was left with
  an invisible pointer no matter where I moved it, so hopefully this takes care of that. (edit:
  it doesn't.)

SVN r2496 (trunk)
2010-08-08 01:53:41 +00:00
Randy Heit
d32d8b4f9f - Removed TheInvisibleCursor, since passing NULL to SetCursor() has exactly the same effect.
- Two tweaks to raw mouse input to make it better behaved when the window suddenly has focus
  removed (e.g. because of a debugger break):
  * Keep the pointer centered in the window, as for Win32Mouse. Even though it's not generating
    any traditional input events, it's still moving all over the screen. e.g. If we have focus
    yanked away and you're pressing the right mouse button as it happens, you can suddenly find
    yourself with a popup menu open.
  * Use SetCursorState() like the other mouse modes instead of ShowCursor() to hide the
    pointer. This way, we don't need to worry about being stuck with trying to use the system
    with an invisible pointer, because only the game window will be pointer-less.

SVN r2495 (trunk)
2010-08-08 01:28:20 +00:00
Randy Heit
f5a1aa994b - pr_hom shouldn't have a name, since we don't care about it for save games or network sync.
SVN r2494 (trunk)
2010-08-08 00:59:40 +00:00
Randy Heit
9137ef04f6 - Added "SoundSequence" UDMF sector property. This is the name of the sound sequence to play for
the sector. Note that this contrasts with sound sequence things in that it takes a name and
  not a number. Also, placing a sound sequence thing in a sector will override this property.

SVN r2492 (trunk)
2010-08-07 04:32:18 +00:00
Randy Heit
cb6e9b90fb - Added r_clearbuffer cvar. Valid values are:
* 0. Do not clear. This is the standard behavior.
  * 1. Clear to black.
  * 2. Clear to white.
  * 3. Alternate between black and white every 128 ms.
  * 4. Step through the palette one color at a time every 32 ms.
  * 5. Epileptic seizure inducing random colors every frame.

SVN r2491 (trunk)
2010-08-07 03:57:22 +00:00
Randy Heit
b59162a33a - Fixed: Floor_RaiseAndCrush did not subtract 8 from the lowest ceiling's height when determining
a destination height. (It did subtract 8, but in the wrong place.)

SVN r2490 (trunk)
2010-08-07 03:36:56 +00:00
Randy Heit
9a025fbb23 - Changed xtoviewangle[] calculation so that when it mirrors the array to the left half, it
does not include xtoviewangle[centerx] in the mirroring so that the two columns at the center
  of the screen do not map to the same angle. (BTW, this array is only used for the sky drawing.)

SVN r2487 (trunk)
2010-08-01 20:21:04 +00:00
Randy Heit
b2d018eccd - Made SBARINFO more tolerant of certain error conditions. (Why is there so much duplication of
code? It felt like I was changing the same lines over and over and over.)

SVN r2486 (trunk)
2010-08-01 20:05:52 +00:00
Randy Heit
fc6e48dd3f - Fixed: FPolyObj::LinkPolyobj() did not add the polyobject's first side to the polyobject's
bounding box. It should also add both vertices from each side, since non-closed polyobjects
  are possible with PolyObj_ExplicitLine.

SVN r2485 (trunk)
2010-08-01 19:50:41 +00:00
Randy Heit
b9ea9a415e - Added Polyobj_MoveTo, Polyobj_OR_MoveTo, and Polyobj_Stop.
- Cleaned up a couple of warnings.

SVN r2483 (trunk)
2010-08-01 19:14:10 +00:00
Randy Heit
58269a18f0 - Use a flood-fill algorithm to define polyobjects with PolyObj_StartLine instead of a simple
loop-following algorithm. This fixes the polyobjects in http://www.doomworld.com/idgames/index.php?id=6291

SVN r2482 (trunk)
2010-08-01 05:16:09 +00:00
Randy Heit
8ce9e178d4 - Changed the four-byte fillers in asm_x86_64/tmap3.s from 0x88888888 to 0x44444444 because
newer version of gas complained about it.

SVN r2481 (trunk)
2010-08-01 04:31:18 +00:00
Randy Heit
677d07f837 - Merge BSP-able polyobjects back into the trunk.
SVN r2480 (trunk)
2010-08-01 02:41:56 +00:00
Randy Heit
8d5ca6501a - Add a NULL FrontCopySurface check to D3DFB::GetCurrentScreen, because this can apparently
be NULL when starting with -timedemo or -playdemo. (But it never happened for me in the
  debugger.)

SVN r2474 (trunk)
2010-07-30 03:21:13 +00:00
Christoph Oelckers
1b531f0ffc - missed this one...
SVN r2470 (trunk)
2010-07-29 06:54:00 +00:00
Christoph Oelckers
30ffffd904 - fixed: Checks for poison damage were not correct.
SVN r2469 (trunk)
2010-07-29 06:53:20 +00:00
Christoph Oelckers
e1f06da5e3 - separated hitlist generation for texture precaching into a virtual function of DFrameBuffer.
SVN r2466 (trunk)
2010-07-28 21:48:24 +00:00
Christoph Oelckers
6f4ed40496 - added TIHan's ArmorFactor submission.
SVN r2465 (trunk)
2010-07-27 18:32:10 +00:00
Christoph Oelckers
2cf19f436a - added Gez's dumpactors patch.
SVN r2463 (trunk)
2010-07-26 17:10:43 +00:00
Christoph Oelckers
35ba99ed31 - Added Gez's automap enhancements but made the new key icon optional.
SVN r2462 (trunk)
2010-07-25 21:46:51 +00:00
Randy Heit
1bda16cc45 - Use side_t::RightSide in IterFindPolySides() instead of the SideListHead array.
SVN r2461 (trunk)
2010-07-25 21:38:34 +00:00
Braden Obrzut
006fb343b0 - Added Pink Silver's DrawString/Number alignment patch (with one minor change).
SVN r2460 (trunk)
2010-07-25 20:46:14 +00:00
Christoph Oelckers
a373c3858e - fixed: A_Teleport's RNG had the same name as the one used by SelectTeleDest.
SVN r2458 (trunk)
2010-07-25 10:17:16 +00:00
Christoph Oelckers
9ca1de6435 - added PinkSilver's APROP_MasterTid submission.
SVN r2456 (trunk)
2010-07-24 06:38:57 +00:00
Christoph Oelckers
2b381babed - added DavidPH's A_JumpIfTargetInLOS extension submission.
SVN r2455 (trunk)
2010-07-24 06:30:52 +00:00
Christoph Oelckers
37f55c6539 - added DavidPH's A_RailAttack extension submission.
SVN r2454 (trunk)
2010-07-24 06:27:13 +00:00
Christoph Oelckers
a6499a6efb - added DavidPH's A_Saw extension submission.
SVN r2453 (trunk)
2010-07-24 06:21:53 +00:00
Christoph Oelckers
58be666c9c - added DavidÃœH's explicit angle submission for A_CustomBulletAttack function.
SVN r2452 (trunk)
2010-07-24 06:15:07 +00:00
Christoph Oelckers
bc47f7133b - Added DavidPH's A_Teleport submission but removed the now redundant GetSpotWithMinDistance functions.
SVN r2451 (trunk)
2010-07-23 21:55:01 +00:00
Christoph Oelckers
f430881a54 - Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
SVN r2450 (trunk)
2010-07-23 21:36:17 +00:00
Christoph Oelckers
545a892faa - added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
SVN r2449 (trunk)
2010-07-23 21:19:59 +00:00
Christoph Oelckers
4ac64b6df7 - merged polyobject branch into trunk and made some adjustments for savegame compatibility.
SVN r2448 (trunk)
2010-07-23 05:56:25 +00:00
Braden Obrzut
921c950bad - Release Objective-C objects (since I found out the garbage collector is opt-in).
SVN r2441 (trunk)
2010-07-18 09:23:33 +00:00
Braden Obrzut
1cf12693ba - Added Cocoa IWAD picker for Mac OS X.
SVN r2440 (trunk)
2010-07-18 08:00:12 +00:00
Randy Heit
5b63fd0675 - Added an optional parameter to DamageScreenColor to scale the amount of damage for pain
flash calculations. This can range from 0.0 to 1.0.

SVN r2435 (trunk)
2010-07-16 03:46:20 +00:00
Randy Heit
c29639426f - Sounds that define a loop no longer play looped by default. They must be started with
CHAN_LOOP so that the higher level sound code knows they loop and can handle them accordingly.
- Added support for a LOOP_BIDI tag. Set it to "1", "On", "True", or "Yes" to use a
  bidirectional loop. This only works with sounds and not music, because music is streamed
  so does not support them.
- Extended custom loop support to work with samples as well as music.

SVN r2434 (trunk)
2010-07-15 23:07:41 +00:00
Randy Heit
99a2014ead - Added support for custom loop points for songs. This does not work with MP3 because of the
way MP3 obfuscates custom tags. Vorbis and FLAC are fine. (I could make it work with MP3,
  but you should be using Vorbis instead.) They are:
  * LOOP_START: Start time for the loop. If omitted, the song repeats from the beginning.
  * LOOP_END: End time for the loop. If omitted, the song loops at the end. (If you need to specify this, why aren't you using a shorter song.)
  You only need to specify one of these tags to set the custom loop. Naturally, you can set
  them both, as well. The format for each tag is the same:
  * If it contains a colon (:), it specifies by time. This may be of the form 00:00:00.00
    (HH:MM:SS.ss) to specify by play. Various parts may be left off. e.g. To start the loop
    at 20 seconds in, you can use ":20", 0:20", "00:00:20", ":20.0", etc. Values after the
    decimal are fractions of a second and accurate to one millisecond.
  * If you don't include a colon but just have a raw number, then it's the number of PCM
    samples at which to loop.
  * Any characters other than digits (0-9), colons (:), or a single decimal point for the
    seconds portion will result in the tag being ignored.

SVN r2424 (trunk)
2010-07-10 02:59:34 +00:00
Randy Heit
305a03d7c8 - Fixed copy-pasta error for "give everything".
SVN r2420 (trunk)
2010-07-10 00:51:38 +00:00
Randy Heit
a401779715 - Fixed: FMugShotFrame::GetTexture() needs to NULL-check skin_face. (default_face might also be
empty. I don't know if that deserves special handling, but it doesn't crash, so I'll let blzut3
  worry about it.)

SVN r2419 (trunk)
2010-07-09 03:04:43 +00:00
Randy Heit
5a4dad1205 - Don't give health for "give all".
- "Give artifacts" and "give puzzlepieces" now use the amount value to decide how much of each
  item to give you. 0 means to give you the max. The old behavior can be obtained by explicitly
  stating 1. (Since "give all" encompasses these as well, this also applies to that.)
- Added "give everything" cheat to give everything. This is like "give all" but ignores the
  WIF_CHEATNOTWEAPON flag. (Note that this flag has valid uses, but that doesn't stop people
  from abusing it anyway.)

SVN r2418 (trunk)
2010-07-09 01:57:46 +00:00
Randy Heit
e379658143 - Added multimonitor support, as per Tom Seddon's code. vid_adapter controls which one to use,
and vid_listadapters prints them.

SVN r2417 (trunk)
2010-07-08 23:59:45 +00:00
Christoph Oelckers
5bb4ca5bc6 - fixed: Hexen's melee weapons were missing some NULL pointer checks in the code that determines whether they hit something or not.
SVN r2415 (trunk)
2010-07-08 21:16:01 +00:00
Christoph Oelckers
ea04d2bbdf - fixed: ZDoom aborted on old WADs containing a binary LANGUAGE lump.
SVN r2414 (trunk)
2010-07-06 20:32:24 +00:00
Christoph Oelckers
e1e7cebd01 - fixed: The SBARINFO parser insisted that all player classes being specified have to exist. This, however, made it impossible to redefine the player classes in Hexen.
SVN r2401 (trunk)
2010-07-01 20:57:11 +00:00
Christoph Oelckers
6df5e6f9cb - added Gez's anti-crossinclude submission but made some changes. Cross-includes overriding core files will produce fatal errors but cross-includes between PWADs will be tolerated. For DECORATE a command line override switch exists so that for testing the error can be disabled.
SVN r2400 (trunk)
2010-07-01 09:35:39 +00:00
Christoph Oelckers
853b8f8963 - did some profiling of P_InterceptVector. Here's the results I got:
* the unaltered floating point version is 10% faster than the 64 bit integer version.
  * using doubles instead of floats increases performance by another 25%.
  * another 15% can be gained by manually optimizing the code.
- P_InterceptVector now uses the optimized floating point version which is almost twice as fast as the 64bit integer version.

SVN r2395 (trunk)
2010-06-30 15:20:18 +00:00
Braden Obrzut
9bf543af99 - Fixed: Episodes starting on a map with 8 characters in its lump name would not work.
SVN r2394 (trunk)
2010-06-30 06:09:49 +00:00
Randy Heit
551f0d3148 - Remove fakedblocker, since it was unused.
SVN r2391 (trunk)
2010-06-27 20:49:02 +00:00
Randy Heit
86b17d6d9f - Sync debugging output between ZDBSP and ZDoom's internal node builder.
SVN r2389 (trunk)
2010-06-27 20:21:07 +00:00
Randy Heit
7069ea88bb - Fixed erroneous allocation of class defaults using new to M_Malloc to match the rest of them.
SVN r2386 (trunk)
2010-06-21 01:49:35 +00:00
Christoph Oelckers
b8db84b6bc - added a new dmflag to allow killing all monsters spawned by a boss brain's cubes after killing the brain (for those who like clean level statistics.)
SVN r2385 (trunk)
2010-06-20 17:57:32 +00:00
Randy Heit
503b934938 - Added better error messages for MIDI playback failure than just "MIDI playback failure".
SVN r2383 (trunk)
2010-06-20 04:41:23 +00:00
Randy Heit
e379d24388 - Fixed: The intensity scalar for building DesaturateColormaps was off by one.
SVN r2380 (trunk)
2010-06-18 04:10:05 +00:00
Randy Heit
141cf825cf - Fixed: iCopyColors() should not invert the grayscale value for special colormaps, since
this is already handled by the GrayscaleToColor array for the one colormap that needs it.

SVN r2379 (trunk)
2010-06-18 03:52:04 +00:00
Randy Heit
34d8212d64 - Changed G_ChangeLevel()'s parameter list to match the ACS version's.
- Added resethealth to complement resetinventory.

SVN r2377 (trunk)
2010-06-18 03:35:41 +00:00
Randy Heit
1bbae4a8f2 - Fixed: PClass::InitializeActors() did not initialize the ActorInfo's ColorSets. Why this only caused
problems on PPC Macs, I do not know.



SVN r2374 (trunk)
2010-06-13 16:50:54 +00:00
Christoph Oelckers
e535b40a9e - fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack.
SVN r2373 (trunk)
2010-06-13 11:14:01 +00:00
Christoph Oelckers
6ff2abc53d - fixed: Setting +NOCLIP for a player class did not work.
SVN r2371 (trunk)
2010-06-13 10:44:06 +00:00
Christoph Oelckers
e2ce20a445 - fixed: A_Print and related functions should not make a use state chain succeed.
- fixed: APowerIronFeet must continuously reset the player's air supply.


SVN r2370 (trunk)
2010-06-13 10:38:38 +00:00
Christoph Oelckers
32f3d00514 - fixed: Stopping music did not clear the variable used to restart the last played song.
SVN r2369 (trunk)
2010-06-13 10:24:56 +00:00
Christoph Oelckers
b2cef54d72 - fixed: Classes inherited from PowerScanner didn't work anymore.
SVN r2368 (trunk)
2010-06-13 10:11:50 +00:00
Christoph Oelckers
ec44397881 - added some options to A_CustomPunch, including calling Strife's dagger alert function.
SVN r2367 (trunk)
2010-06-13 09:06:12 +00:00
Christoph Oelckers
4d86ebddf9 - Added support for Risen3D/PrBoom+'s MUSINFO lump.
SVN r2366 (trunk)
2010-06-13 08:47:38 +00:00
Braden Obrzut
2aa7cdc5a8 - Fixed: drawbar didn't work right when scaled.
SVN r2361 (trunk)
2010-06-08 23:32:01 +00:00
Braden Obrzut
afd9bcb59a - Fixed: drawstring didn't properly align itself when variable strings were used.
SVN r2360 (trunk)
2010-06-07 15:45:09 +00:00
Randy Heit
ed81b4718b - Revert r2235 so that all DECORATE member accesses are consistent. It didn't work as intended
anyway.

SVN r2358 (trunk)
2010-06-06 05:41:09 +00:00
Randy Heit
41bd0f5369 - Fixed: "Disallow Suicide" gameplay menu option should be labeled as "Allow Suicide".
SVN r2356 (trunk)
2010-06-06 05:00:30 +00:00
Randy Heit
2090c03d88 - Fixed: D3DFB::GetScreenshotBuffer() must not offset the buffer pointer for letterboxed modes,
since the screenwipe speedup fixes also mean that this function no longer operates directly
  with the front buffer, but rather with a copy that is not letterboxed.

SVN r2355 (trunk)
2010-06-06 04:53:19 +00:00
Braden Obrzut
d7686d0c26 - Added optional offset parameters to the drawshadow flag.
- Added character alignment parameter to font monospacing.
- Fixed: character shadows were not scaled.
- Heretic keys now have an icon associated with them so that they can be drawn through drawkeybar.
- Replaced the built in Heretic and Hexen status bars with SBarInfo equivalents.

SVN r2353 (trunk)
2010-06-02 20:26:27 +00:00
Braden Obrzut
d29123c511 - Added a HexenStrict DrawInventoryBar style due to some alignment errors I noticed with the Hexen style.
SVN r2352 (trunk)
2010-05-31 20:04:49 +00:00
Braden Obrzut
b8cb1f0cfb - Fixed: The alpha property of status bars didn't work anymore.
- Added: alpha command to SBarInfo which allows you to increase the translucency for certain parts of the status bar.
- Added: reverse flag for drawkeybar which reverses the order in which rows are filled with keys.
- Changed a gamemode statement to an else in the Doom hud since the frag count and keys should never be shown at the same time.

SVN r2351 (trunk)
2010-05-31 07:01:04 +00:00
Christoph Oelckers
eadc539bc6 - fixed: Poison clouds spawned by the PoisonShroom should not be pushable by the Disc of Repulsion.
SVN r2350 (trunk)
2010-05-30 20:12:32 +00:00
Randy Heit
14b71ede11 - Added support for DRO version 2 files.
SVN r2349 (trunk)
2010-05-30 19:23:53 +00:00
Braden Obrzut
9716e1aea7 - Changed DrawSelectedInventory's alternateonempty flag to draw the subblock before itself. This allows an else statement to be more useful in practice.
- Fixed: Added offsets to the wrong variable in SBarInfo.

SVN r2348 (trunk)
2010-05-30 18:34:59 +00:00
Christoph Oelckers
5535f98218 - fixed: The code drawing the chess pieces for Hexen's finale used floating point paeameters with integer fields for drawing the texture.
SVN r2347 (trunk)
2010-05-30 08:00:27 +00:00
Christoph Oelckers
bdd2ebfe14 - added a new dmflag for allowing switching to weapons without ammo.
SVN r2346 (trunk)
2010-05-30 07:47:08 +00:00
Braden Obrzut
e848fa3c4c - Switched SBarInfo to floating point math.
SVN r2345 (trunk)
2010-05-30 00:12:46 +00:00
Christoph Oelckers
cd1104e80c - changed: Maps with missing first sidedefs no longer abort. THey now print a console warning and use the first sidedef in the map.
SVN r2344 (trunk)
2010-05-29 09:11:12 +00:00
Christoph Oelckers
042e913022 - added Boom's fix for finding the highest neighboring light level per sector (compatibility optioned by COMPATF_LIGHT.)
SVN r2343 (trunk)
2010-05-29 07:07:39 +00:00
Christoph Oelckers
862d6551bc - fixed: Heretic's 666 lower floor must be of type LowerToHighest unlike Doom which is LowerToLowest.
SVN r2342 (trunk)
2010-05-28 21:29:28 +00:00
Christoph Oelckers
6c4d070095 - restored original Doom behavior for hitscans to only check actors which have their center in the blockmap cells being checked, compatibility optioned by COMPATF_HITSCAN.
SVN r2341 (trunk)
2010-05-28 21:07:45 +00:00
Christoph Oelckers
8f881be0fb - added a Boom (strict) compatibility mode.
- Restored some original Doom behavior that received complaints from users:
* reactivated the old sliding against diagonal walls code and compatibility optioned it with COMPATF_WALLRUN.
* re-added the original hitscan checking code using a cross-section of the actor instead of the bounding box, compatibility optioned with COMPATF_HITSCAN.


SVN r2340 (trunk)
2010-05-28 11:15:05 +00:00
Braden Obrzut
9dfdf2ecdd - Fixed some issues with high resolution status bars.
SVN r2339 (trunk)
2010-05-26 00:51:06 +00:00
Christoph Oelckers
2b211f99a8 - fixed: The intermission text screen background should not animate
SVN r2338 (trunk)
2010-05-25 20:19:09 +00:00
Randy Heit
4480a508b3 - Changed AActor::GetTag() to use language lookups for strings that start with $.
SVN r2337 (trunk)
2010-05-25 03:53:13 +00:00
Randy Heit
709414e606 - Fixed: Animated doors should only leave ML_BLOCKING set if the door was created with it set.
Otherwise, monsters will be unable to open it after it has been used once if it isn't set
  for push activation.

SVN r2336 (trunk)
2010-05-25 03:40:37 +00:00
Randy Heit
61d2a808d7 - Response file improvements:
* Fixed: Trying to use a response file would result in infinite looping until memory was
    exhausted.
  * Fixed: Response files were read after coalescing file parameters, which would lead to
    non-coalesced parameters if the original command line and response file both had them.
  * You can now use more than one response file.
  * Response files can include other response files.

SVN r2334 (trunk)
2010-05-25 02:30:05 +00:00
Braden Obrzut
adcf26d2b5 - Fixed MSVC compiler warnings in sbarinfo.cpp
SVN r2333 (trunk)
2010-05-22 14:00:36 +00:00
Braden Obrzut
9611e7310a - Added resolution setting to SBarInfo.
- Fixed: Mug shot was not reset at the start of a new game.

SVN r2332 (trunk)
2010-05-21 19:56:13 +00:00
Christoph Oelckers
c4efbeb515 - fixed: Both Boom and MBF compatibility mode need COMPATF_MISSILECLIP set.
SVN r2331 (trunk)
2010-05-14 20:27:57 +00:00
Christoph Oelckers
896a77327a - fixed fake contrast menu option.
SVN r2330 (trunk)
2010-05-14 20:12:21 +00:00
Randy Heit
e9bbe4f1ff - Added more logging for D3DFB CreateDevice() attempts.
SVN r2329 (trunk)
2010-05-14 04:13:59 +00:00
Randy Heit
24f23718b7 - Added GetHR support to D3DFB for querying the error code when device creation fails.
- Should still check for a NULL device when CreateDevice() returns D3DERR_DEVICELOST.

SVN r2328 (trunk)
2010-05-14 04:06:30 +00:00
Randy Heit
30ec646ba5 - Removed spurious log warnings when retrying in CreateFrameBuffer().
SVN r2327 (trunk)
2010-05-14 03:58:23 +00:00
Randy Heit
b2a4ffc718 - Fixed: IDirect3D9::CreateDevice() can return D3DERR_DEVICELOST if you want exclusive mode and
some other application already has it. While technically this is a failure, the device is
  still created, so we can continue using it anyway.

SVN r2326 (trunk)
2010-05-14 03:54:35 +00:00
Randy Heit
1c8397e86d - Fixed: PacketGet() can receive WSAECONNRESET after startup is complete, so it needs to check
for a NULL before using NetMessage.

SVN r2325 (trunk)
2010-05-14 03:37:44 +00:00
Randy Heit
5a71dea746 - Added A_JumpIfTracerCloser and A_JumpIfMasterCloser, based on DavidPH's A_JumpIfCloser patch.
SVN r2324 (trunk)
2010-05-14 02:34:25 +00:00
Randy Heit
2d4502018a - Added DavidPH's FBF_EXPLICITANGLE extension.
SVN r2323 (trunk)
2010-05-14 02:18:27 +00:00
Christoph Oelckers
d050973fa4 - added blockmap verification code.
SVN r2320 (trunk)
2010-05-12 10:17:08 +00:00
Christoph Oelckers
3e5a32b554 - copy-paste error in TNT stairs fix.
SVN r2319 (trunk)
2010-05-12 09:44:44 +00:00
Christoph Oelckers
b61b761e28 - added DavidPH's randomization patch for hitscan attacks.
SVN r2318 (trunk)
2010-05-12 07:11:56 +00:00
Christoph Oelckers
6a57a43277 - added DavidPH's LifeSteal patch for A_CustomPunch/A_Saw.
SVN r2317 (trunk)
2010-05-12 07:08:39 +00:00
Christoph Oelckers
942108f7ea - added DavidPH's A_FaceTarget patch but modified it so that if a turn angle is set the MF_SHADOW flag is ignored.
SVN r2316 (trunk)
2010-05-12 07:02:23 +00:00
Christoph Oelckers
68fa08ca52 - fixed: TNT MAP30 needs the stairbuilding compatibility option.
SVN r2315 (trunk)
2010-05-12 06:54:59 +00:00
Christoph Oelckers
69861688dc - expanded r_smoothlighting into a r_fakecontrast CVAR that allows to set all 3 options: off, standard and smooth.
SVN r2314 (trunk)
2010-05-12 06:52:03 +00:00
Braden Obrzut
24aa1abf14 - Added: else statements to SBarInfo. In addition braces are no longer required for blocks consisting of a single statement.
SVN r2313 (trunk)
2010-05-11 22:27:50 +00:00
Braden Obrzut
5a4be4b62b - Added partial support for a signal based timer under Linux/Mac OS X in order to make cl_capfps effective at limiting CPU usage.
SVN r2310 (trunk)
2010-05-06 20:32:03 +00:00
Braden Obrzut
b7cb3ffa88 - Fixed: If a weapon didn't use ammo the result of weaponammo was accidentally negated.
SVN r2309 (trunk)
2010-05-01 21:17:11 +00:00
Christoph Oelckers
80f5a58e34 - fix automap cheat to avoid division by 0.
SVN r2308 (trunk)
2010-05-01 20:34:28 +00:00
Christoph Oelckers
1b0756e170 - added a am_showalllines cheat CVAR as countermeasure for maps that intentionally disable the full automap.
SVN r2307 (trunk)
2010-05-01 17:29:25 +00:00
Randy Heit
d070e04ff6 - Added Gez's patch for A_TakeInventory flag for taking ammo, with TIF_AMMO renamed to TIF_NOTAKEINFINITE.
SVN r2306 (trunk)
2010-04-26 02:05:11 +00:00
Randy Heit
36c4b39688 - Added DavidPH's A_FadeTo patch:
A_FadeTo(float target, float amount = 0.10, bool remove = false)
  Alters transparency towards target by amount. If remove is true, the actor is destroyed if it reaches target.

SVN r2305 (trunk)
2010-04-26 01:56:25 +00:00
Randy Heit
4e693e1c98 - Added Gez's RandomSpawner patch: If a randomspawner is given a Z-height in the map editor, and the spawned object has a spawn height flag, it is ignored by the spawned object. This little patch fixes that.
SVN r2304 (trunk)
2010-04-26 01:49:29 +00:00
Christoph Oelckers
5fc654dac2 - fixed: Heretic's sludge damage sector does 4 points damage, not 5 like Doom's.
SVN r2303 (trunk)
2010-04-25 20:12:50 +00:00
Christoph Oelckers
bdc5d941c2 - added a new 'playeruseback' linedef trigger type that allows using lines from the bxck side.
SVN r2302 (trunk)
2010-04-25 07:21:35 +00:00
Christoph Oelckers
674c63d66c - fixed: A_KeenDie should not drop items.
SVN r2300 (trunk)
2010-04-23 08:12:47 +00:00
Braden Obrzut
bd40bba37c - Added levellump, skillname, playerclass, playername, ammo1tag, ammo2tag, weapontag, inventorytag, globalvar <int>, and globalarray <int> to drawstring.
- String constants starting in '$' will cause drawstring to reference the language lump.
- Added pushup transition for strife popups.  This elulates the stats screen from hexen 2.  This behaves identical to slideinbottom if the primary statusbar has fullscreenoffsets set.

SVN r2299 (trunk)
2010-04-22 23:38:11 +00:00
Christoph Oelckers
82af1640fd - fixed: HI_START/HI_END must be checked after parsing the TEXTURES lump, not before it.
SVN r2297 (trunk)
2010-04-21 17:39:52 +00:00
Christoph Oelckers
e0419dde15 - fixed: Camera textures may not be used as patch.
SVN r2296 (trunk)
2010-04-21 06:42:48 +00:00
Randy Heit
f6cd776e2d - Extended state sprite/frame repetition to psprites.
SVN r2295 (trunk)
2010-04-21 01:40:03 +00:00
Christoph Oelckers
14fc5516a8 - Extended ACS's 'n' print format specifier to allow printing some other info than the player's name.
It will use negative indices for this. Currently supported strings are level name, level lump name and
  skill name.
- Extended skill definitions so that printable name and image lump name are separate fields so that a 
  printable name can be specified for Doom, too.


SVN r2294 (trunk)
2010-04-20 11:03:31 +00:00
Braden Obrzut
d719671579 - Added levelname to drawstring.
SVN r2292 (trunk)
2010-04-20 02:16:06 +00:00
Randy Heit
178587fff2 - Merged SetState and SetStateNF into a single function.
- Added new sprite #### and frame character # to specify the behavior of sprite ---- on a
  per-sprite and per-frame basis respectively.

SVN r2291 (trunk)
2010-04-19 02:46:50 +00:00
Christoph Oelckers
c85a602546 - allow loading uncompressed version of compressed nodes.
- extended FileReader hierarchy so that FileReader, FileReaderZ etc. all inherit from one
  base class so that the same code can be used to read from both uncompressed and compressed streams.


SVN r2287 (trunk)
2010-04-17 20:49:18 +00:00
Christoph Oelckers
da99577cbf - added support for loading DeepBSP's V4 nodes.
- disabled writing the nodes with the dumpmap command. ZDoom doesn't need the nodes to load a map and this only worked if the original
  map had standard nodes but trying to write out nodes loaded from any other format would have caused broken data.

SVN r2285 (trunk)
2010-04-17 08:53:32 +00:00
Randy Heit
64fe29bf0e - Fixed crash when parsing invalid DECALDEF lumps.
SVN r2284 (trunk)
2010-04-17 02:42:50 +00:00
Randy Heit
87a7ff7b6d - Add blzut3's morphed status bar patch.
SVN r2283 (trunk)
2010-04-17 02:06:26 +00:00
Randy Heit
08b931006f - Reverted accidental change to fmodsound.cpp from revision 2273.
SVN r2282 (trunk)
2010-04-17 01:55:33 +00:00
Christoph Oelckers
e4d0d6bcdb - added a Sector_CopyScroller special to allow setting scrollers to sectors with special tags.
- extended compatibility text to allow changing line flags and setting line specials on specific linedefs.
- removed Strain MAP07 hack and replaced it by a clean 'clearlineflags' option.
- Added Doomo format translations for Sector_CopyScroller because this looks like something that might be useful for making
  some Boom maps work without having to resort to compatibility.txt.
- added a compatibility setting for UAC Ultra MAP07 which exploited some undefined scrolling behavior in Boom.
  (What lengths are we going to make sloppily created maps work? This entire commit was just to address this particular problem...)


SVN r2280 (trunk)
2010-04-11 11:18:33 +00:00
Christoph Oelckers
c7272075d3 - added a few NULL pointer checks to protect against problems caused by actors being spawned during engine shutdown.
SVN r2279 (trunk)
2010-04-11 06:43:42 +00:00
Christoph Oelckers
d916127ecf - made the recent change to P_SeekerMissile an option because it affected critical gameplay behavior and may not be used for existing actors.
SVN r2278 (trunk)
2010-04-10 11:12:29 +00:00
Christoph Oelckers
a5e422020e - fixed: Two stage texture compositing did not clear the intermediate buffer before using it.
SVN r2277 (trunk)
2010-04-09 20:03:18 +00:00
Randy Heit
f101b45d9a - Changed P_SeekerMissile() to compute a proper 3D trajectory.
SVN r2276 (trunk)
2010-04-07 03:37:07 +00:00
Randy Heit
d6d2ce6b24 - Fixed: maxitems calculation for MKEY_Up in M_OptButtonHandler() used the unscaled text height
instead of the scaled text height to calculate the bottom-most usable row.

SVN r2275 (trunk)
2010-04-07 02:16:51 +00:00
Randy Heit
2772786a7e - Added MUS header scan to mus2midi.
- Fixed buffer overflow when reading a MUS song from a compressed file.

SVN r2274 (trunk)
2010-04-07 02:02:53 +00:00
Randy Heit
114412d5a2 - Search for the MUS header within the first 32 bytes of the song so that the music in
diescum.wad works.

SVN r2273 (trunk)
2010-04-06 03:12:32 +00:00
Christoph Oelckers
d875a0c674 - fixed: Loading a savegame with music switched off forced a restart of the map's default music
because starting an empty music was considered an error.


SVN r2272 (trunk)
2010-04-05 09:17:34 +00:00
Randy Heit
7bd741a644 - Fixed compiling with FMOD Ex 4.30.00. I get no 3D sound effects, and it's crashing on me, too.
Am I doing something wrong?

SVN r2271 (trunk)
2010-04-04 17:48:26 +00:00
Randy Heit
d53fdb418b - Fixed: P_LookForMonsters() had not been updated for the new species check.
SVN r2268 (trunk)
2010-04-04 03:03:01 +00:00
Christoph Oelckers
6f9b035df8 - Changed: The monster refiring functions should use the same sight checking mode as the code that triggers
the attack.


SVN r2266 (trunk)
2010-04-03 07:10:52 +00:00
Christoph Oelckers
7da0badf3c - fixed: The thing id in Hexen map things needs to be treated as a signed short. This is how Hexen defined it and
how older ZDooms before the implementation of UDMF used them internally.


SVN r2263 (trunk)
2010-04-02 07:24:57 +00:00
Randy Heit
69c777df4c - Allow defaultenvironment to take names as well as numeric IDs.
SVN r2262 (trunk)
2010-03-31 23:33:18 +00:00
Randy Heit
aa86e62693 - Added DefaultEnvironment MAPINFO option to set the default sound environment for the whole map.
SVN r2261 (trunk)
2010-03-31 03:48:16 +00:00
Christoph Oelckers
ba29ffd405 - GCC fixes.
SVN r2257 (trunk)
2010-03-29 20:25:08 +00:00
Christoph Oelckers
18d58ef1c5 - fixed: APowerup::EndEffect could crash if the item was not owned by a valid player actor.
SVN r2256 (trunk)
2010-03-29 06:08:22 +00:00
Christoph Oelckers
1436f0a4fa - Fixed: It was no longer possible to talk to non-shootable NPCs. Also took
the opportunity to merge the various boolean parameters to P_AimLineAttack into one flag parameter.



SVN r2254 (trunk)
2010-03-28 10:51:35 +00:00
Randy Heit
7f96531dc0 - Use I_FPSTime() instead of I_MSTime() to drive R_UpdateAnimations().
SVN r2253 (trunk)
2010-03-28 04:04:44 +00:00
Randy Heit
b3005ab16c - Fixed: APowerup::EndEffect() needs to cancel any special colormaps applied by the powerup.
This means all subclasses also need to call their superclass's EndEffect(), which they were
  not doing. For consistency, all the subclasses now do the same for InitEffect(), though
  APowerup::InitEffect() is still a no-op.

SVN r2252 (trunk)
2010-03-28 04:02:57 +00:00
Randy Heit
70c21c8314 - Changed FTextureManager::CheckForTexture() search algorithm so that inexact matches on
textures of type TEX_MiscPatch will return the first such texture, as it does with all
  the other types. (It will still prefer to return a texture of a different type.
  Why are these treated differently, anyway?)

SVN r2251 (trunk)
2010-03-28 03:46:46 +00:00
Christoph Oelckers
72e9a870c2 - added Gez's patch to move Hexen's startup notches out of the EXE.
SVN r2250 (trunk)
2010-03-27 21:12:08 +00:00
Christoph Oelckers
a357a70f82 - fixed: Explosions directly under a water surface would not hurt any actor directly above this surface.
- cleaned up P_CheckSight flag handling.


SVN r2249 (trunk)
2010-03-27 07:42:31 +00:00
Randy Heit
e83a9a2a00 - Use normal texture animation for the main menu cursors. This required updating animations
all the time and not just when inside a level.

SVN r2248 (trunk)
2010-03-27 03:30:02 +00:00
Christoph Oelckers
7f2ab00abe - fixed: IDBEHOLD altered the item counter.
SVN r2247 (trunk)
2010-03-26 22:26:50 +00:00
Christoph Oelckers
0529ffa043 - fixed: P_SpawnMapThing always reduced the angular precision to 45 degrees.
- removed AngleIncrements because it's not really useful.


SVN r2246 (trunk)
2010-03-26 16:57:00 +00:00
Christoph Oelckers
a6a303f438 - fix division by 0.
SVN r2243 (trunk)
2010-03-25 23:29:41 +00:00
Christoph Oelckers
0f0c02f9d6 - fixed: Level redirection checked the wrong level.
SVN r2241 (trunk)
2010-03-25 17:07:07 +00:00
Randy Heit
039b64899d - Fixed: ClearActorInventory used the wrong stack index to get its parameter.
SVN r2239 (trunk)
2010-03-22 22:15:56 +00:00
Randy Heit
4c5edf00b0 - P_ZMovement() temporarily disables jumping after a landing. Don't do this if the jump
timer is already running or for short falls (e.g. along the edges of slopes, since the
  slope floorz calculation is pretty crappy.)

SVN r2238 (trunk)
2010-03-22 22:02:31 +00:00
Randy Heit
0ca693771b - Keep all damage factors in the table, even those that are 1.0.
- 256 is a valid pain chance, so clamp to that, not 255.

SVN r2237 (trunk)
2010-03-22 21:18:54 +00:00
Randy Heit
d1f9b94743 - Fixed: TMap::DelKey failed if the key's main position was nil, because it tried checking
for it at the "next" position, which is an invalid pointer in that case.

SVN r2236 (trunk)
2010-03-22 21:09:33 +00:00
Randy Heit
41df8242c1 - Changed A_SetUserVar and A_SetUserArray so they affect the actor that called it, which
is not necessarily "self". The only visible change from this should be that inventory items
  now set their own variables and not their owners'.

SVN r2235 (trunk)
2010-03-21 21:05:27 +00:00
Christoph Oelckers
a2cfbec3cf - added a CrushPainSound actor property for Strife.
- fixed memory leaks in SBARINFO and WAD loading code.
- added GetBloodColor and GetBloodType inline functions to AActor to wrap the GetMeta calls used for this.


SVN r2234 (trunk)
2010-03-21 08:09:45 +00:00
Randy Heit
1eed01244c - Comment fix.
SVN r2232 (trunk)
2010-03-18 21:59:45 +00:00
Randy Heit
6c63ce51e4 - Fixed: The listener used a different coordinate system than sounds, which meant that sounds
were never made head-relative, so stereo effects would disappear if they were played by
  the listener.

SVN r2231 (trunk)
2010-03-18 21:54:24 +00:00
Randy Heit
5ec5d74267 - Probably shouldn't allow negative range scalars for ambient sound things...
SVN r2230 (trunk)
2010-03-18 21:10:15 +00:00
Randy Heit
d012165f57 - Changed ambient sound things so that 100 volume is normal.
- The fifth argument for the ambient sound things is now a scalar for the min and max distances.

SVN r2229 (trunk)
2010-03-18 21:09:23 +00:00
Randy Heit
226a513e6e - Fixed: Blood's sprite rotations were broken.
SVN r2228 (trunk)
2010-03-18 21:03:58 +00:00
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
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
Randy Heit
86c04f6b82 - Fixed: Loading a multiplayer save with only one player crashed.
SVN r1319 (trunk)
2008-12-16 03:59:28 +00:00
Randy Heit
4c14c197f8 - Changed the co-op intermission screen to draw the stats with the small font.
SVN r1318 (trunk)
2008-12-16 03:15:03 +00:00
Randy Heit
49120f59d4 - Added Karate Chris's patch to optionally specify an angle offset for
summoning.
- Added Karate Chris's fix for Serpent Staff vampirism on teammates.
- Locks and teleporters now take precedence over one-sidedness for automap
  coloring.


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


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


SVN r1315 (trunk)
2008-12-14 19:12:41 +00:00
Christoph Oelckers
34ab6ba862 - Fixed: The DECORATE parser was missing some 'break's.
SVN r1314 (trunk)
2008-12-07 21:35:56 +00:00
Christoph Oelckers
11d1c41873 - Added a strbin1 function that does the same as strbin but creates a copy
instead of overwriting the original string. ACS performing this operation
  in place caused crashes with RTC-3057.
- fixed: FScriptPosition::Message did not print the message if it was not 
  a fatal error.


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

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


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


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


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


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


SVN r1302 (trunk)
2008-11-30 17:57:25 +00:00
Christoph Oelckers
c3906850f7 - fixed: bucket in FTextureManager::AddTexture should be a signed int.
SVN r1301 (trunk)
2008-11-30 13:42:30 +00:00
Christoph Oelckers
3f2d5db348 - Changed: Textures without a name no longer get added to the texture manager's
hash chains.
- Fixed: specifying texture patches or font characters by full lump name instead
  of texture name didn't work. To do this properly the texture manager needs
  an option to look for a texture by lump number so that such textures can
  be maintained without interfering with regular operation.
- added 'skystretch' and 'autosequences' keywords for MAPINFO so that the effects
  of 'noautosequences' and 'forcenoskystretch' can be cancelled.
- Added a 'gamedefaults' section to MAPINFO after discovering that 'defaultmap'
  gets reset for each MAPINFO. A global section is needed to define a game's
  default setting in zdoom.pk3. The gamedefaults should normally not be changed 
  by PWADs but it can be done if some mod intends to change gameplay settings 
  but wants to allow custom add-ons on its own.


SVN r1300 (trunk)
2008-11-30 12:49:27 +00:00
Randy Heit
c35be830c3 - Fixed alignment of "finished" line in WI_drawLF() when the level name is a
graphic and scaled.


SVN r1299 (trunk)
2008-11-30 01:43:00 +00:00
Randy Heit
927c9532bf - It is now possible to replace the game's SmallFont with a single lump font
called SMALLFNT.
- Reduced the width of the second column in wi_percents false mode from 3 to
  2 characters.
- Added a WISLASH graphic for Doom's intermission screen when wi_percents is
  false.


SVN r1298 (trunk)
2008-11-30 01:37:11 +00:00
Christoph Oelckers
6b9129105a - Added: inventorybarnotvisible to check to see if the inventory bar is up.
- Added the following flags to drawselectedinventory center, centerbottom, and
  drawshadow.
- Fixed: The translucent flag for drawinventorybar should only have affected
  the artibox image.

- Fixed: compatf_limitpain must check for 21 Lost Souls, not 20.


SVN r1297 (trunk)
2008-11-29 16:37:54 +00:00
Randy Heit
cbe0c57911 - Removed S_MarkSoundChannels(), as it caused all non-actor sounds to
have their origins zeroed during collections.
- WI_drawLF() now draws the level name at the top of the screen, always.


SVN r1296 (trunk)
2008-11-27 18:46:09 +00:00
Randy Heit
ed6168ea92 - SBARINFO update:
* Fixed: disabling lowerHealthCap didn't affect interpolateHealth.

SVN r1295 (trunk)
2008-11-27 17:47:37 +00:00
Randy Heit
6e83d231fe - The co-op summary screen now has a totals row at the bottom (if it fits).
- Changed WI_drawPercent() when wi_percents is false so that the total
  display is optional, and it formats it like Heretic's intermission, with
  a slash and a fixed-width right column.
- Font is no longer a property of the screen object. Pass the font to
  DrawText and DrawChar directly instead.
- Doom's intermission characters are now collected together as a font
  so they can be colorized.


SVN r1294 (trunk)
2008-11-27 17:43:36 +00:00
Christoph Oelckers
904b59f266 - added a_fastprojectile.cpp to CMakeLists.txt
SVN r1291 (trunk)
2008-11-15 15:32:23 +00:00
Christoph Oelckers
4d991de92d - moved common code of Raven's fast projectiles into a base class
called FastProjectile. This base class doesn't have any effects attached
  so that it can be used for user defined fast projectiles.


SVN r1290 (trunk)
2008-11-15 09:57:18 +00:00
Randy Heit
3b4479df44 - Removed GC barriers from the sound channels. If we must, we can always
do it the old way and scan every channel to see if it matches an actor/
  entchannel pair.
- Fixed: S_RelinkSounds() did not move the SoundChans bitfield to the new
  actor.
- Fixed: Stolen channels could be kept around by the high-level channels
  indefinitely.


SVN r1289 (trunk)
2008-11-15 01:01:04 +00:00
Randy Heit
9430001425 - Added one to return value of SDL_GetTicks() to ensure non-zeroness.
SVN r1288 (trunk)
2008-11-14 23:16:21 +00:00
Randy Heit
183b765cf2 - Fixed: AMageStaffFX2::IsOkayToAttack() / A_MStaffAttack aimed at friendlies.
- Added kill count awareness to A_ChangeFlag.
- P_NightmareRespawn() now clears the MTF_AMBUSH flag, so respawned monsters
  aren't dormant (since there would be no way to activate them, and they
  were certainly not dormant when they died).


SVN r1287 (trunk)
2008-11-14 23:12:15 +00:00
Randy Heit
c1cefee2f4 - Made sdl/i_system.cpp:I_GetTimePolled() functionally equivalent to the
Win32 version.
- Updated fmod_wrap.h and fmodsound.cpp for FMOD 4.20.
- GCC warning removal.


SVN r1286 (trunk)
2008-11-09 05:50:54 +00:00
Randy Heit
fb1af415f5 - Blzut3's latest SBARINFO patch.
SVN r1285 (trunk)
2008-11-09 05:19:27 +00:00
Christoph Oelckers
e56fef0a8e - Fixed: The TEXTURES parser didn't report an error for invalid keywords.
- Fixed: The DECORATE expression evaluator was too strict with missing jump labels.
  For compatibility it only may print a warning, not an error.


SVN r1284 (trunk)
2008-11-08 08:29:51 +00:00
Christoph Oelckers
f1ae8119ab - Fixed: FxClassTypeCast::Resolve didn't work for NULL classes because a variable
was not initialized.


SVN r1283 (trunk)
2008-10-29 16:13:05 +00:00
Christoph Oelckers
b5e085e562 - r1279's fix was not correct.
SVN r1282 (trunk)
2008-10-28 22:53:43 +00:00
Christoph Oelckers
edeed7673a - Fixed: The railgun attack functions still read their puff parameters as names
even though they are now passed as class pointers.


SVN r1281 (trunk)
2008-10-28 22:33:00 +00:00
Christoph Oelckers
feaa5c3653 - Fixed: The state parser counted one parameter too many for a varargs function.
SVN r1280 (trunk)
2008-10-28 18:10:02 +00:00
Christoph Oelckers
0e9c3a3e2b - Fixed: FStateExpressions could copy unresolved default parameter expressions.
When these were resolved and changed later all copied pointers pointed to
  invalid data.


SVN r1279 (trunk)
2008-10-28 15:58:00 +00:00
Christoph Oelckers
a8a3aca601 - Added read and write barriers to the actor pointer in the sound channel
structure.
- Fixed: Items which should stay but had an IF_ALWAYSPICKUP flag were removed.
- Fixed: The pickup flash must only play when an item is picked up so the 
  correct place to spawn it is in AInventory::Touch, not in AInventory::GoAway.


SVN r1278 (trunk)
2008-10-26 17:06:47 +00:00
Christoph Oelckers
226ca44939 - Fixed: A_Jump didn't properly determine a state's owner anymore when called
from weapons.


SVN r1277 (trunk)
2008-10-26 10:31:19 +00:00
Christoph Oelckers
d753d41752 - Added NULL checks to all places where class names are passed as DECORATE
parameters.
- All DECORATE parameters are passed as expressions now. This change allows
  for compile time checks of all class names being used in DECORATE so many
  incorrect definitions may output warnings now.
- Changed DECORATE sound and color parameters to use expressions.
- Changed: S_StopChannel now resets the actor's sound flags. The previous bug
  made me think that delaying this until FMod calls the end of sound callback 
  may simply be too late.


SVN r1276 (trunk)
2008-10-25 17:38:00 +00:00
Christoph Oelckers
4c6b7f6752 - Fixed: The high level sound code must not rely on FMod immediately returning
the sound channel data when a sound is being stopped. This caused
  an endless loop when changing levels with Strife's Flamethrower active.

SVN r1275 (trunk)
2008-10-24 14:49:17 +00:00
Christoph Oelckers
b455227342 - Added a proper function parser to the expression evaluator and converted
sin/cos and action specials to use it. The old evaluator is gone now.
- fixed some GCC problems with autosegs.

SVN r1274 (trunk)
2008-10-21 18:10:50 +00:00
Christoph Oelckers
a4afe79f3d - Fixed GCC autoseg stuff for DECORATE variable initialization.
SVN r1273 (trunk)
2008-10-21 13:17:55 +00:00
Randy Heit
30ef6a0c2d - Game time is now frozen during screen wipes. This obsoletes the DEM_WIPEON
and DEM_WIPEOFF commands. Fixes multimap demos desyncing when played back
  or recorded with wipes enabled, and prevents multiplayer games from
  starting until all players' wipes have finished.


SVN r1272 (trunk)
2008-10-21 02:27:21 +00:00
Christoph Oelckers
b9afb78523 - Added native variables to expression evaluator and replaced the previous
handling of actor variables in expressions with it.
- Added support for floating point constants to DECORATE expression evaluator.

SVN r1271 (trunk)
2008-10-19 21:43:36 +00:00
Randy Heit
633154d46f - Rewrote the SeePastShootableLines check in P_SightCheckLine() to be
more readable.


SVN r1270 (trunk)
2008-10-19 02:00:00 +00:00
Randy Heit
6aa72c84d6 - Commented out the MugShot state nulling in DSBarInfo::AttachToPlayer() so
that fiddling with player options does not reset the mug shot.
- Fixed: SetMugShotState ACS command did not pop the stack.


SVN r1269 (trunk)
2008-10-19 00:47:07 +00:00
Christoph Oelckers
75fd6085a5 - reordered parentheses in check for being able to see through shootable lines.
SVN r1268 (trunk)
2008-10-18 23:30:29 +00:00
Christoph Oelckers
fff3d9c228 - Fixed: FxRandom didn't properly initialize.
SVN r1267 (trunk)
2008-10-18 23:22:26 +00:00
Christoph Oelckers
8d5b595adc - GCC fixes for real this time
SVN r1266 (trunk)
2008-10-18 21:45:51 +00:00
Christoph Oelckers
2aac1bf053 - GCC fixes
SVN r1265 (trunk)
2008-10-18 20:41:51 +00:00
Christoph Oelckers
7312e6a621 - Added a global symbol table and changed DECORATE parser to put its global
symbols there instead of into AActor.
- Changed the expression evaluator's floating point precision to double.
- Started rewriting the DECORATE expression evaluator to allow more flexibility.
  All the operators use the new functionality but functions, variables and
  constants are yet to be redone.
  While doing this rewrite I noticed that random2 was always evaluated as const.
  This got fixed automatically.


SVN r1264 (trunk)
2008-10-18 17:17:44 +00:00
Christoph Oelckers
bca1fc5068 - Fixed: The TEXTURES parser could copy beyond the end of a string when parsing
a 'define' definition.


SVN r1263 (trunk)
2008-10-14 07:57:16 +00:00
Randy Heit
738e8ca7ad - GCC warning removal.
* This may or may not be a problem, but GCC warned that FStateDefinitions::
    AddStateDefines() does not initialize def.FStateDefine::DefineFlags, so
    I fixed that.


SVN r1262 (trunk)
2008-10-14 03:21:53 +00:00
Randy Heit
8d4912f4af - Fixed: The three-argument version of AActor::FindState() initialized a
two-entry array for passing to the main FindState() routine, but did
  not actually pass it, passing the original primary label instead.


SVN r1261 (trunk)
2008-10-14 01:56:28 +00:00
Randy Heit
86e650207d - The root CMakeLists.txt now explicitly sets the build type to Debug if you
don't tell it otherwise.
- src/CMakeLists.txt now searches for fmod.hpp instead of fmod.h.

SVN r1260 (trunk)
2008-10-14 01:28:04 +00:00
Randy Heit
cb159b26c2 - Fixed: SDL builds did not shutdown the sound system at exit.
- Fixed: ThingCountSector and ThingCountNameSector did not remove enough
  entries from the stack, and did not put the result in the right slot.
- Fixed: Teleport lines were prioritized over secret lines when deciding what
  color to draw them on the automap.
- Fixed: Death-reverting morphs did not remove the morph item from the
  player's inventory when death caused the morph to revert.
- Updated fmod_wrap.h for FMOD Ex 4.18.


SVN r1259 (trunk)
2008-10-14 01:24:27 +00:00
Christoph Oelckers
c800d1ec2c - shouldn't have committed without testing...
SVN r1258 (trunk)
2008-10-07 21:03:21 +00:00
Christoph Oelckers
402d0e5fa1 - Fixed: Cheats in demos must not access the weapon slots.
- Fixed: S_ChannelEnded didn't check for a NULL SfxInfo.
- Fixed: R_InitTables did a typecast to angle_t instead of fixed_t.
- Fixed: PowerProtection and PowerDamage applied their defaults incorrectly.
- Fixed: The damage type property didn't properly read its factor.


SVN r1257 (trunk)
2008-10-07 18:21:03 +00:00
Christoph Oelckers
7b82745665 - added dumpstates CCMD for debugging.
SVN r1256 (trunk)
2008-10-05 20:57:48 +00:00
Christoph Oelckers
0b120116ab - State parser fixes.
SVN r1255 (trunk)
2008-10-05 18:45:05 +00:00
Christoph Oelckers
2221ab5668 - Finally has the right idea how to restore Doom's original clipping of projectiles
against decorations without breaking anything newer:
  Added a new 'projectilepassheight' property that defines an alternative height
  that is only used when checking a projectile's movement against this actor.
  If the value is positive it is used regardless of other settings, if it is
  negative, its absolute will be used if a new compatibility option is enabled
  and if it is 0 the normal height will be used.


SVN r1253 (trunk)
2008-10-05 11:23:41 +00:00
Christoph Oelckers
d9ab611db2 - Fixed: Powerup.Color's handler contained an unnecessary 'else' which resulted
in opaque powerup blends.

SVN r1252 (trunk)
2008-10-05 08:50:47 +00:00
Christoph Oelckers
1cf770271c - Fixed: Resurrecting a player didn't unset the RF_INVISIBLE flag which is
set when the player is crushed to gibs under a door.


SVN r1251 (trunk)
2008-10-04 07:45:54 +00:00
Christoph Oelckers
52ad2800d1 - Fixed: Dropitem gave incorrect amounts to the item if a probability was set.
SVN r1250 (trunk)
2008-09-28 07:23:15 +00:00
Christoph Oelckers
07e74419d5 - Fixed: weapon.ammogive2 always gave 2 amounts of ammo.
SVN r1249 (trunk)
2008-09-27 07:57:41 +00:00
Christoph Oelckers
dd49574325 SVN r1248 (trunk) 2008-09-27 07:11:38 +00:00
Christoph Oelckers
b21d837b5a - Fixed: player.colorrange didn't read the parameters correctly.
- Reverted an 'optimization' in d_dehacked.cpp that didn't work.


SVN r1247 (trunk)
2008-09-24 23:22:55 +00:00
Christoph Oelckers
ec1cfdd236 - Fixed: Old style decorations forgot all inherited states when installing their labels.
SVN r1246 (trunk)
2008-09-23 19:14:50 +00:00
Christoph Oelckers
3e291cf528 - Liux compile fixes.
SVN r1245 (trunk)
2008-09-23 07:46:23 +00:00
Christoph Oelckers
1cbaa24f96 - last commit was missing one file.
SVN r1244 (trunk)
2008-09-22 20:42:11 +00:00
Christoph Oelckers
954955c5a5 - Used the one unused byte in the state structure as a flag to tell what type
the NextState parameter is. The code did some rather unsafe checks with it
  to determine its type.
- moved all state related code into a new file: p_states.cpp.
- merged all FindState functions. All the different variations are now inlined
  and call the same function to do the real work.


SVN r1243 (trunk)
2008-09-22 18:55:29 +00:00
Christoph Oelckers
b523ebd2a7 - Removed debug output.
- One line of code was accidentally deleted for last commit.

SVN r1242 (trunk)
2008-09-22 07:30:37 +00:00
Christoph Oelckers
8a79985f46 - did some code cleanup and reorganization in thingdef.cpp.
- Replaced the translation parser for TEXTURES with FRemapTable::AddToTranslation.


SVN r1241 (trunk)
2008-09-21 22:25:23 +00:00
Christoph Oelckers
6227906072 - Fixed: SNDINFO must be loaded before the textures. However, this required
some changes to the MAPINFO parser which tried to access the texture manager
  to check if the level name patches exist. That check had to be moved to
  where the intermission screen is set up.
- Fixed: 'bloodcolor' ignored the first parameter value when given a list
  of integers.
  Please note that this creates an incompatibility between old and new 
  versions so if you want to create something that works with both 2.2.0
  and current versions better use the string format version for the color
  parameter!
- Rewrote the DECORATE property parser so that the parser is completely
  separated from the property handlers. This should allow reuse of all 
  the handler code for a new format if Doomscript requires one.
- Fixed: PClass::InitializeActorInfo copied too many bytes if a subclass's
  defaults were larger than the parent's.
- Moved A_ChangeFlag to thingdef_codeptr.cpp.
- Moved translation related code from thingdef_properties.cpp to r_translate.cpp
  and rewrote the translation parser to use FScanner instead of strtol.
- replaced DECORATE's 'alpha default' by 'defaultalpha' for consistency.
  Since this was never used outside zdoom.pk3 it's not critical.
- Removed support for game specific pickup messages because the only thing
  this was ever used for - Raven's invulnerability item - has already been
  split up into a Heretic and Hexen version.

SVN r1240 (trunk)
2008-09-21 18:02:38 +00:00
Randy Heit
2b16b99f4d - Fixed: The Timidity config parser always tried to process the note number,
even if it wasn't specified.


SVN r1239 (trunk)
2008-09-21 02:46:53 +00:00
Randy Heit
dab73198fa - Fixed: When UpdateJoystickMenu() modifies the menu items for different
controllers, the joystick axis selectors need to NULL the d.graycheck
  field, since this is shared by the axis sensitivity sliders' step values.


SVN r1238 (trunk)
2008-09-20 03:08:54 +00:00
Christoph Oelckers
d88e960bb9 - Fixed: The crosshair must be initialized after the texture manager because
on the fly texture creation for graphics patches is no longer supported.


SVN r1237 (trunk)
2008-09-19 22:34:32 +00:00
Christoph Oelckers
b2b81fc8ad Linux compile fixes.
SVN r1236 (trunk)
2008-09-19 07:10:14 +00:00
Christoph Oelckers
71dd0d0269 - another #include fix for Linux.
- Added a 'logarithmic' parameter to S_GetRolloff.


SVN r1235 (trunk)
2008-09-18 21:00:12 +00:00
Christoph Oelckers
4ecb892df3 Fixed: sdl/i_input.cpp must include d_event.h.
SVN r1234 (trunk)
2008-09-18 06:57:51 +00:00
Randy Heit
5617db8dba - Fixed: Game files that were excluded from building in r1226 were still included for x64 configurations. (Though I honestly don't notice a difference in compiling time with VC++. GCC, yes, but GCC is still slow--thank goodness for parallel makes and now-commonplace multicore processors.)
SVN r1233 (trunk)
2008-09-17 20:51:15 +00:00
Randy Heit
00b21e4b96 - Apparently, YASM is not a suitable substitute for NASM when doing Win32 builds.
- Removed extraneous printf parameter for Texman.Init startup message.
- Added newlines to the ends of a few headers that were missing them.
- Fixed more GCC errors/warnings.

SVN r1232 (trunk)
2008-09-17 20:24:08 +00:00
Randy Heit
9802278357 - Fixed: src/CMakeLists.txt was broken for 32-bit MinGW Makefiles builds.
SVN r1231 (trunk)
2008-09-17 19:54:12 +00:00
Christoph Oelckers
3637c878cd - Changed: Replaced weapons should not be given by generic cheats, only
when explicitly giving them.
- Changed 'give weapon' cheat so that in single player it only gives weapons
  belonging to the current game or are placed in a weapon slot to avoid
  giving the Chex Quest weapons in Doom and vice versa.
- Fixed: The texture manager must be the first thing to be initialized
  because MAPINFO and DECORATE both can reference textures and letting them
  create their own textures is not safe.


SVN r1230 (trunk)
2008-09-17 00:14:33 +00:00
Christoph Oelckers
0e98244df2 . fixed an uninitialized variable in sound code.
SVN r1229 (trunk)
2008-09-15 23:40:13 +00:00
Christoph Oelckers
d1f8518a79 - Separated low level sound code from all high level dependencies.
SVN r1228 (trunk)
2008-09-15 18:18:04 +00:00
Christoph Oelckers
5d9483b632 - Moved some more high level sound logic out of FMODSoundRenderer:
The rolloff and channel ended callbacks now call functions in s_sound.cpp
  instead of working on the data itself and GSnd->StopSound has been replaced
  with S_StopChannel.


SVN r1227 (trunk)
2008-09-15 16:02:05 +00:00
Christoph Oelckers
760f70d3f1 - Changed compilation for g_doom, g_heretic, g_hexen and g_strife folders
so that all files are included by a central one instead of compiling 
  each one separately. This speeds up the compilation process by 25%
  when doing a complete rebuild in Visual C.
- Cleaned up more header dependencies.

SVN r1226 (trunk)
2008-09-15 14:11:05 +00:00
Christoph Oelckers
b07542ddd6 More header cleanup.
SVN r1225 (trunk)
2008-09-15 00:47:31 +00:00
Christoph Oelckers
db5723997c - Cleaned up some include dependencies.
SVN r1224 (trunk)
2008-09-14 23:54:38 +00:00
Christoph Oelckers
c86ca5e891 - fixed: For Chex Quest some CVars were initialized to Heretic's default.
SVN r1223 (trunk)
2008-09-14 10:28:20 +00:00
Christoph Oelckers
2cad1c2c19 - Moved IF_ALWAYSPICKUP and GiveQuest into CallTryPickup so that they are
automatically used by all inventory classes.
- The previous change made it necessary to replace all TryPickup calls with
  another function that just calls TryPickup.
- Fixed: AInventory::TryPickup can change the toucher so this must be reported
  to subclasses calling the super function. Changed TryPickup to pass the
  toucher pointer by reference.


SVN r1221 (trunk)
2008-09-13 22:08:41 +00:00
Christoph Oelckers
f625b92704 - CQ3 detection was broken.
SVN r1220 (trunk)
2008-09-13 21:02:29 +00:00
Christoph Oelckers
2c74e287a9 - Prefixed all names of CQ decorations with Chex after seeing some conflicts
with PWADs.
- Removed Chex Quest actors that were just unaltered duplicates of Doom's.
- Added detection for Chex Quest 3 IWAD.
- Cleaned up M_QuitGame because the code was almost incomprehensible and I
  wanted to add CQ3's new quit messages.
- Added Chex Quest obituaries and a few other messages from CQ3.
- Fixed: drawbar improperly clipped images when not in the top left quadrant.



SVN r1219 (trunk)
2008-09-13 19:19:53 +00:00
Christoph Oelckers
90e3bef2ab - Fixed: Crouching no longer worked due to a bug introduced by the
player input code.


SVN r1218 (trunk)
2008-09-13 07:22:13 +00:00
Randy Heit
5cd4604f81 - Added GetPlayerInput() for examining a player's inputs from ACS. Most
buttons are now passed across the network, and there are four new user
  buttons specifically for use with this command. Also defined +zoom
  and +reload for future implementation.

  See http://zdoom.org/files/examples/playerinput.zip for an example.


SVN r1215 (trunk)
2008-09-13 02:55:45 +00:00
Randy Heit
4ffa924929 - Fixed: Hexen's fourth weapon pieces did not play the correct pickup sound,
and when they were fully assembled, they did not play the sound across the
  entire level.


SVN r1213 (trunk)
2008-09-12 01:12:40 +00:00
Randy Heit
f08e2949dc - Antialiasing of lines is now controlled solely by the vid_hwaalines cvar,
ignoring what the driver reports, since ATI is apparently just as bad as
  NVidia.


SVN r1212 (trunk)
2008-09-12 00:04:15 +00:00
Christoph Oelckers
e18111ce5f - added 2 SBARINFO patches.
SVN r1211 (trunk)
2008-09-10 23:16:26 +00:00
Randy Heit
d22f3ebfa6 - Added a check for D3DLINECAPS_ANTIALIAS, but this is complicated by the
fact that NVidia's don't report it, even though they support it. If there
  are any cards that no longer have antialised lines on the automap, please
  let me know.
- Added vid_hwaalines cvar to force antialiased lines off for the
  Direct3D renderer, in case it doesn't really support them.


SVN r1210 (trunk)
2008-09-10 03:33:02 +00:00
Christoph Oelckers
d02097976e - Fixed: The new rolloff values being stored in FSoundChan need to be serialized
for savegames.


SVN r1209 (trunk)
2008-09-09 21:23:09 +00:00
Christoph Oelckers
e033cbf9f8 - Since loading of the sound lump is now done in S_LoadSound I added an IsNull
method to the SoundRenderer class so that this function doesn't need to 
  load the sound for the NullSoundRenderer.
- Took some more non-FMOD related code out of fmodsound.cpp, including the
  code that checks for raw and Doom sounds. This means that sfxinfo_t is no
  longer needed in the SoundRenderer class so I took out all references to it.


SVN r1208 (trunk)
2008-09-09 20:49:53 +00:00
Christoph Oelckers
5ad25e5d07 - Changed rules for picking rolloff info to be the same as for the NearLimit.
SVN r1207 (trunk)
2008-09-09 09:31:41 +00:00
Christoph Oelckers
3b35ad2db2 - Fixed: FMODSoundRenderer::StartSound3D must set the static variable pointing
to the rolloff information back to NULL when starting the sound fails.
- Fixed: Rolloff information was taken from the sfxinfo that contained the
  actual sound data, not the one that was used for starting the sound.



SVN r1206 (trunk)
2008-09-09 09:22:47 +00:00
Christoph Oelckers
6766f47801 - Added missing Strife automap colors for items and non-monsters.
SVN r1204 (trunk)
2008-09-07 20:46:11 +00:00
Christoph Oelckers
2df65c70cb - Fixed: GetMSLength didn't resolve random and player sounds.
- Moved sound aliasing code out of fmodsound.cpp into S_LoadSound.


SVN r1203 (trunk)
2008-09-07 14:45:50 +00:00
Christoph Oelckers
9e7bd3f8fa - Fixed: The tagged version of TranslucentLine took the information for additive
translucency from the tagged linedef, not the control linedef.
- Added check for additive translucency to TRANMAP checking.


SVN r1202 (trunk)
2008-09-06 18:09:41 +00:00
Christoph Oelckers
87f0ba0bd2 - Changed listener structure to directly contain the sound environment instead
of getting it from the zone in the low level code.


SVN r1201 (trunk)
2008-09-06 13:00:23 +00:00
Christoph Oelckers
bcbd2162b7 - Changed sound interface so that all references to game data like actors
and sectors are done in s_sound.cpp and not in fmodsound.cpp. Also removed
  several 'sector' parameters because they were never used inside the sound code.


SVN r1200 (trunk)
2008-09-06 11:07:27 +00:00
Randy Heit
535f7d92ba - Added the "extended" keyword for episode definitions to define episodes
that are only available in the extended version of Heretic.


SVN r1199 (trunk)
2008-09-06 04:03:53 +00:00
Randy Heit
ee6c208917 - Added hexendemo.wad and hexdemo.wad as aliases for the demo Hexen IWAD.
- Added IWAD checks for freedoom1.wad and freedm.wad.


SVN r1198 (trunk)
2008-09-06 03:39:36 +00:00
Randy Heit
b77836d4cf - The garbage collector now has an opportunity to step each time individual
thinkers tick, not just once every game tick. This more closely follows
  the original Lua behavior. This change was made because, in cases of
  extremely large and frequent memory allocations, the collector may not run
  fast enough if it only has a chance to execute once per tick.


SVN r1197 (trunk)
2008-09-06 03:03:11 +00:00
Randy Heit
ab3363dc1e - Fixed: The "same level" dmflag did not work.
- Changed the nextlevel global var to an FString.


SVN r1196 (trunk)
2008-09-05 02:55:44 +00:00
Randy Heit
fae19e87b7 - Implemented some more controllers for the OPL player:
* RPN select (controllers 100 and 101)
  *  RPN 0 (pitch bend sensitivity)
  * NPRN select (controllers 98 and 99)
  * Data entry (controllers 6 and 38)
  * All notes off (controller 123)
  * All sounds off (controller 120)
  * Reset controllers (controller 121)


SVN r1195 (trunk)
2008-09-05 02:04:50 +00:00
Christoph Oelckers
49565ccb84 - Fixed: Red blood particles used too dark colors.
- Fixed: The smoothlighting code in side_t::GetLightLevel relied on 
  the global 'linedef' variable for automatic fake contrast although
  this issue had already been fixed for the original code here.
- Replaced static string buffers with FString in FONTDEFS parser.

SVN r1194 (trunk)
2008-09-04 14:09:32 +00:00
Christoph Oelckers
b2bbdb9e4c - fixed Chex Quest ending screen.
SVN r1193 (trunk)
2008-09-01 21:34:09 +00:00
Christoph Oelckers
f84ededfba - fixed last commit.
- added more spawn filters.


SVN r1192 (trunk)
2008-09-01 19:56:32 +00:00
Christoph Oelckers
9df27c7afd - Added an 'allcheats' CVAR. This will enable all cheats from all
supported games in any game being played.
- Changed Chex Quest DoomEdNum initilization so that all empty slots 
  are filled with Doom actors if they exist.
- Added missing spawn filters to Chex Quest items.


SVN r1191 (trunk)
2008-09-01 19:45:17 +00:00
Christoph Oelckers
8832b66ce4 - Gave the PlayerPawn base class a default damage fade color instead of
hacking it into the actor when actually used.
- Fixed: The DamageFade color was not saved in savegames.


SVN r1190 (trunk)
2008-09-01 18:16:53 +00:00
Christoph Oelckers
dbcc246cf3 - Added Blzut3's patch for a real Chex Quest game mode.
SVN r1188 (trunk)
2008-08-30 19:44:19 +00:00
Christoph Oelckers
3801b9431a - Fixed: SKIP_SUPER doesn't work for inventory items so it must be
disabled for them
- Fixed: Chex Quest doesn't have a HELP2 screen so it must not be used
  in the gameinfo.
- Fixed: Default blood color is no longer red so P_DrawSplash2 must
  get it from the gameinfo instead.
- Added new French language texts by DoomKn1ght_.


SVN r1186 (trunk)
2008-08-29 08:48:51 +00:00
Christoph Oelckers
6a3b4a6c4d - Blood default color is set in the gameinfo now so that Chex Quest
can default to green instead of red.
- Fixed: The version of CheckNumForFullName that checks for a specific
  WAD did not work.
- Moved MAPINFO names into gameinfo structure.
- Added Chex Quest support. Credits go to fraggle for creating a 
  Dehacked patch that does most of the work. The rest includes a new
  MAPINFO and removal of the drop items from the monsters being used.



SVN r1185 (trunk)
2008-08-26 18:32:17 +00:00
Randy Heit
4d56889483 - Added Win64 support to the crash report generator.
SVN r1184 (trunk)
2008-08-24 04:51:15 +00:00
Christoph Oelckers
3638c658d6 - Added and fixed Boss death submission for random spawner.
- Added functions to FActorInfo that can set the damage factors and
  pain chances to reduce the chance of new errors when working with
  these features.
- Fixed: The handling of the deprecated FIRERESIST flag didn't work.
  There were 3 problems:
  * Actor defaults have no class information so HandleDeprecatedFlags
    needs to be passed a pointer to the ActorInfo.
  * The DamageFactors list is only created when needed so the code needs to
    check if it already exists.
  * damage factors are stored as fixed_t but this set a float.
- Added a traditional Strife color set for the automap.


SVN r1183 (trunk)
2008-08-23 08:48:19 +00:00
Randy Heit
0e5587812e - Fixed: Timidity::Renderer::reset_voices() must completely zero the
voices. Because this wasn't done, note_on() could try to access
  the sample for a voice that had never been played yet and access
  random memory. There may be other places where it's a problem, but
  this is where I noticed it, by chance.


SVN r1182 (trunk)
2008-08-23 02:38:00 +00:00
Christoph Oelckers
39bb50376a - Fixed: The conversion of the strings in wbstartstruct_t to FStrings
caused crashes when reloading the hub data.


SVN r1181 (trunk)
2008-08-21 19:06:17 +00:00
Christoph Oelckers
76cb09d546 - Replaced WALLF_AUTOCONTRAST with WALLF_NOFAKECONTRAST so that the
default setting for the flags is 0.
- Added: doom2day's smoothlighting
- Added: dontincrement argument to A_CheckForReload.


SVN r1179 (trunk)
2008-08-21 08:04:21 +00:00
Christoph Oelckers
f64862fe75 - Fixed: The UDMF parser wrote class filter bits into SkillFilter.
- Fixed: (SBARINFO patch) DrawInventoryBar has a missing argument in 
  one of its drawgraphic calls.
- Added Gez's patch for Heretic's GIMME cheat.
- Externalized some cheat strings.


SVN r1178 (trunk)
2008-08-21 07:08:55 +00:00
Christoph Oelckers
30685c3a74 - Added Gez's patch for removing MF4_FIRERESIST.
SVN r1177 (trunk)
2008-08-19 19:38:39 +00:00
Christoph Oelckers
371d4704b8 (SBARINFO patch)
- Fixed: DrawBar would not show.
- Fixed: IsSelected took string constants instead of identifiers.

SVN r1176 (trunk)
2008-08-18 19:01:14 +00:00
Christoph Oelckers
774e559eaf - Last commit was incomplete.
SVN r1175 (trunk)
2008-08-16 20:47:41 +00:00
Christoph Oelckers
bc5d0c882b - Put more floor/ceiling properties in sector_t into a substructure and
added wrapper functions.


SVN r1174 (trunk)
2008-08-16 20:19:35 +00:00
Christoph Oelckers
fcdef6a0de - Fixed: A_Explode wants the distance parameter as an int, not a fixed_t.
- some minor DECORATE fixes.


SVN r1173 (trunk)
2008-08-16 08:11:39 +00:00
Christoph Oelckers
e54c7f6e46 - Fixed: The count parameter of A_Jump is a constant, not an expression.
SVN r1171 (trunk)
2008-08-14 22:58:17 +00:00
Christoph Oelckers
61cbb1d2e1 - Fixed: A_Jump used a wrong index into the jump address table.
- Fixed: The recent changes in the DECORATE parser require the special parameter
  to A_CallSpecial to be an expression, not a constant.
- Removed game filters from old style decorations. No WAD in existence ever 
  used them and removing them allows to make the parser more robust.


SVN r1170 (trunk)
2008-08-14 19:08:38 +00:00
Christoph Oelckers
f3922ec6a1 - Added a few more macros so that the action function code doesn't have
to reference its arguments directly, except 'self'. This may be helpful if it 
  becomes necessary to restructure this code once DoomScript becomes real.
- Removed the last remaining global variable related to action functions:
  pStateCall. Everything is passed properly as function arguments now.
- fixed: PlayerChunk was missing the NOSKIN flag.


SVN r1169 (trunk)
2008-08-14 08:52:55 +00:00
Christoph Oelckers
1c034c1150 - Macro-fied access to action function parameters.
- Deactivated debug output code in d_Dehacked.cpp.
- fixed: A_FreezeDeathChunks crashed when a player's head got spawned.


SVN r1168 (trunk)
2008-08-13 22:54:24 +00:00
Christoph Oelckers
4fd717046e - fixed: Dehacked replaced pickups multiple times for changing its states.
- fixed: Dehacked must copy AInventory's state to any item it hacks to be a 
  pickup.
- fixed a few more DECORATE bugs.


SVN r1166 (trunk)
2008-08-13 09:11:19 +00:00
Christoph Oelckers
3cb073a3a0 - Fixed: The chat sound for Strife was misnamed in the gameinfo structure.
- fixed a few DECORATE bugs.


SVN r1165 (trunk)
2008-08-12 23:00:48 +00:00
Christoph Oelckers
65a19e4be7 - Changed the action function declaration parser so that optional parameters
can be given a default value. The 'optional' keyword is no longer needed
  and was removed, as well as 'evalnot'.


SVN r1164 (trunk)
2008-08-12 20:19:47 +00:00
Christoph Oelckers
1957659b1b - Restructured the action function interface to remove the dependence on
the global CallingState variable.


SVN r1163 (trunk)
2008-08-12 14:30:07 +00:00
Christoph Oelckers
b1d36182c4 - Changed handling of AUTOPAGE texture so that it is properly inserted into
the texture manager even if it is from Raven's IWADs.
- Removed code related to internal ActorInfo definitions from dobjtype.cpp.
- removed unneeded file dehackedactions.h


SVN r1162 (trunk)
2008-08-12 09:57:59 +00:00
Randy Heit
765ccd0100 - Remove Valgrind macros from the (Win64-only) asm_x86_64/tmap3.asm
SVN r1161 (trunk)
2008-08-12 03:20:50 +00:00
Randy Heit
942c8f5e87 - SBARINFO patch: "Apparently my attempts to reduce copy and paste failed." -- Blzut3
SVN r1160 (trunk)
2008-08-12 03:19:35 +00:00
Randy Heit
c9187a0e09 - Ported asm_x86_64/tmap3.nas to AT&T syntax so it can be compiled with gas.
After finding out that gas does have directives to describe the .eh_frame
  metadata, I figured that would be significantly easier and quicker than
  trying to locate all the scattered docs I would need to read to figure out
  how to construct it by hand. Unfortunately, this now means I have to
  maintain two versions of exactly the same code. :( (But unless I add 32-bit
  color rendering in the future, the chances that I will have to touch it
  again are quite slim.)



SVN r1159 (trunk)
2008-08-12 02:49:00 +00:00
Christoph Oelckers
9e4b2fb3ec Fixed: The fix for GCC warnings in PowerupDuration would have caused incorrect error messages in case of incorrect use.
SVN r1158 (trunk)
2008-08-11 23:16:37 +00:00
Randy Heit
f40d52c22a - Remove some GCC warnings.
SVN r1157 (trunk)
2008-08-11 22:42:38 +00:00
Randy Heit
a876ba55bd - Fixed: src/CMakeLists.txt did not pass -DNOASM to the compiler when assembly
is disabled.



SVN r1156 (trunk)
2008-08-11 22:29:09 +00:00
Christoph Oelckers
c02253eef2 - Removed 'eval' modifier from DECORATE. All int, float and bool parameters are
'eval' now by default.


SVN r1155 (trunk)
2008-08-11 22:28:14 +00:00
Christoph Oelckers
81132c809f - DECORATE related Hexen fixes.
SVN r1153 (trunk)
2008-08-11 19:18:48 +00:00
Christoph Oelckers
d533f839dd - fixed statejump bug in Minotaur.
SVN r1152 (trunk)
2008-08-11 10:02:24 +00:00
Christoph Oelckers
511c9366f7 - Macro-fied all access to action functions.
SVN r1149 (trunk)
2008-08-10 22:48:37 +00:00
Christoph Oelckers
1983b5c586 - Changed action function definition so that they have to be defined with a
DEFINE_ACTION_FUNCTION macro. This should make it easier to improve the
  whole system.


SVN r1148 (trunk)
2008-08-10 20:48:55 +00:00
Christoph Oelckers
3dbebcb794 - deleted infodefaults.cpp from CMakeLists.txt
SVN r1147 (trunk)
2008-08-10 15:05:49 +00:00
Christoph Oelckers
f4c07c45ec - Removed DECORATE's ParseClass because it was only used to add data to fully
internal actor classes which no longer exist.
- Changed the state structure so that the Tics value doesn't need to be hacked
  into misc1 with SF_BIGTIC anymore. 
- Changed sprite processing so that sprite names are converted to indices 
  during parsing so that an additional postprocessing step is no longer needed.
- Fixed: Sprite names in DECORATE were case sensitive.
- Exported AActor's defaults to DECORATE and removed all code for the 
  internal property parser which is no longer needed.


SVN r1146 (trunk)
2008-08-10 14:19:47 +00:00
Christoph Oelckers
9b58c5ebbd - Converted the Heresiarch to DECORATE.
SVN r1145 (trunk)
2008-08-10 12:06:18 +00:00
Christoph Oelckers
5ea4b37373 - Added an Active and Inactive state for monsters.
- Made the speed a parameter to A_RaiseMobj and A_SinkMobj and deleted
  GetRaiseSpeed and GetSinkSpeed.
- Added some remaining DECORATE conversions for Hexen by Karate Chris.


SVN r1144 (trunk)
2008-08-10 11:29:19 +00:00
Randy Heit
9ad93639c5 - Changed Windows to use the performance counter instead of rdtsc.
SVN r1143 (trunk)
2008-08-10 03:56:53 +00:00
Randy Heit
ad96225213 - Changed Linux to use clock_gettime for profiling instead of rdtsc. This
avoids potential erroneous results on multicore and variable speed
  processors. Windows will need to be updated accordingly.



SVN r1142 (trunk)
2008-08-10 03:25:08 +00:00
Christoph Oelckers
fd2c0b82ef REverted anti-x86.cpp changes.
SVN r1141 (trunk)
2008-08-09 22:46:25 +00:00
Randy Heit
ef4ec7ed95 Forgot x86.cpp.
SVN r1140 (trunk)
2008-08-09 22:25:43 +00:00
Christoph Oelckers
520a40f0bf - GCC fixes.
SVN r1139 (trunk)
2008-08-09 22:10:41 +00:00
Christoph Oelckers
023b21a142 - Converted the last of Hexen's inventory items to DECORATE so that I could
export AInventory.
- Added some DECORATE fixes by Gez.

SVN r1138 (trunk)
2008-08-09 17:43:14 +00:00
Christoph Oelckers
ae54e13428 IMPORTANT NOTE: I uncommented some code depending on the missing x86.cpp file to allow this to compile, These changes must be reverted as soon as this file is added (see v_palette.cpp and win32/i_system.cpp.)
- Removed AT_GAME_SET because it's no longer used anywhere.
- Converted the last remaining global classes to DECORATE.
- Fixed: Inventory.PickupFlash requires an class name as parameter not an
  integer. Some Hexen definitions got it wrong.
- Converted Hexen's Pig to DECORATE.
- Replaced the ActorInfo definitions of all internal inventory classes with 
  DECORATE definitions.
- Added option to specify a powerup's duration in second by using a negative
  number.


SVN r1137 (trunk)
2008-08-09 11:35:42 +00:00
Randy Heit
67c844df4d - Added Gez's Freedoom detection patch.
SVN r1136 (trunk)
2008-08-09 04:32:56 +00:00
Randy Heit
85a6ae7c34 - SBARINFO update:
* Added: The ability to have drawkeybar auto detect spacing.
  * Added: Offset parameter to drawkeybar to allow two key bars with
    different keys.
  * Added: Multi-row/column keybar parameters.  Spacing can also be auto.
    These  defualt to left to right/top to bottom but can be switched.
  * Added: Drawshadow flag to drawnumber.  This will draw a solid color and
    translucent number under the normal number.
  * Added: hexenarmor to drawimage.  This takes a parameter for a hexen
    armor type and will fade the image like the hexen status bar.
  * Added: centerbottom offset to draw(switchable)image.
  * Added: translucent flag to drawinventorybar.
  * Fixed: Accidentally removed flag from DrawTexture that allowed negative
    coordinates to work with fullscreenoffsets.  Hopefully this is the last
    major bug in the fullscreenoffsets system.


SVN r1135 (trunk)
2008-08-09 03:43:29 +00:00
Randy Heit
dda5ddd3c2 - Ported vlinetallasm4 to AMD64 assembly. Even with the increased number of
registers AMD64 provides, this routine still needs to be written as self-
  modifying code for maximum performance. The additional registers do allow
  for further optimization over the x86 version by allowing all four pixels
  to be in flight at the same time. The end result is that AMD64 ASM is about
  2.18 times faster than AMD64 C and about 1.06 times faster than x86 ASM.
  (For further comparison, AMD64 C and x86 C are practically the same for
  this function.) Should I port any more assembly to AMD64, mvlineasm4 is the
  most likely candidate, but it's not used enough at this point to bother.
  Also, this may or may not work with Linux at the moment, since it doesn't
  have the eh_handler metadata. Win64 is easier, since I just need to
  structure the function prologue and epilogue properly and use some
  assembler directives/macros to automatically generate the metadata. And
  that brings up another point: You need YASM to assemble the AMD64 code,
  because NASM doesn't support the Win64 metadata directives.
- Added an SSE version of DoBlending. This is strictly C intrinsics.
  VC++ still throws around unneccessary register moves. GCC seems to be
  pretty close to optimal, requiring only about 2 cycles/color. They're
  both faster than my hand-written MMX routine, so I don't need to feel
  bad about not hand-optimizing this for x64 builds.
- Removed an extra instruction from DoBlending_MMX, transposed two
  instructions, and unrolled it once, shaving off about 80 cycles from the
  time required to blend 256 palette entries. Why? Because I tried writing
  a C version of the routine using compiler intrinsics and was appalled by
  all the extra movq's VC++ added to the code. GCC was better, but still
  generated extra instructions. I only wanted a C version because I can't
  use inline assembly with VC++'s x64 compiler, and x64 assembly is a bit
  of a pain. (It's a pain because Linux and Windows have different calling
  conventions, and you need to maintain extra metadata for functions.) So,
  the assembly version stays and the C version stays out.
- Removed all the pixel doubling r_detail modes, since the one platform they
  were intended to assist (486) actually sees very little benefit from them.
- Rewrote CheckMMX in C and renamed it to CheckCPU.
- Fixed: CPUID function 0x80000005 is specified to return detailed L1 cache
  only for AMD processors, so we must not use it on other architectures, or
  we end up overwriting the L1 cache line size with 0 or some other number
  we don't actually understand.


SVN r1134 (trunk)
2008-08-09 03:13:43 +00:00
Christoph Oelckers
14e94b86e2 - Replaced the ActorInfo definitions of several internal classes with DECORATE definitions
SVN r1133 (trunk)
2008-08-08 22:52:04 +00:00
Christoph Oelckers
ef2c9243c5 - Converted teleport fog and destinations to DECORATE.
- AActor::PreExplode is gone now that the last item that was using it has been converted.
- Converted the Sigil and the remaining things in a_strifeitems.cpp to DECORATE.


SVN r1132 (trunk)
2008-08-08 19:47:18 +00:00
Christoph Oelckers
bd50321357 - Exported Point pushers, CustomSprite and AmbientSound to DECORATE.
SVN r1131 (trunk)
2008-08-08 16:16:40 +00:00
Christoph Oelckers
e010561088 - Changed increased lightning damage for Centaurs into a damage factor.
- Changed PoisonCloud and Lightning special treatment in P_DamageMobj to use damage
  types instead to keep dependencies on specific actor types out of the main engine code.
- Added Korax DECORATE conversion by Gez and a few others by Karate Chris.


SVN r1130 (trunk)
2008-08-08 15:18:23 +00:00
Christoph Oelckers
b695330e90 - Removed FourthWeaponClass and based Hexen's fourth weapons on the generic weapon
pieces.
- Added DECORATE conversions for Hexen's Fighter weapons by Karate Chris.
- Added aWeaponGiver class to generalize the standing AssaultGun.
- converted a_Strifeweapons.cpp to DECORATE, except for the Sigil.


SVN r1129 (trunk)
2008-08-08 10:24:08 +00:00
Christoph Oelckers
6ab69165c7 - Added more DECORATE conversions by Karate Chris.
SVN r1128 (trunk)
2008-08-08 07:40:41 +00:00
Christoph Oelckers
f442e75dfa SVN r1127 (trunk) 2008-08-07 23:11:57 +00:00
Christoph Oelckers
6b3325b358 - Converted the rest of a_strifestuff.cpp to DECORATE.
- Fixed: AStalker::CheckMeleeRange did not perform all checks of AActor::CheckMeleeRange.
  I replaced this virtual override with a new flag MF5_NOVERTICALMELEERANGE so that
  this feature can also be used by other actors.
- Converted Strife's Stalker to DECORATE.
- Converted ArtiTeleport to DECORATE.


SVN r1126 (trunk)
2008-08-07 20:16:07 +00:00
Christoph Oelckers
0e009ff18a - Changed: Macil doesn't need the StrifeHumanoid's special death states so he might
as well inherit directly from AActor.
- Converted Strife's Coin, Oracle, Macil and StrifeHumanoid to DECORATE. Also moved
  the burning hand states to StrifePlayer where they really belong.


SVN r1125 (trunk)
2008-08-07 17:45:35 +00:00
Christoph Oelckers
269a54a258 - Added more DECORATE conversions by Karate Chris.
SVN r1124 (trunk)
2008-08-07 15:46:52 +00:00
Christoph Oelckers
0ad1bfe87e - Added Gez's dropammofactor submission with some necessary changes. Also merged
redundant ammo multiplication code from P_DropItem and ADehackedPickup::TryPickup.
- Restricted native action function definitions to zdoom.pk3.


SVN r1123 (trunk)
2008-08-07 08:18:48 +00:00
Christoph Oelckers
344f1072a6 - Fixed. The Firedemon was missing a game filter.
SBARINfO update:
- Added: disablegrin, disableouch, disablepain, and disablerampage flags to
  drawmugshot.
- Fixed: LowerHealthCap did not work properly.
- Fixed: Various bugs I noticed in the fullscreenoffsets code.

SVN r1122 (trunk)
2008-08-07 07:17:29 +00:00
Christoph Oelckers
535f209560 - Converted Strife's Programmer, Loremaster and Thingstoblowup to DECORATE.
- Fixed: Attacking a merchant in Strife didn't alert the enemies.


SVN r1121 (trunk)
2008-08-06 22:59:24 +00:00
Christoph Oelckers
bf281a4372 - Removed AT_GAME_SET(PowerInvulnerable) due to the problems it caused. The two
occurences in the code that depended on it were changed accordingly.
  Invulnerability colormaps are now being set by the items exclusively.
- Changed many checks for the friendly Minotaur to a new flag MF5_SUMMONEDMONSTER
  so that it can hopefully be generalized to be usable elsewhere later.
- Added Gez's submission for converting the Minotaur to DECORATE.


SVN r1120 (trunk)
2008-08-06 19:25:59 +00:00
Randy Heit
d7d07aad16 - It's good if I make sure my changes are actually compiled in, huh?
SVN r1119 (trunk)
2008-08-06 18:41:55 +00:00
Randy Heit
efb8ffc459 - The x87 precision control is now explicitly set for double precision, since
GCC defaults to extended precision instead, unlike Visual C++.
- Removed the useless src/Linux directory from the repository. This was a
  holdover from the long-gone 1.22 build system.



SVN r1118 (trunk)
2008-08-06 18:26:25 +00:00
Christoph Oelckers
c8538efda9 - Fixed a few minor DECORATE bugs.
- Changed coordinate storage for EntityBoss so that it works properly even
  when the pod is not used to spawn it.
- Converted Strife's Spectres and Entity to DECORATE.


SVN r1117 (trunk)
2008-08-06 17:49:22 +00:00
Christoph Oelckers
3908c71510 (SBARINfO update)
- Added: fullscreenoffsets flag for status bars.  This changes the coordinate
  system to be relative to the top left corner of the screen.  This is useful
  for full screen status bars.
- Changed: drawinventorybar will use the width of artibox or invcurs (strife)
  to determine the spacing.  Let me know if this breaks any released mods.
- Fixed: If a status bar height of 0 was specified in SBarInfo the wrong bar
  would be shown.
- Fixed: If a static inventory bar was used the user still had to press invuse
  in order to get rid of the "overlay".
- Fixed: forcescaled would not work if the height of the bar was 0.
- Added: keyslot to drawswitchableimage.
- Fixed: The transition effects for the log and keys popups were switched.


SVN r1116 (trunk)
2008-08-06 07:38:21 +00:00
Randy Heit
3700fda0e8 - Added newlines to the ends of two files that lost theirs.
SVN r1115 (trunk)
2008-08-05 23:45:03 +00:00
Christoph Oelckers
4f0fa50773 - Converted Strife's Crusader, Inquisitor and spectral missiles to
DECORATE.


SVN r1114 (trunk)
2008-08-05 22:51:51 +00:00
Christoph Oelckers
fe2e64aa40 - Converted Strife's Acolytes, Rebels, Sentinel, Reaver and Templar to
DECORATE.


SVN r1113 (trunk)
2008-08-05 17:58:38 +00:00
Christoph Oelckers
43715c5249 - Added DECORATE conversions for Hexen's Cleric weapons by Karate Chris.
- Added a check to Zipdir that excludes files with a .orig extension. These
  can be left behind by patch.exe and create problems.
- fixed: Unmorphing from chicken caused a crash when reading non-existent
  meta-data strings.


SVN r1112 (trunk)
2008-08-05 16:04:37 +00:00
Christoph Oelckers
4a9e70f1d2 - Converted the ScriptedMarines to DECORATE.
- Fixed: DLightTransfer and DWallLightTransfer were declared as actors.

SVN r1111 (trunk)
2008-08-05 13:50:57 +00:00
Christoph Oelckers
d5cc9e01d0 - Converted the PhoenixRod and associated classes to DECORATE to make
the Heretic conversion complete.


SVN r1110 (trunk)
2008-08-04 22:30:45 +00:00
Christoph Oelckers
b2a6bed19f - Converted the Minotaur's projectiles to DECORATE so that I can get
rid of the AT_SPEED_SET code.
- Converted Heretic's Blaster and SkullRod to DECORATE.


SVN r1109 (trunk)
2008-08-04 19:25:13 +00:00
Christoph Oelckers
cc99d150a3 - Added more DECORATE conversions by Karate Chris.
SVN r1108 (trunk)
2008-08-03 19:42:24 +00:00
Christoph Oelckers
affd0e5034 - Converted the mace and all related actors to DECORATE and generalized
the spawn function that only spawns one mace per level.
- Moved Mace respawning code into AInventory so that it works properly
  for replacement actors.


SVN r1107 (trunk)
2008-08-03 19:10:48 +00:00
Christoph Oelckers
11fbfc5b1f - Added more DECORATE conversions by Karate Chris.
SVN r1106 (trunk)
2008-08-03 16:13:23 +00:00
Christoph Oelckers
bf0ee1342c - Cleaned up the new bridge code and exported all related actors to
DECORATE so that the exported code pointers can be used.
- Separated Heretic's and Hexen's invulnerability items for stability 
  reasons.


SVN r1105 (trunk)
2008-08-03 12:00:36 +00:00
Randy Heit
9f21b22cc5 - Fixed spurious warnings on 32-bit VC++ debug builds.
- Made the subsong (order) number a proper parameter to MusInfo::Play()
  instead of requiring a separate SetPosition() call to do it.



SVN r1104 (trunk)
2008-08-03 03:54:48 +00:00
Christoph Oelckers
8d3e67ac88 - Added Gez's submission for custom bridge things.
- Fixed: ASpecialSpot must check the array's size before dividing by it.


SVN r1103 (trunk)
2008-08-02 16:17:19 +00:00
Christoph Oelckers
76a0086744 - Fixed: The mugshot drawe ignored the accuracy parameter.
- Fixed: The Alt HUD's weapon drawer didn't check properly for invalid icons.


SVN r1102 (trunk)
2008-08-02 10:51:00 +00:00
Christoph Oelckers
fddf69e950 - Added DECORATE conversions for Hexen's Cleric Mace, Firedemon and fog by
Karate Chris.
- Added several type checks to the weapon slot code.
- Changed: Players no longer respawn in instant death sectors with 
  the 'Respawn where died' flag on.


SVN r1101 (trunk)
2008-08-02 08:38:07 +00:00
Randy Heit
bb0759f575 - Fixed: Attempting to load 0-length sounds caused a crash.
SVN r1100 (trunk)
2008-07-31 23:09:58 +00:00
Randy Heit
35b40534fe - Fixed: The ouch face fix was lost when SBARINFO mugshot became the only
mugshot present.


SVN r1098 (trunk)
2008-07-31 18:51:15 +00:00
Randy Heit
21a7564c98 - Fixed: Mace SpawnID was assigned to the MacePowered actor instead.
- Fixed: Sorcerer2FX1's SpawnID was not restricted to Heretic.


SVN r1097 (trunk)
2008-07-31 18:08:30 +00:00
Randy Heit
ff2680baa9 - Removed new warning when using CMake 2.6.
- Fixed compilation of snes_spc on GCC <4.3.
- Fixed compilation of zstring.h on 32-bit MinGW, where SIZE_MAX
  and UINT_MAX are not considered identical by the preprocessor.

SVN r1096 (trunk)
2008-07-31 17:13:21 +00:00
Randy Heit
e15416dc71 - Applied Blzut3's 5:4 SBARINFO patch. (At least I think that's what it's
for.)



SVN r1095 (trunk)
2008-07-25 02:36:25 +00:00
Randy Heit
2ce3e1dd6a - Corrected the revision_check target so that it always checks the revision,
not just when src/svnrevision.h is not present.



SVN r1093 (trunk)
2008-07-25 01:41:31 +00:00
Randy Heit
de5d4715c2 - Added Linux support for the CMakeLists. This meant downgrading them for
CMake 2.4, since the distros don't seem to consider 2.6 stable yet.
  As a bonus, GTK+ is no longer a required dependency; now it's optional.
- Made dehsupp ignore CR characters, so it doesn't spew warnings on Linux.



SVN r1092 (trunk)
2008-07-25 01:37:44 +00:00
Christoph Oelckers
47d8a41540 - Fixed: Thew sounds of Strife's intro need CHAN_UI.
- Changed all instances of playing the chat sounds to use CHAN_UI.


SVN r1085 (trunk)
2008-07-23 19:39:01 +00:00
Randy Heit
fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00
Christoph Oelckers
c5e62a577f - Added MF4_BOSSDEATH to the Minotaur.
- Fixed: The boss brain looped to the wrong state.


SVN r1080 (trunk)
2008-07-21 19:52:38 +00:00
Christoph Oelckers
ae0ad31842 - Converted Heretic's Staff, GoldWand, Crossbow and Gauntlets to DECORATE.
SVN r1079 (trunk)
2008-07-21 18:01:06 +00:00
Christoph Oelckers
a8c283dacd - fixed: Morphing to a class without a face definition crashed.
- Converted all of Heretic's actors except the weapons to DECORATE.
- Added the option to define the ActorInfos for native classes in DECORATE.


SVN r1078 (trunk)
2008-07-21 17:03:30 +00:00
Christoph Oelckers
b030682834 - Fixed: When copying visplanes the sky texture was forgotten.
SVN r1077 (trunk)
2008-07-20 17:52:12 +00:00
Christoph Oelckers
5cc1b4991c - converted the boss brain to DECORATE.
- added an abstract base class for special map spots that are maintained in 
  lists and rewrote the boss brain, the mace and DSparil to use it.
- fixed: RandomSpawners didn't destroy themselves after finishing their work.


SVN r1076 (trunk)
2008-07-20 14:42:54 +00:00
Christoph Oelckers
6d9b897681 - fixed: Textures marked as complex must not redirect to the base patch.
- fixed: Alpha for composite textures was not applied.
- fixed: The CentaurMash didn't inherit from the Centaur.
- added some NULL pointer checks to the sound code.


SVN r1075 (trunk)
2008-07-20 08:34:24 +00:00
Christoph Oelckers
5dc42121b7 - Fixed: When Heretic's Mace was replaced by a non-child class A_SpawnMace still
treated it as a mace and wrote into some undefined memory.
- Fixed: A_BishopMissileWeave didn't initialize special2 for proper movement.
- Added a speed parameter to A_SkullAttack.
- Fixed: Black as first or only blood color didn't work.
- Fixed: Sounds played in wi_stuff.cpp and f_finale.cpp need the CHAN_UI flag.
- Fixed: Spawning a player could play the *gasp sound.
- Fixed: SBARINFO's health display didn't scale to the proper maximum.
- Added Skulltag's Teleport_NoStop action special.


SVN r1074 (trunk)
2008-07-19 12:40:10 +00:00
Christoph Oelckers
a5c52d8371 SVN r1072 (trunk) 2008-07-15 17:02:16 +00:00
Christoph Oelckers
c4a1ca2ac8 - Fixed: Friendly spectral monsters should be able to hurt unfriendly ones
and vice versa.
- Fixed: In deathmatch specral missiles spawned by players should hurt other
  players.
- Fixed: SpectralLightningBigBall didn't set the proper owner for the lightning
  projectiles it spawned.
- Changed the EntityBoss's attack function to call the equivalent spectre
  functions instead of duplicating their code.
- Gave many of Strife's code pointers that only had a number as name more
  meaningful names. 
- Fixed: All spectral attacks must set 'health' first before P_CheckMissileSpawn
  is called.


SVN r1071 (trunk)
2008-07-12 10:59:36 +00:00
Christoph Oelckers
d0031b7fe7 - Added a compatibility option to play sector sounds from the precalculated
center because some maps apparently abuse the behavior to make the sound
  play somewhere where it can't be heard by the player to fake silent movement.
- Fixed: The S_Sound variant taking an actor must check if the actor is not
  NULL.
- Fixed: ACS's ActivatorSound must check if the activator is valid.
- Changed stats drawing so that multi-line strings can be used.


SVN r1070 (trunk)
2008-07-12 08:16:19 +00:00
Randy Heit
87d7b3601a - Added a check to G_DoSaveGame() to prevent saving when you're not actually
in a level.
- Fixed: Serialized player data must always be loaded, even if it's simply to
  be discarded, so that anything serialized after the players will load from
  the correct position in the file when revisiting a hub map.


SVN r1069 (trunk)
2008-07-06 03:52:53 +00:00
Christoph Oelckers
448b8955c5 - Changed: AInventory::Tick now only calls the super method if the item is not
owned. Having owned inventory items interact with the world is not supposed
  to happen.
- Fixed: case PCD_SECTORDAMAGE in p_acs.cpp was missing a terminating 'break'.
- Fixed: When a weapon is destroyed, its sister weapon must also be destroyed.


SVN r1068 (trunk)
2008-07-05 19:06:30 +00:00
Christoph Oelckers
ac4fb23c35 - last commit was incomplete. Forgot to save 2 files.
SVN r1067 (trunk)
2008-07-05 10:31:36 +00:00
Christoph Oelckers
d2f1515aa6 - Fixed: When a weapon is destroyed, its sister weapon must also be destroyed.
- Added a check for PUFFGETSOWNER to A_BFGSpray.
- Moved the PUFFGETSOWNER check into P_SpawnPuff and removed the limitation
  to players only.
- Fixed: P_SpawnMapThing still checked FMapThing::flags for the class bits 
  instead of FMapThing::ClassFilter.
- Fixed: A_CustomMissile must not let P_SpawnMissile call P_CheckMissileSpawn.
  It must do this itself after setting the proper owner.
- Fixed: CCMD(give) increased the total item count.
- Fixed: A_Stop didn't set the player specific variables to 0.


SVN r1066 (trunk)
2008-07-05 10:17:10 +00:00
Randy Heit
860b9254ef - I suppose this minsavever needs to be bumped too, eh?
SVN r1065 (trunk)
2008-07-05 03:36:49 +00:00
Randy Heit
78890d57bc - Fixed: Screenwipes now pause sounds, since there can be sounds playing
during it.
- UI sounds are now omitted from savegames.
- Fixed: Menu sounds had been restricted to one at a time again.
- Moved the P_SerializeSounds() call to the end of G_SerializeLevel() so that
  it will occur after the players are loaded.
- Added fixes from FreeBSD for 0-length and very large string buffers
  passed to myvsnprintf.


SVN r1063 (trunk)
2008-07-05 03:32:44 +00:00
Randy Heit
0632a35b18 - Rewrote myvsnprintf to use the StringFormat routines directly so that no
additional memory needs to be allocated from the heap.


SVN r1062 (trunk)
2008-07-02 18:08:06 +00:00
Randy Heit
7ed0311221 - Polyobject sounds now play from their lines, similar to the way sector
sounds are handled.
- Why do polyobjects have a 3D start spot? Flattened it to 2D.
- Moved the sector sound origin calculation out of fmodsound.cpp and into
  s_sound.cpp so that the near sound limiting will use the correct sound
  location for deciding on neighbors.


SVN r1061 (trunk)
2008-07-02 03:50:17 +00:00
Christoph Oelckers
2fccefa995 - bumped min. savegame version for changes in sound code.
SVN r1060 (trunk)
2008-07-01 08:34:33 +00:00
Randy Heit
a3e8a0cefd - Removed the S_Sound() variant that allows for pointing the origin at an
arbitrary point. It has been replaced with a variant that takes a polyobject
  as a source, since that was the only use that couldn't be rewritten with the
  other variants. This also fixes the bug that polyobject sounds were not
  successfully saved and caused a crash when reloading the game. Note that
  this is a significant change to how equality of sound sources is determined,
  so some things may not behave quite the same as before. (Which would be a
  bug, but hopefully everything still sounds the same.)


SVN r1059 (trunk)
2008-07-01 04:06:56 +00:00
Randy Heit
601a6ad04c - Adjusted the noise debug table so that fractional volume levels do not
run into the adjacent columns.
- Added a NullSoundRenderer so that most of the checks against a NULL GSnd
  can be removed.
- Fixed: Looping sounds must always successfully allocate a channel, even if
  it's only a pre-evicted channel.


SVN r1058 (trunk)
2008-07-01 01:28:22 +00:00
Christoph Oelckers
ac32bd72bb - Added A_ClearReFire code pointer for weapons. Preferably A_WeaponReady should
reset this counter but that can't be done due to unwanted side effects with
  existing weapons.
- Changed the 'scale' variable in CVAR(turbo) to double because the calculations
  depended on the current floating point precision setting and only worked properly
  when set to 'precise' in VC++.


SVN r1057 (trunk)
2008-06-30 23:30:06 +00:00
Christoph Oelckers
2afac5c716 - Changed: I_Error and I_FatalError now use ZDoom's internal string formatting
code to process their messages. This was necessary to handle the %zu format
  option used in some memory allocation failure messages.
- Fixed: The flat texture scaling action specials were completely broken.


SVN r1056 (trunk)
2008-06-29 08:42:07 +00:00
Randy Heit
d0b2c41270 - The sound code now handles restarting looping sounds itself. As far as
the rest of the game is concerned, these sounds will never stop once they
  have been started until they are explicitly stopped. If they are evicted
  from their channels, the sound code will restart them as soon as possible.
  This means that instead of this:
	if (!S_IsActorPlayingSomething(actor, CHAN_WEAPON, -1))
	{
		S_Sound(actor, CHAN_WEAPON|CHAN_LOOP, soundid, 1, ATTN_NORM);
	}
  The following is now just as effective:
	S_Sound(actor, CHAN_WEAPON|CHAN_LOOP, soundid, 1, ATTN_NORM);
  There are also a couple of other ramifications presented by this change:
    * The full state of the sound system (sans music) is now stored in save
      games. Any sounds that were playing when you saved will still be
      playing when you load. (Try saving while Korax is making a speech in
      Hexen to hear it.)
    * Using snd_reset will also preserve any playing sounds.
    * Movie playback is disabled, probably forever. I did not want to 
      update the MovieDisable/ResumeSound stuff for the new eviction
      tracking code. A properly updated movie player will use the VMR,
      which doesn't need these functions, since it would pipe the sound
      straight through the sound system like everything else, so I decided
      to dump them now, which leaves the movie player in a totally unworkable
      state.

June 26, 2008
- Changed S_Sound() to take the same floating point attenuation that the
  internal S_StartSound() uses. Now ambient sounds can use the public
  S_Sound() interface.
- Fixed: S_RelinkSound() compared the points of the channels against the
  from actor's point, rather than checking the channels' mover.
- Changed Strife's animated doors so that their sounds originate from the
  interior of the sector making them and not from the entire vertical height
  of the map.


SVN r1055 (trunk)
2008-06-29 04:19:38 +00:00
Christoph Oelckers
82dbebc3f1 - Removed some unused constant definitions from sc_man.cpp.
- Fixed: A_FireBlasterPL2 played the weapon sound with the missile as origin
  instead of the shooting player.


SVN r1053 (trunk)
2008-06-28 21:46:26 +00:00
Christoph Oelckers
0fc5a541b3 - Fixed: Dead players didn't get the MF_CORPSE flag set.
- Fixed: The internal definition of Floor_LowerToNearest had incorrect parameter
  settings.
- Fixed: Heretic's ActivatedTimeBomb had the same spawn ID as the inventory item.
- fixed: Heretic's mace did not have its spawn ID set.


SVN r1052 (trunk)
2008-06-28 12:24:15 +00:00
Randy Heit
e391fe1aeb - For controls that are not bound, the customize controls menu now displays
a black --- instead of ???.


SVN r1050 (trunk)
2008-06-26 17:55:48 +00:00
Randy Heit
1b835d46c1 - Applied Gez's BossBrainPatch3.
SVN r1049 (trunk)
2008-06-26 17:32:48 +00:00
Randy Heit
0669fb675f - Fixed: P_BulletSlope() did not return the linetarget. This effected
the Sigil, A_JumpIfCloser, and A_JumpIfTargetInLOS.


SVN r1048 (trunk)
2008-06-26 17:25:55 +00:00
Randy Heit
bb689ba3c9 - Fixed all the new warnings tossed out by GCC 4.3.
SVN r1047 (trunk)
2008-06-25 22:16:04 +00:00
Randy Heit
9c6e40e192 - Fixed: PickNext/PrevWeapon() did not check for NULL player actors.
SVN r1046 (trunk)
2008-06-24 03:32:28 +00:00
Randy Heit
1462e5efa4 - Fixed compilation issues with GCC.
- Removed special case for nobotnodes in MAPINFO.


SVN r1045 (trunk)
2008-06-24 02:56:27 +00:00
Christoph Oelckers
4ff07b68ee - Added support for ST's QUARTERGRAVITY flag.
- Added a generalized version of Skulltag's A_CheckRailReload function.
- Fixed: DrawImage didn't take 0 as a valid image index.
- Added Gez's RandomSpawner submission with significant changes.
- Added optional blocks for MAPINFO map definitions. ZDoom doesn't use
  this feature itself but it allows other ports based on ZDoom
  to implement their own sets of options without making such a MAPINFO 
  unreadable by ZDoom.


SVN r1044 (trunk)
2008-06-22 09:13:19 +00:00
Christoph Oelckers
b899fbeabe - Fixed: Picking up a weapon would sometimes not activate the grin.
SVN r1043 (trunk)
2008-06-16 23:43:31 +00:00
Christoph Oelckers
a86774fcdd - Changed: Line_SetIdentification will ignore extended parameters when
used in maps defined Hexen style in MAPINFO.


SVN r1042 (trunk)
2008-06-16 22:38:23 +00:00
Christoph Oelckers
e3a6507381 - Fixed: Ambient sounds didn't pass their point of origin to S_StartSound.
SVN r1041 (trunk)
2008-06-16 19:36:48 +00:00
Christoph Oelckers
de53c3cd4c - Fixed: UseType was not properly set for textures defined in TEXTURES.
- Fixed: You couldn't set an offset for sprites defined in TEXTURES.
- Fixed some problems with last revision.

SVN r1040 (trunk)
2008-06-16 07:40:28 +00:00
Christoph Oelckers
d4c8cdf45a - Added read barriers to all actor pointers within player_t except for
mo, ReadyWeapon and PendingWeapon.


SVN r1039 (trunk)
2008-06-16 07:10:08 +00:00
Christoph Oelckers
7a215e538a - Added a read barrier to player_t::PrewmorphWeapon.
- Fixed: After spawning a deathmatch player P_PlayerStartStomp must
  be called.
- Fixed: SpawnThings must check if the players were spawned before
  calling P_PlayerStartStomp.


SVN r1038 (trunk)
2008-06-15 23:09:01 +00:00
Christoph Oelckers
2af3663744 - fixed typo in interpolation code.
SVN r1037 (trunk)
2008-06-15 20:15:44 +00:00
Christoph Oelckers
8ca7c05e9d - Changed FImageCollection to return translated texture indices so
that animated icons can be done with it.
- Changed FImageCollection to use a TArray to hold its data.
- Fixed: SetChanHeadSettings did an assignment instead of comparing
  the channel ID witg CHAN_CEILING.
- Changed sound sequence names for animated doors to FNames.
- Automatically fixed: DCeiling didn't properly serialize its texture id.
- Replaced integers as texture ID representation with a specific new type
  to track down all potentially incorrect uses and remaining WORDs used
  for texture IDs so that more than 32767 or 65535 textures can be defined.


SVN r1036 (trunk)
2008-06-15 18:36:26 +00:00
Randy Heit
7c40cf9ce0 - Increased the duration of respawn invulnerability by one second.
- DF2_YES_RESPAWN_INVUL and DF_FORCE_RESPAWN now apply to all multiplayer 
  games, not just deathmatch, without the need for turning on
  alwaysapplydmflags.
- Fixed: DF2_YES_RESPAWN_INVUL only worked in deathmatch, even with
  alwaysapplydmflags turned on.
- Fixed: DF_COOP_LOSE_ARMOR did not empty the starting armor items.


SVN r1035 (trunk)
2008-06-15 03:46:04 +00:00
Randy Heit
9e42cdaf08 - Replaced the naive area sound implementation with one that takes into
consideration the size and shape of the sector producing the sound. See
  the lifts on Doom 2 MAP30 and compare with previous versions.
- Fixed: The stop sound for sector-based sound sequences was not played with
  the CHAN_AREA flag.
- Removed the distinction between S_Sound() and S_SoundID() functions. Use
  S_Sound() for both names and IDs from now on.


SVN r1034 (trunk)
2008-06-15 02:25:09 +00:00
Christoph Oelckers
0e6e1da970 - Fixed: The UDMF parser stored plane rotation angles as fixed_t, not angle_t.
- Grouped the sector plane texture transformation options into a separate
  structure and replaced all access to them with wrapper functions.


SVN r1033 (trunk)
2008-06-14 15:26:16 +00:00
Randy Heit
4a1cb412f1 - Add environment 255, 255 as a way to get the software underwater effect in
any zone you want.
- Using a too-recent version of FMOD now gives an error, since there may be
  breaking changes to the API from one version to the next (excluding
  revisions in stable branches, which only represent bug fixes).
- Updated fmod_wrap.h for FMOD 4.16 and corrected a bug that had gone
  unnoticed before: The delayhi and delaylo parameters for Channel::setDelay()
  and getDelay() were swapped.


SVN r1032 (trunk)
2008-06-12 23:47:27 +00:00
Christoph Oelckers
3397266e0f - Fixed: P_ChangeSector could incorrectly block movement when checking for
mid textures linked to a moving floor.
- Fixed AActor's bouncefactor definitions which I accidentally changed when
  adding wallbouncefactor.
- Fixed: A_SpawnItemEx added the floorclip offset to the z coordinate instead 
  of subtracting it.


SVN r1031 (trunk)
2008-06-12 10:08:50 +00:00
Christoph Oelckers
70ff0e8d2e - Fixed: SBARINFO's popup code used 1-based indices to address a C++ array.
SVN r1030 (trunk)
2008-06-11 23:12:27 +00:00
Christoph Oelckers
decba274bf - Fixed: ACS's ChangeSky command didn't clean up the stack.
SVN r1029 (trunk)
2008-06-11 21:03:32 +00:00
Christoph Oelckers
1eb91fddcd - Fixed: Wall scrolling interpolations incremented their reference count twice.
- Fixed: Before a level's thinkers are loaded all previous interpolations must
  be cleared.
- Fixed: deleted interpolations didn't NULL the pointer in the interpolated
  object. Also added all interpolation pointers to DSectorMarker to ensure
  that they are properyl processed by the garbage collector.


SVN r1028 (trunk)
2008-06-11 12:17:45 +00:00
Christoph Oelckers
4e7a6c54ef - Added scaling to double size for idmypos display.
- Changed: Players don't telefrag when they are spawned now but after all
  actors have been spawned to avoid accidental voodoo doll telefragging.
- Fixed: ACS scripts for non-existent maps were started on the current one.
- Added a 'wallbouncefactor' property to AActor.
- Reverted forceunderwater change from r1026 and fixed the problem for real:
  SECF_FORCEDUNDERWATER only has meaning when coming from the heightsec.
  So the initial check of the current sector in AActor::UpdateWaterLevel
  must only check for SECF_UNDERWATER, not SECF_UNDERWATERMASK.

SVN r1027 (trunk)
2008-06-10 09:16:01 +00:00
Randy Heit
2ca601eed1 - Dehacked fix discovered by entryway: Dehacked only changes the blue armor's
armortype. It does not touch the armor given by the megasphere.
- Changed forcewater handling so that only control sectors created by one-
  sided lines become swimmable, since there's a good chance that a two-sided
  line is creating the control sector out of a normal, accessible portion of
  the map. (See e.g. linedef 29242 of zdoomcmp1.)


SVN r1026 (trunk)
2008-06-10 01:27:24 +00:00
Randy Heit
e203ccda20 - Added self-modifying code notifications for Valgrind.
Build with make VALGRIND=1 to turn them on.



SVN r1025 (trunk)
2008-06-08 02:31:30 +00:00
Randy Heit
000f3e0ef1 - Fixed: There was still an inventory bar check in FMugShot::GetFace() after
separating it from DDoomStatusBar.


SVN r1024 (trunk)
2008-06-06 23:41:05 +00:00
Randy Heit
cf9ce3b054 - Fixed: When following links in S_StartSound(), the function used sfx
instead of S_Sfx as the array base for getting the NearLimit.


SVN r1023 (trunk)
2008-06-06 02:34:14 +00:00
Randy Heit
2e28b0c9ce - Repositioned the declaration of the file string in D_DoomMain() so that it
won't be left on the stack at exit.
- Fixed: PSymbol needs a virtual destructor so that PSymbolActionFunction can
  free its Arguments.
- Symbols for native classes are now freed on exit.


SVN r1022 (trunk)
2008-06-06 02:17:28 +00:00
Randy Heit
a4dc93fb91 - Removed the 8-character limit on endpic names from the parser. (Though it
might still be present in the texture manager; I don't remember.)
- Fixed: EndSequence needs a proper constructor.
- Some more GCC warning removals.



SVN r1021 (trunk)
2008-06-05 04:30:18 +00:00
Christoph Oelckers
728163efb4 - bumped min. savegame version to r1018.
SVN r1020 (trunk)
2008-06-04 20:24:57 +00:00
Christoph Oelckers
a4337e5b24 - Fixed: The EndSequence structure was not fully initialized.
SVN r1019 (trunk)
2008-06-04 20:23:02 +00:00
Christoph Oelckers
acab6d9b30 - While doing the interpolation rewrite I noticed that DScroller and DPolyAction
were doing some things in their destructor that needed to be done in the
  Destroy method.
- Rewrote the interpolation code. Interpolations are no longer some objects
  that are separate from the rest of the engine. Instead, they are owned by
  the thinkers starting them. Also, polyobjects only spawn a single interpolation
  for each polyobject instead of a single one for each vertex.
  Also, different types of interpolation objects are used for different types
  of interpolation so that they can do some additional work if eventually needed.


SVN r1018 (trunk)
2008-06-04 17:53:15 +00:00
Christoph Oelckers
7ab48d2de6 - Fixed: MAPINFO's 'lookup' option should only work for actual strings but
not for lump and file names.


SVN r1017 (trunk)
2008-06-03 21:35:30 +00:00
Christoph Oelckers
8a3edf9716 - Added a few 'activator == NULL' checks to some ACS functions.
- Added line and vertex lists to polyobjects so that I can do some 
  changes that won't work with only a seg list being maintained.


SVN r1016 (trunk)
2008-06-03 14:38:42 +00:00
Christoph Oelckers
165875c7df - Fixed: Drawing the amount of an inventory item in the player's inventory did
not work
- Added: PowerupTime to drawnumber and drawbar.  You must specify a
  powerupgiver.  Although drawnumber goes in seconds the powerup has left
  drawbar will use ticks for extra accuracy.
- I have increased cross-port compatibility with Skulltag.  If an unknown
  game mode is provided for sbarinfo's gamemode command it will ignore it and
  continue.


SVN r1015 (trunk)
2008-06-03 07:21:11 +00:00
Christoph Oelckers
29380f70b3 - Added an option to consider intermission screens gameplay for purposes of
capturing the mouse.
- Changed: Telefragging should not thrust the victim if it isn't in precisely the
  same position as the killer.
- fixed: A_SpawnItemEx must call P_TeleportMove before checking the spawned
  object's position.


SVN r1014 (trunk)
2008-06-02 16:56:53 +00:00
Christoph Oelckers
8d5d742287 - Fixed: Ouch state was far to easy to achieve.
SVN r1013 (trunk)
2008-06-01 22:41:46 +00:00
Christoph Oelckers
47aacc45c8 - Made all the basic texture classes local to their implementation.
They are not needed anywhere else.
- Changed the HackHack hack for corrupt 256 pixel high textures that
  FMultiPatchTexture only calls a virtual function instead of doing any
  type checks of the patch itself.
- Cleaned up the constant definitions in doomdata.h.
- Moved the TEXTUREx structures from doomdata.h to multipatchtexture.cpp
  because they are used only in this one file.
- Removed some more typedefs from r_defs.h and doomdata.h
- Moved local polyobject data definitions from p_local.h to po_man.cpp.


SVN r1012 (trunk)
2008-06-01 20:43:02 +00:00
Christoph Oelckers
71b0d4d074 - Renamed player_s to player_t globally to get rid of the duplicate names for this class.
SVN r1011 (trunk)
2008-06-01 07:52:33 +00:00
Randy Heit
ff43b7e913 - Added coordinate range checking to DCanvas::ParseDrawTextureTags() to avoid
potential crashes in the situation that con_scaletext is 2 and somebody
  uses a hud message as if a hud size was specified, but forgot to actually
  set the hud size.


SVN r1010 (trunk)
2008-06-01 04:09:49 +00:00
Randy Heit
4850a98c13 - Consolidated the mug shot code shared by DSBarInfo and DDoomStatusBar
into a single place.
- Fixed: Setting an invalid mug shot state crashed the game.
- Fixed my attempts to be clever with strings yesterday.


SVN r1009 (trunk)
2008-06-01 03:35:47 +00:00
Christoph Oelckers
ccf123407a - Fixed a compile error introduced in r1007.
SVN r1008 (trunk)
2008-05-31 08:08:35 +00:00
Randy Heit
6a264daa04 - Fixed: DDoomStatusBar::UpdateState() needed the same fix as DSBarInfo::updateState(), since it
received a code infusion from there.

SVN r1007 (trunk)
2008-05-31 03:49:56 +00:00
Randy Heit
ded428230d - If an actor's current target temporarily goes unshootable, its threshold
is now reset to 0, so it will more readily switch back to it.


SVN r1006 (trunk)
2008-05-31 03:39:57 +00:00
Randy Heit
d657e31a8c - Fixed: Deactivating the game no longer allows reverb effects to continue
playing while the sound is paused.


SVN r1005 (trunk)
2008-05-31 02:18:09 +00:00
Randy Heit
0395b26d23 - Fixed: S_StartNamedSound() looked for SECF_SILENT in MoreFlags instead of Flags.
SVN r1004 (trunk)
2008-05-31 01:44:11 +00:00
Randy Heit
496e28aa7a - Fixed: DSBarInfo::updateState() sprung leaks and didn't allocate enough
space for the fullStateName string.


SVN r1003 (trunk)
2008-05-31 01:30:53 +00:00
Christoph Oelckers
77b9c162e2 - Changed: The texture loader now looks for a TEXTURES lump for text based
texture definitions. HIRESTEX is still supported but deprecated.
- Removed all 16 bit values from texture manager.
- Changed: The texture manager now sorts all textures for a WAD by type
  to avoid priority issues with HIRESTEX defined textures.
- Changed sidedef flag WALLF_ADDTRANS into a linedef flag because it is
  always the same for both sides of a linedef. This also makes handling
  this in the UDMF parser easier because the linedef parsing function does
  not need to access the sidedef data.
- Added new ZDoom specific UDMF linedef and sidedef properties to map parser.
- Added new ZDoom specific UDMF sector properties to map parser.
- Added class definitions for new interpolators that are better 
  equipped to interact with the interpolated objects.
- Separated interpolation code into its own file r_interpolate.cpp.
- Added some simple customization options to the end game screens.
- Fixed: Polyobject detection in the internal node builder did not work 
  anymore due to some code rearrangement for UDMF map loading. To keep
  it compatible between all map formats the THINGS lump of binary format
  maps must be loaded before building the nodes. This also means that
  the spawning itself can be done in the same function for all map types
  (except Build) now.
- Changed 'Smooth mouse movement' menu option from m_filter to smooth_mouse
  which is more what would be expected from this option.
- Fixed: Weapons and ammo items that were modified by Dehacked gave full
  ammo when being dropped by monsters. To properly handle this the
  handling of spawning Dehacked modified pickups was changed to use
  the DECORATE replacement feature instead of hacking the spawn state
  of the original item and calling a spawn function from there.



SVN r1001 (trunk)
2008-05-30 06:56:50 +00:00
Randy Heit
0d400522e4 - Fixed: PrtScn/SysRq key did not work on Linux.
SVN r999 (trunk)
2008-05-30 01:50:41 +00:00
Randy Heit
51adf36efc - Reverted unintended change to sbarinfo_display.cpp that I had forgotten about.
SVN r998 (trunk)
2008-05-30 01:06:01 +00:00
Randy Heit
ee1039f04e - Fixed building with libdumb on Linux.
SVN r997 (trunk)
2008-05-30 01:02:35 +00:00
Randy Heit
db0b93d40f Forgot to add music_dumb.cpp for previous commit.
SVN r996 (trunk)
2008-05-30 00:31:13 +00:00
Randy Heit
01f59fa85f - Added an alternate module replay engine that uses foo_dumb's replayer, a
heavily customized version of DUMB (Dynamic Universal Music Bibliotheque).
  It has been slightly modified by me:
  * Added support for Ogg Vorbis-compressed samples in XM files ala FMOD.
  * Removed excessive mallocs from the replay core.
  * Rerolled the loops in resample.c. Unrolling them made the object file
    ~250k large while providing little benefit. Even at ~100k, I think it's
    still larger than it ought to be, but I'll live with it for now.
  Other than that, it's essentially the same thing you'd hear in foobar2000,
  minus some subsong detection features. Release builds of the library look
  like they might even be slightly faster than FMOD, which is a plus.
- Fixed: Timidity::font_add() did not release the file reader it created.
- Fixed: The SF2 loader did not free the sample headers in its destructor.


SVN r995 (trunk)
2008-05-29 23:33:07 +00:00
Christoph Oelckers
1dc9528b43 - Fixed: The compatibility searches for teleport destinations did not work
properly when the teleporter had both a tid and a tag. Now, if a teleporter
  has a tag these are skipped because they are only present for Hexen
  compatibility.


SVN r994 (trunk)
2008-05-23 17:50:28 +00:00
Christoph Oelckers
4434e322e2 - Fixed: The first texture in a TEXTURE1 lump, although invalid when used
elsewhere, must be usable as sky (see Requiem.wad's SKY3.)


SVN r993 (trunk)
2008-05-23 14:04:16 +00:00