The graphics are already mapped through this, so we don't need to do it again when translating.
Moreover, if there was no duplicate of color 0, but there was a different color with a
duplicate, this means we end up drawing players with the duplicated color wherever it should
be color 0. (Standard translations already had this right.)
SVN r3417 (trunk)
your movement was blocked, even if it wasn't that wall that blocked you. Note that this is just
a Z check against the actor and the floor and ceiling heights; it might still be possible to
goof it up, but the common case is fixed.
SVN r3414 (trunk)
destroyed. For example, if a weapon has a sister weapon immediately after it in the inventory
list, they would both be destroyed by the call to destroy the weapon, and ClearInventory
would fail to find anything beyond the sister weapon in the inventory list.
SVN r3413 (trunk)
decided there was nothing to draw. In practical terms, this means that if your weapon is
completely invisible, the game would not draw anything outside of the main play area because
the scissor test would be left on for the entire frame and not just the weapon's quad.
Making the call to SetStyle() before the scissor check is enough to fix this.
SVN r3412 (trunk)
- Cache particle colors so custom particle colors don't require a full scan of the palette each
time they're created. Also fixes a bug with custom blood colors.
SVN r3385 (trunk)
should ignore any tempo events in XMIDI songs that were left over from the original MIDI
files, since the converter didn't remove them.
SVN r3384 (trunk)
(i.e. ACS_Execute, etc.), set the arg0str property to the name of the script to execute. The
standard numeric arg0 property will be ignored in this case.
SVN r3372 (trunk)
named, and to run a script using ACS_ExecuteAlways, you need to add "always" after the script
name but before any arguments. e.g.:
pukename "A Script" 1
Will run the script "A Script" with a single argument of 1, provided the script is not
already running.
pukename "A Script" always 1
Will always run the script "A Script" with a single argument of 1.
SVN r3365 (trunk)
named the same as their ACS function equivalents. e.g. From DECORATE, you can now use
ACS_NamedExecuteAlways to run a script with a name.
SVN r3364 (trunk)
- Added ACS_Named* function variants of the ACS_* specials that take script names instead of
numbers. As these are functions and not specials, they can only be used from inside ACS.
SVN r3363 (trunk)
you can still use them for automatically executed script types (like open and enter).
- Change the DACSThinker::RunningScripts array into a TMap so that it can catalog the new range
of ACS scripts (up to 32767).
SVN r3359 (trunk)
some of the stereoness of stereo sounds played in 3D. My testing was done only with stereo
speakers, however, and I did not realize that it was moving the perceived physical location
of the sound itself (because it sounded fine with my two speakers). So when 3D spread started
working with mono sounds as well in FMOD 4.28, sound positioning was completely broken for
everything when outputting to more than two speakers, because sounds were being spread
across a 180 degree arc.
Whoops!
Stereo sounds are now completely mono when not played by you, the listener.
SVN r3357 (trunk)
actor+channel. Since in this case, it's really just restarting the sound, it shouldn't limit
it. (Since it's already playing, we know the limit wasn't exceeded when it started playing, so
it shouldn't be exceeded if we restart it now.)
SVN r3355 (trunk)
This is because the automap calls it with its own bindings, which effectively cancelled all
doublebindings while the automap was open.
SVN r3354 (trunk)
can't pass it to DrawTexture with a simple TAG_MORE. (Not sure why I thought the initial tag
needed to be separate, though it did catch one case where it wasn't provided.)
SVN r3351 (trunk)
major change, so I'm making no provisions for using older FMOD DLLs when compiled with the
4.38 API. However, sound positioning is still broken like in 4.28, so you are recommended
to continue building with 4.26. Also, the Freeverb-based DSP unit is no longer present in
FMOD, so the underwater effect is currently unavailable when using 4.38 until I can figure
out how to make it work with the SFX Reverb unit instead. (And on that topic, the Freeverb
DSP was officially only for stereo outputs, so I really shouldn't have been using it in the
first place.)
- Since I would like to eventually figure out the sound positioning issues with the newer
FMODs, the following have been added:
* snd_drawoutput now labels its outputs with the speakers they represent.
* DCanvas::DrawTextA was added as an alias for DrawText, since the Windows headers #define
DrawText to a Unicode/non-Unicode variant.
* The loopsound console command was added to spawn an actor at the player's location and
have it loop a sound infinitely.
Hopefully I can figure it out. FMOD's 3D example works, so I assume the problem lies with
my code, though I don't really know where to begin looking for the problem.
SVN r3350 (trunk)
add (or subtract) a constant to them. If you do wish to add a constant, tag must come first.
e.g. tag+3 is good, but 3+tag will not work. (As a bonus, the parser is simpler, too.)
SVN r3342 (trunk)
Includes:
- Made the move tried from checking missile spawns ignore drop off height. This solves the Voodoo Gun ghostly civilian issue.
- Fixed: the NOTELEPORT flag is removed from Dehacked missiles which lose the MISSILE flag. This caused problems with certain special effects based on dehacked spawn cubes.
- Fixed: all Boom silent teleporters preserve relative height.
- support for palette independent particle colors if the renderer can handle them.
SVN r3329 (trunk)
be made to clamp other actors' pitches to within the range (-90,+90)
degrees with the SPF_FORCECLAMP flag.
- Transmit the local viewpitch limits to the other players.
SVN r3323 (trunk)
A_DeathBallImpact uses these to avoid aiming at friends when the death ball
bounces. (The pointer is needed because the missile itself does the aiming,
not the player that shot it, and missiles are nobody's friends.)
SVN r3315 (trunk)
be used when for walls and floors when the renderer is paletted. The format
is very simple:
rgbtex1 paltex1
rgbtex2 paltex2
...
The first texture is the one to be used normally, and the second is the one
to be used in paletted modes.
The vid_nopalsubstitutions cvar can be used to ignore this lump.
SVN r3311 (trunk)
* By pressing request, allow Linux users to build ZDoom with an FMOD version that doesn't give them 3D sound positioning. :p
* Fixed severe copy-pasta portal copy bug.
* 3D floors hidden by being moved above the ceiling or below the floor will no longer show in the automap.
* Reject TEXTURES scale of 0. They'd do nothing but provoke a division by zero error.
* Maybe fixed Linux compilation?
SVN r3297 (trunk)
* Fixed possible crash when texture for menu item patch cannot be loaded. (From Alexey's Mac OS X port.)
* Fixed iwadinfo.txt definitions of Hexen and Freedoom demos (also from Alexey's port.)
* Added missing LOF_NOJUMP definition.
SVN r3284 (trunk)
- Fixed: FadeTo() accepted parameters out of range.
- Fixed: "Enable autosaves" menu option didn't handle all possible values of disableautosave.
SVN r3280 (trunk)
- fixed: D_ErrorCleanup must clear 'savegamerestore'.
- fixed: Cleaning up when loading a savegame failed while restoring the thinker list did not work. There were two issues:
* removed the asserts in GC::SweepList because they get triggered by thinkers that were not fully initialized during loading.
* AActor::UnlinkFromWorld may not assume that the sector list has been initialized when this function is called.
SVN r3274 (trunk)
- 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)
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)
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)
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)
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)
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)
(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)
- 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)
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)
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)