- Play "misc/secret" as a UI sound.
- Fixed: LIGHT2SHADE would overflow with light values larger than 10 bits.
- Remove an int->bool conversion warning.
- Added missing newline characters to [BSP rebuilding] messages in p_glnodes.cpp.
- Fixed: Hexen's ACS implementation truncates all line specials to bytes, so we need to do the same for maps defined with Hexen-style MAPINFOs.
- Fixed: Setting an actor's score with ACS also modified its nametag.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1282 b0f79afe-0144-0410-b225-9a4edf0717df
- Set the CMAKE_MODULE_DIR so that we can use find_package instead of include for FluidSynth.
- Fixed: FadeTo() accepted parameters out of range.
- Fixed: "Enable autosaves" menu option didn't handle all possible values of disableautosave.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1242 b0f79afe-0144-0410-b225-9a4edf0717df
Removed unneeded includes of r_local.h.
Removed more r_ header dependencies from the rest of the code.
took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
- Removed some unnecessary r_ header #includes.
- Separated sprite and skin maintenance code from r_things.cpp into a separate file.
- 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.
- Rename src/resources to src/r_data.
- Fixed: p_sectors.cpp wouldn't compile.
- Moved side_t::GetLightLevel out of software rendering code.
- Moved render style and border drawing code out of r_draw.cpp.
- Moved all code not specific to the software renderer out of r_bsp.cpp.
* Adapted GL files to changes.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1222 b0f79afe-0144-0410-b225-9a4edf0717df
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.
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.
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.
Changed R_InstallSpriteLump so that it doesn't abort for every seemingly misnamed lump in the sprites namespace. A warning is fully sufficient here.
Added FDARI's A_Warp submission.
Added Major Cooke's Death/Paintype submission.
Added DavidPH's DOHARMSPECIES submission.
Added DavidPH's PoisonDamageType submission.
Added DavidPH's submission for allowing a special state on puffs when hitting bleeding actors.
Added DavidPH's A_AlertMonsters range submission.
Added DavifPH's submission for allowing THRUGHOST on puffs.
Added DavifPH's fix for poisoning invulnerable players.
cleaned up setPointer interface.
ZDoom part of setPointer/setActivator, submitted by FDARI.
Added DavidPH's ProjectileKickback submission.
ZDoom implementation of strcpy, submitted by FDARI.
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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1218 b0f79afe-0144-0410-b225-9a4edf0717df
- Added ACSF_AnnouncerSound from Skulltag to EACSFunctions.
- 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.
- Restore the BOOM fudging and destination Z calculations that disappeared sometime in
ZDoom's prehistory to EV_SilentLineTeleport().
- Fixed: Wrong speed for Boom line type 175.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1214 b0f79afe-0144-0410-b225-9a4edf0717df
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.
Added FDARI's ACS savestring submission.
Added optional fullthrustdistance to A_RadiusThrust to specify the distance at which thrust starts diminishing.
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.
Added Gez's A_WolfAttack submission.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1213 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- Restore [in software mode] 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1210 b0f79afe-0144-0410-b225-9a4edf0717df
- Add $edfoverride to SNDINFO for the sake of ignorability.
- Fix errors/warnings from MinGW 4.5.0 (tdm-1).
- Disable the missing field initializers warnings that -Wextra produces from GCC.
- Update zlib to version 1.2.5.
- Fixed: FxAbs::Resolve() called isNumeric() on the wrong ValueType (which is not initialized until the end of the function).
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1204 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The shareware -file check wasn't working anymore.
- Damn integer type confusion... :(
- GCC warning fixes (GCC stupidity for the most part.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1199 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- Fixed: Menu mouse navigation didn't work in fullscreen on Linux.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1198 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The summoned minotaur should not return to its own spawn state when idle but to the parent class's.
- Changed ACS Checkweapon to compare names instead of strings.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1177 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The Skin initialization code did not NULL the Voxel pointer in its sprite definitions.
- Fixed: The help screens were stretched on 16:9 displays
- Fixed: The bunny scroller did not advance its animation to the end when aborted.
- Fixed: DLevelScript always initialized the first 3 local variables, even if less were allocated.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1165 b0f79afe-0144-0410-b225-9a4edf0717df
* 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1164 b0f79afe-0144-0410-b225-9a4edf0717df
* 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.
* Added new IF_UNTOSSABLE flag for items that should be removable by any inventory function but not be droppable by the 'drop' CCMD.
* Added APROP_Dormant actor property for ACS (read only!)
* Fixed_ When performing a restart menus and intermissions need to be closed first.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1133 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed typo in Firemace obituary
- Added DavidPH's AProp_ScaleX/Y / A_SetScale submission.
- added Edward-san's fix for the turbo CCMD.
- 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. ;)
- fixed: Sector_SetPortal did not set the portal's alpha value.
- 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.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1077 b0f79afe-0144-0410-b225-9a4edf0717df
- Added Demolisher's APROP_Waterlevel patch.
- Added TheShooter7's patch to use the PUFFGETSOWNER flag for blood, too.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1073 b0f79afe-0144-0410-b225-9a4edf0717df
* 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.
* Added a NULL skins[] check to AActor::SetState().
* Fixed: ACS's GetActorX, GetActorY, GetActorZ, GetActorFloorZ, GetActorCeilingZ, GetActorAngle, and GetActorPitch did not have NULL pointer checks for the TID == 0 case.
* Fixed: GCC warnings.
* Fixed: The aspectratio SBarInfo command never ticked its contents.
* 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.
* Added automatic centering of Hexen's skill menu so that it can adjust automatically to the different player classes.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@989 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The DUMB specific options should be grayed out when using FMod for playing back modules.
- 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.
- Fixed: FOptionMenuItemJoyMap::SetSelection() did not convert from menu selection number to joyaxis number.
- Scroll two rows at a time with the mouse wheel in the options menu.
- 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.
- 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.
- 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.
- Fixed: Compilation errors on Mac OS X.
- Fixed Linux compilation issue with statistics.cpp
- Resurrected some old statistics code I had and made some minor enhancements to be of more use.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@979 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: GUI mouse events did not take letterboxing into account.
- Added a fixed version of Demolisher's GetActor** submission for returning the activator's info when the tid is 0.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@963 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The class selection menu crashed when no item in the menu was selected.
- Added Khamsin's fix for visible mouse cursors in Linux fullscreen mode with mouse disabled.
- Changed ACS's print n: cast to use an actor's tag for non-players instead of the class name.
- Added Spleen's fix for not running 2 frames of the weapon when the player spawns.
- Added Edward-san's 'changemus' submission for printing the currently playing music track.
- Fixed: Lines in the option menu that covered the same vertical space as the back button rendered the back button inoperable.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@961 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2621:
- 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.
- 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 sectors in a way that did not work.
- Fixed: Hexen's CorpseBloodDrip was missing its death sound.
- Fixed: The textured automap node initialization code could crash on maps that only have single isolated sectors.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@918 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@908 b0f79afe-0144-0410-b225-9a4edf0717df
- Added PinkSilver's ACS Checksight submission.
- Added TheShooter7/Aroenai's patch for switch on pickup menu option.
- Added TheShooter7's patch for NOPITCH flags for hitscan attacks.
- Enable backpatching on non-Windows machines.
- Maybe enable assembly on Intel Macs?
- 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.
- Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
- Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting working now.
- Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
- Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@886 b0f79afe-0144-0410-b225-9a4edf0717df
- Added: If a PowerFlight item got a valid icon don't use the spinning wings for the HUD display
- Added Polyobj_MoveToSpot action specials. They are functionally identical to Polyobj_MoveTo but get the target coordinate from a map spot instead.
- Added GetPolyobjX and GetPolyobjY ACS functions.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@879 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@878 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2450:
- Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
- Added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@848 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The intensity scalar for building DesaturateColormaps was off by one.
- 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.
- Changed G_ChangeLevel()'s parameter list to match the ACS version's.
- Added resethealth to complement resetinventory.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@820 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@777 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Explosions directly under a water surface would not hurt any actor directly above this surface.
- cleaned up P_CheckSight flag handling.
- Use normal texture animation for the main menu cursors. This required updating animations
all the time and not just when inside a level.
- fixed: IDBEHOLD altered the item counter.
- fixed: P_SpawnMapThing always reduced the angular precision to 45 degrees.
- removed AngleIncrements because it's not really useful.
- fixed: Level redirection checked the wrong level.
- Fixed: ClearActorInventory used the wrong stack index to get its parameter.
- 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.)
- 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.
- 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.
- 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'.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@756 b0f79afe-0144-0410-b225-9a4edf0717df
- let players check MF2_NOTRANSLATE so that mods can create player classes which are not subject to
default player color handling.
- fixed: The ChexPlayer was missing default colorset definitions.
- Final Doom needs its finale flats changed, too.
- It's "BGCASTCALL", not "BOSSBACK".
- 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.
- Setting a Player.ColorRange now completely disables the translation rather than just
making it an identity map.
- Added support for the original games' player translations, including Hexen's table-based ones.
- Fixed: CheckActorClass needed a NULL check.
- Fixed: FFont::StringWidth() counted the ']' character of a named color escape sequence in
its width calculation.
- Fixed: FSinglePicFont should set the character size by the scaled size of the texture.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@744 b0f79afe-0144-0410-b225-9a4edf0717df
- added 2 DECORATE keywords from Skulltag as dummies.
- fixed some Chex Quest cheat codes.
- added a lock parameter to Door_Animated.
- fixed: The monster pack's Afrit no longer worked.
- 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.
- 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.
- fixed: DefHexenBindings still referred to some of Heretic's items that once were merged with the Hexen variants.
- Fixed: Voodoo dolls must not check reactiontime in P_SlideMove.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@742 b0f79afe-0144-0410-b225-9a4edf0717df
Update to ZDoom r2081:
- fixed: Polyobjects could contain segs that weren't flagged as such.
- fixed: Trying to show a popup crashed in the SBARINFO code because of a
missing NULL pointer check.
- fixed: The ACS thinker needs its own statnum above all actors. Otherwise
order of execution is not guaranteed.
- fixed: Only ActorMovers should go into STAT_ACTORMOVER, not all PathFollowers.
- 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.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@701 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- 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.
- 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.
- Added Blzut3's Solaris patch.
- Fixed: Heretic's Weredragon (Beast) should not have a melee state.
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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@698 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Sector height was wrong for sectors that have a slope transfer for
a horizontal plane.
- better error reporting for shader compile errors.
Update to ZDoom r1942:
- Changes to both A_MonsterRail() and A_CustomRailgun(): Save actor's pitch,
use a larger aiming range, ignore non-targets in P_AimLineAttack(), and
aim at the target anyway even if P_AimLineAttack() decides it has no
chance of hitting.
- 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.
- 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.
- 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.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@581 b0f79afe-0144-0410-b225-9a4edf0717df
These are fully inheritable by subclasses unlike lights defined in GLDEFS.
The light itself still needs to defined the old way in GLDEFS though. It's only the
attachment that can now be done in DECORATE.
Update to ZDoom r1935:
- 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.
- 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.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- added ACS CheckActorClass 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.
- added better earthquake functions for ACS and DECORATE.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@549 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@507 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- 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.
- 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.
- fixed: The linetarget CCMD duplicated all of the info CCMD.
- fixed: PrintActorInfo crashed due to some incomplete implementation.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@458 b0f79afe-0144-0410-b225-9a4edf0717df
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.
- Added PinkSilver's A_LookEx fix.
- added resources needed for MBF support.
- removed unused score items from DECORATE file.
- Fixed: Argument count for UsePuzzleItem was wrong.
- Added a few things from Gez's experimental build:
* MBF Dehacked emulation but removed the COMPATF_MBFDEHACKED flag because
it wouldn't work and is more or less useless anyway.
* 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.
* MBF grenade and bouncing code.
* several compatibility options.
* 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.
* Beta Lost Soul (added DoomEdNum 9037 to it)
* A_Mushroom extensions
* Vavoom compatible MAPINFO keynames.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@452 b0f79afe-0144-0410-b225-9a4edf0717df
- 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.
- 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.
- 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.
- Applied vertical SBARINFO inventory bar patch.
- moved definition of games' default armor icons into gameinfo definition.
- fixed: The PNG loader for true color textures overwrote the IDAT size with
the IDAT id when reading the image.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@450 b0f79afe-0144-0410-b225-9a4edf0717df
- Added PinkSilver's SetActorVelocity code submission (with optimizations.)
- Added the frandom decorate function, which is exactly like random except
that it works with floating point instead of integers.
- 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.
- made menu dimming a mapping option but kept the CVARS as user override.
- Fixed: R_CreatePlayerTranslation() only initialized the first truecolor
palette entry.
- Fixed: D3DPal::Update() used BorderColor == 0 as the condition for skipping
an entry. It should be SM14 as in UploadPalette().
- 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.
- Add an alternate PIC-compliant __cpuid macro in x86.cpp.
- Fixed: S_LoadSound() did not byte-swap the frequency and length it reads
from DMX sounds.
- Fixed: PNGTexture must not use the FArchive >> operator as a short hand
for reading 4-byte integers, because that operator works with little
endian numbers--a no-op on Intel processors, but bad joojoo on PowerPCs.
- fixed: Weapons must first check if they can be switched and afterwards
if they can be fired. These checks were reversed.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@443 b0f79afe-0144-0410-b225-9a4edf0717df