Commit graph

226 commits

Author SHA1 Message Date
Christoph Oelckers
8d029ffe0f - Added FloatBobPhase 0 to dynamic light to prevent pr_spawnmobj RNG from being called for it.
- update to ZDoom r4296:

* Added a FloatBobPhase property for DECORATE. Now, if FloatBobPhase is anything but -1 it will be used directly as the initial phase, allowing to define actors that bob in sync. The allowed range of phases is 0 - 63. The main reason for this is that each actor spawn called the pr_spawnmobj RNG just to randomize this value which causes problems with non-interactive actors, in particular GZDoom's dynamic lights.
* Dynamically generated strings returned via strparam and get(user)cvar now last as long as they need to. They do not disappear at the end of each tic. You can now safely store them in variables and hold on to them indefinitely. In addition, strings from libraries no longer require you to load the exact same libraries in the exact same order. You can even store a library's string in a world variable and retrieve it on another map that doesn't load the library at all, and it will still be the correct string.
* ACS library IDs now only get 12 bits instead of 16 so that each string table can hold up to about a million strings instead of just 65536. This shouldn't be a problem, although it means that save games that had strings with the larger IDs stored in variables are no longer compatible. Since many saves don't involve libraries at all, and even many that do are not actually affected, I'm not bumping the min save version. The worst that can happen is that you get no text at all where some was expected.



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1579 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-30 09:01:00 +00:00
gez
87761b3383 * Updated to ZDoom 4289:
- Added parentheses for clarity.
- Fixed potential uninitialized access in FMapInfoParser::ParseEndGame().
- Fixed: 4, 2, and 1 bit grayscale images weren't properly supported.
- Fixed: Valgrind uninitialized memory error and a signed/unsigned warning.
- Just remembered that the true color stuff generates textures differently.  Changed the previous commit to expand 1, 2, and 4 bit grayscale images while reading the PNG instead of changing the palette.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1576 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-26 11:33:33 +00:00
gez
ca39e45dbe * Updated to ZDoom 4259:
- Fixed possible NULL pointer deref in PrintDLS().
- Fixed possible NULL pointer deref in P_SpawnPlayerMissile().
- Fixed possible memory leak in the non-Windows version of CreatePath().
- Fixed: TAG_MINEKEY still contained the underscore character.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1568 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-17 07:52:50 +00:00
gez
ff75ca3b2f * Updated to ZDoom 4255:
- Switched to a generically extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.
- Fixed possible NULL pointer deref in AActor::Grind().
- Fixed possible NULL pointer deref in A_CustomPunch.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1567 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-17 07:51:18 +00:00
gez
e164627296 * Updated to ZDoom 4251:
- Added bounce states. Set the BOUNCE_UseBounceState flag to use them (+USEBOUNCESTATE via DECORATE).
- Added a big-endian fix for actor flag fields that aren't four bytes wide.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1565 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-05 20:39:42 +00:00
gez
1af67b91a5 * Updated to ZDoom 4246:
- For the sake of better testing, use 2D sprite sorting unconditionally and not just when a voxel is in view. [Software only. Irrelevant to OpenGL.]
- Fixed crash when an actor's spawn state ends by destroying the actor and the first state has NoDelay set and it only consists of 0-tic states.
- Added a DropAmmoFactor field to WeaponGiver so that ModifyDropAmount() can record the drop amount modifier into it without fiddling with the actual AmmoGiveX fields.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1562 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-03 09:23:39 +00:00
gez
d00bef42ee * Updated to ZDoom 4243:
- Fixed: r4234 moved tic decrementing to the wrong spot.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1561 b0f79afe-0144-0410-b225-9a4edf0717df
2013-05-01 16:42:06 +00:00
gez
8d0af5b32d * Updated to ZDoom 4242:
- Be consistent with whitespace tabs.
- Stylistic changes.
- Fixed: A_RemoveSiblings and [A_RaiseSiblings] did not check that the caller had a master to deduce siblings from.
- Fixed: WeaponGiver did not give half ammo when dropped.
- Fixed: The constructor for single-lump fonts did not initialize the Cursor field.
- Added a NODELAY state flag. This is only valid for a state immediately following a Spawn label. When set, the actor will run this state during its first tick. This means Spawn states may now run an action function if you set this flag. Note that this action function is executed during the actor's first tick, which is not the same as when it is spawned.
- Fixed: r4226 [ported in r1557] had bad copy-paste angles for Demon2's XDeath.
- A_KillSiblings and A_DamageSiblings didn't check for a valid master.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1560 b0f79afe-0144-0410-b225-9a4edf0717df
2013-04-30 07:01:01 +00:00
gez
3b47329254 * Updated to ZDoom 4234:
- Lets try fixing the extra tic issue by evaluating the zero delay states at PostBeginPlay.  This requires delaying the state cycling until the next tick.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1559 b0f79afe-0144-0410-b225-9a4edf0717df
2013-04-30 06:53:28 +00:00
gez
518c7b734b * Updated to ZDoom 4233:
- Fixed: noextratic fix skipped over infinite duration states.
- Try that last fix again. This time check to see if we enter an infinite duration state and break out of the loop.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1558 b0f79afe-0144-0410-b225-9a4edf0717df
2013-04-28 19:33:58 +00:00
gez
5a4a89d128 * Updated to ZDoom 4231:
- Fixed: Hexen's A_DemonDeath and A_Demon2Death had been converted to incorrect generic Decorate.
- Fixed: A_MinotaurChase should switch to the Idle state, not the Spawn state.
- Fixed: There's more than one place where the CROUCHABLEMORPH flag needs to be checked.
- Added an alternate 2D sprite sorting comparison function which seems to work better with large voxels than the standard 1D sprite sort. [Software only; OpenGL had no such problem to begin with.]
- P_RailAttack() now checks the puff's MF3_FOILINVUL flag.
- Added Blzut3's noextratic fix.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1557 b0f79afe-0144-0410-b225-9a4edf0717df
2013-04-28 08:49:31 +00:00
gez
6362d775ad * Updated to ZDoom 4221:
- Dropped items with the DONTGIB flag set will no longer be destroyed by crushers.
- Fixed: Voxel rendering completely fell apart when a mirror came into view. [Software renderer only. OpenGL was and still is fine.]
- Force all voxel mip levels to use the same pivot point as the first level.
- Added DONTGIB flag to Key, so key-dropping enemies can be used reliably near crushers.
- Fixed: When trying to unmorph a monster, make sure the morphed version doesn't have the TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed version, since they will both exist in the same place at the same time, and TOUCHY is really touchy about that.
- Use tests less prone to overflow on very steep slopes when detecting which side of a plane the camera is on. Mostly, this means testing the distance of the camera to the plane rather than computing the plane's Z at the camera and comparing that with the camera's Z. [Software only, OpenGL was and still is fine.]
- Added CROUCHABLEMORPH flag for the PlayerPawn class. Use this to indicate that a morphed player class can crouch. (Regular players can always crouch, hence the name CROUCHABLEMORPH and not CANMORPH or ALLOWMORPH.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1552 b0f79afe-0144-0410-b225-9a4edf0717df
2013-04-20 21:17:54 +00:00
gez
6034b6bd99 * Updated to ZDoom 4207:
- Fixed: Skin mugshots didn't load. (This adds a texture usetype for skin graphics.)
- Always spawn RocketSmokeTrail and GrenadeSmokeTrail actors, and make them invisible for players who don't want to see them. This is needed for multiplayer sync between players with different settings for cl_rockettrails.
- Added FDARI's CLOFF_JUMP_ON_MISS and CLOFF_AIM_VERT_NOOFFSET flags.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1548 b0f79afe-0144-0410-b225-9a4edf0717df
2013-03-29 10:26:08 +00:00
gez
504e928d2f * Updated to ZDoom 4198:
- Fixed: Used the wrong actor's radius in P_Thing_Projectile() to get the maxdist for P_CheckMissileSpawn().
- Always at least halve the advance vector in P_CheckMissileSpawn().
- Fixed: Don't return false from PIT_CheckThing when a shootable missile hits a nonmonster and infighting is disabled; let the normal conditions apply. Otherwise, you end up with situations where monster-fired projectiles can collide with pickups.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1544 b0f79afe-0144-0410-b225-9a4edf0717df
2013-03-22 06:16:30 +00:00
gez
ca50d198ad * Updated to ZDoom 4195:
- When moving polyobjects, recalculate the floors and ceilings for the actors in their bounding boxes. (See http://forum.zdoom.org/viewtopic.php?f=2&t=35616)
- Fixed: Putting a lightlist in a sector caused that sector's floorlight and ceilinglight to be ignored.
- Random spawners no longer move the missile forward when spawning them, because presumably whatever spawned the random spawner already took care of this.
- Added a maxdist parameter to P_CheckMissileSpawn() to help ensure that it doesn't completely move the spawned missile outside of its shooter (and potentially beyond a wall the shooter might happen to be standing next to).
- A player's Speed is now applied to their upmove as well as their forwardmove and sidemove.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1543 b0f79afe-0144-0410-b225-9a4edf0717df
2013-03-21 06:48:35 +00:00
gez
0d06d764a9 * Updated to ZDoom 4191:
- Allow negative force for A_RadiusThrust.
- Added flags SXF_CLEARCALLERTID, SXF_MULTIPLYSPEED, and SXF_TRANSFERSCALE for A_SpawnItemEx.
- Use a missile's MaxTargetRange property as the range for P_AimLineAttack() inside P_SpawnPlayerMissile().
- Make teleport fogs target the teleported actor.
- Added spawnofs_z parameter to A_RailAttack and A_CustomRailgun.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1542 b0f79afe-0144-0410-b225-9a4edf0717df
2013-03-20 21:21:26 +00:00
gez
aa3d0b8be7 * Updated to ZDoom 4181:
- Fixed: P_SpawnPlayerMissile() should not 0 the pitch for weapons that don't autoaim. This allows A_FireOldBFG to work properly when freelook is disabled.
- Fixed: The sc_man scanner must use an unsigned character type, or it won't properly recognize any unquoted characters with the eighth bit set.
- Added A_SetDamageType.
- Added Xaser's SXF_USEBLOODCOLOR for A_SpawnItemEx submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1537 b0f79afe-0144-0410-b225-9a4edf0717df
2013-03-14 07:42:44 +00:00
gez
d51123c1a1 * Updated to ZDoom 4170:
- Moved all BorderNeedRefresh and SB_state updating code into separate functions that won't crash if screen is NULL.
- Fixed: G_DoLoadLevel() has a for loop where it resets player cameras that incremented and checked the wrong variable.
- Fixed: Players using colorsets instead of custom colors overrode their team colors.
- Added TheFortuneTeller's NORANDOMPUFFZ submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1534 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-28 09:35:52 +00:00
gez
a6b89e2b6a * Updated to ZDoom 4136:
- Fixed: spynext/prev were unreliable with player prediction.
- Fixed: The changemap CCMD did not work for maps not defined by MAPINFO.
- Fixed: When adding a forwardmove value, P_Bob() needs to do the same pitch-dependent scaling   as P_ForwardThrust().
- Changed the "notrelevant" checks in R_RenderMaskedSegRange() to not include equality in their   comparison operators. Fixes one map (http://forum.zdoom.org/viewtopic.php?f=2&t=34082); might   break others. Maybe. [This does not concern the OpenGL renderer.]
- Fixed: info CCMD listed bounce flags twice, under separate names.
- Skip the MF2_PASSMOBJ height checks in PIT_CheckThing() for ripper missiles.
- Fixed: Because P_OpenMapData() now reopens the containing file for the map, P_LoadGLNodes() needs a new check for if the map came from a regular wad.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1527 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-14 10:28:14 +00:00
gez
7533b153de * Updated to ZDoom 4064:
- Fixed CF_DOUBLEFIRINGSPEED is in player->cheats, not player->WeaponState.
- Added WRF_DISABLESWITCH flag for A_WeaponReady to indicate that any attempts to switch the weapon should be discarded.
- Moved MF4_BOSSSPAWNED flag copying from A_PainShootSkull to AActor::CopyFriendliness().
- Allow terrain definitions to work with overrides and non-flats.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1515 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-05 14:08:40 +00:00
gez
7d2566ef1e * Updated to ZDoom 4031:
- GCC warning cleanup.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1508 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-22 13:20:35 +00:00
gez
fef3619592 * Updated to ZDoom 4019:
- Added MAPINFO flag "SpawnWithWeaponRaised".
- Added CHANGELEVEL_PRERAISEWEAPON flag for use with ACS's ChangeLevel.
- Move NULL player check earlier in P_PoisonDamage, before player is accessed.
- Add NULL decal check to FDecalLib::ParseGenerator().
- Initialize sprframe to NULL in FListMenuItemPlayerDisplay::Drawer().
- In UpdateJoystickConfigMenu(), do not access joy before checking if it's NULL.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1502 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-03 20:33:41 +00:00
gez
8e2b798b8d * Updated to ZDoom 4012:
- Fixed: The resurrect cheat also needs to restore the player's radius.
- Changed P_CheckPlayerSprites() so that it does not alter any actor data. It is now called by R_ProjectSprite() to modify the appropriate data right before it is needed for rendering.- Never set the player actor's scale to the skin's directly. Only do it indirectly through P_CheckPlayerSprite().
- Fixed: When P_Add3DFloor() adds the "inside" plane, it needs to copy the translucency flags from the original plane.
- Added JLOSF_NOAUTOAIM flag for when you want to use A_JumpIfTargetInLOS in conjunction with something that never autoaims, such as a railgun.
- Fixed: A_JumpIfTargetInLOS should use P_AimLineAttack() instead of P_BulletSlope(), because the latter intentionally checks to the sides of the aimed line.
- Do not wake Oracle spectres that are dead.
- Do not "wake" Oracle spectres that killed an Oracle. (Because if they killed it, they're obviously already awake. Also, we don't want them to end up targeting themselves.)
- Fixed: Don't use the player skin in the cast call if the class being shown has been removed from the PlayerClasses array (and therefore does not have a valid default skin).
- Do not double-scale player classes that use non-1.0 default scales.
- P_DamageMobj() now returns the amount of damage actually done so that the bleed functions can perform based on the amount of damage actually taken after all modifications are done to it. However, if the damage is canceled away, blood will still spawn for the original damage amount rather than the modified amount.
* Fixed decals not being lit correctly in the older lighting mode.
* Fixed: 3D middle textures with a valid backsector need to be rendered as two-sided even if they lack the two-sided flag. (It works in ZDoom.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1500 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-03 00:03:11 +00:00
gez
0d7e941b3a * Updated to ZDoom r3866:
- Reformatted the info ccmd to be less verbose.
- Added compatibility entries for Daedalus to fix SPAC_Push-triggered lines that aren't actually pushable.
- Added A_JumpIfTargetOutsideMeleeRange and A_JumpIfTargetInsideMeleeRange.
- Added a melee range check to A_SentinelRefire for actors without missile states. This fixes Strife's Beggar trying to attack you when you're nowhere near him.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1453 b0f79afe-0144-0410-b225-9a4edf0717df
2012-09-09 19:26:01 +00:00
gez
b6b4f2bfcf * Updated to ZDoom r3862:
- Fixed: P_SpawnBlood() would set Strife's Blood to the Spray state and then promptly go about setting it right back to the Spawn state.
- Fixed: The check in P_SpawnBlood() to avoid advancing the state to something not owned by the spawned blood actor was backwards and would only advance to state's NOT owned by it.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1452 b0f79afe-0144-0410-b225-9a4edf0717df
2012-09-02 21:44:01 +00:00
gez
ef5d3da0b8 * Updated to ZDoom r3857:
- Deactivate the master DSP unit when pausing the sound on title maps as well as on regular maps.
- Fixed: When r3837 moved SNDINFO parsing before MAPINFO parsing, it broke support for Hexen's $map SNDINFO command. Removed LEVEL2_MUSICDEFINED, since it's no longer needed by the new implementation for this command.
- Fixed: Horizontal movement should not trigger bump specials while predicting.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1450 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-29 14:23:08 +00:00
gez
e13d5ac2ca * Updated to ZDoom r3840:
- Add the definition for sfxinfo_t::MarkUsed().
- Added actors' BounceSound, WallBounceSound, and CrushPainSound to preloading.
- Moved marking of actor sounds for precaching into a virtual Actor function.
- Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is loaded.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1446 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-25 13:53:57 +00:00
gez
464356ccb5 * Updated to ZDoom r3835:
- Added actors' BounceSound, WallBounceSound, and CrushPainSound to preloading.
- Moved marking of actor sounds for precaching into a virtual Actor function.
- Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is loaded.
- Added PLAYERINFO_FOV and PLAYERINFO_DESIREDFOV for use with GetPlayerInfo.
- Exported the scoreboard text to LANGUAGE.
- Ignore the Skulltag-based SERVERSIDEONLY flag in actor definitions.
- Added noclip2 cheat. This is similar to noclip, except it also adds nogravity and the ability to fly through 3D floors.
- Fixed: screenshot_dir overrided -shotdir.
- Fixed: Crash when trying to swap fragglescript special when specials 272 and 270 aren't in the translation array.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1445 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-25 13:50:01 +00:00
gez
ff66809d94 * Updated to ZDoom r3829:
- Added two new PlayerPawn properties: GruntSpeed and FallingScreamSpeed.
- Since the string builder stuff takes care of recursive print calls now, the PCD_CALLs don't need to save it as part of the state when calling functions.
- Clear the shootable flag in P_ExplodeMissile().
- Fixed: The new HUD message layers were not declared for the garbage collector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1444 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-14 13:12:30 +00:00
gez
c095eddd72 * Updated to ZDoom r3798:
- Changed unix config directory from ~/.gzdoom to ~/.config/gzdoom to comply with Ubuntu Software Centre guidelines.
- Added ACS function IsTIDUsed(tid).
- Added ACS function UniqueTID(tid, limit).
* Removed unused HOME_DIR define.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1433 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-02 14:36:26 +00:00
gez
97a91bec93 * Updated to ZDoom r3796:
- Fixed typo in r3795's change to GetActorZ and a potential null pointer dereference.
- Add the bob offset to the missiles spawned by P_SpawnMissile(), P_SpawnMissileAngle(), P_SpawnMissileAngleSpeed(), A_MissileAttack, A_ComboAttack, A_BasicAttack, A_CustomMissile, A_CustomComboAttack, A_ThrowGrenade, A_SpawnDebris, and A_Burst.
- Add the bob offset to the value returned by GetActorZ.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1432 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-30 08:16:33 +00:00
gez
37cc4b45a6 * Updated to ZDoom r3756:
- Added PCD_SCRIPTWAITNAMED p-code.
- Fixed: PCD_SCRIPTWAITDIRECT had different semantics than PCD_SCRIPTWAIT.
- Remove FloatBobOffsets[], since it's just a mini-finesine[] table multiplied by 8.
- Remove FloatBobDiffs[] table, as it is now unused.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1424 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-11 12:41:13 +00:00
Christoph Oelckers
d8ef694138 - Update to ZDoom r3751:
Added the item flag IF_RESTRICTABSOLUTELY. When this is set, players of the wrong class cannot pickup an item at all. (For instance, normally players in Hexen can still pick up other players' weapons for ammo. With this flag set, they cannot do that either.)
    The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
    Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all player starts are added to a pool, and players spawn at a random spot.
    Pass playernum as a parameter to P_SpawnPlayer(). Now P_SpawnMapThing() is the only thing that uses the MapThing's type to determine the which player is spawning.
    Fix some GCC 4.7.1 warnings.
    Added UsePlayerStartZ MAPINFO option to cause P_SpawnPlayer() to offset the spawned player's Z position by the MapThing's Z, just like for any other MapThing.
    P_SpawnPlayer() now respects a player's SPAWNCEILING and SPAWNFLOAT flags.
    Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
    Make floatbobbing a purely cosmetic effect that does not alter an actor's real position in the world.
    We don't need to keep the FloatBobOffsets[] verison of DoWaggle around.
    What I didn't have this saved? ugh
    Fixed: The action function version of ACS_NamedExecuteWithResult only accepted three script parameters.
    Fixed: Editing the player (thing #1) with DeHacked would remove its MF2_PUSHWALL flag.
    This was not supposed to be committed as part of r3737.
    Don't use abbreviations in exception descriptions.
    Do do not disable config writing before DoGameSetup() (introduced in r3653) if the config file does not already exist. This way, we can create a default config file without removing anything from an existing config file if things go wrong early during setup.
    Added Hacx 2.0 detection.
    Let's go ahead and bump the version in trunk.
    Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
    Fixed: DDrawFB should not recreate all its resources when the palette changes if we were the one responsible for the palette change.
    Fixed: DDrawFB::CreateSurfacesComplex() starting tries at 2 instead of 0 is not "debugging cruft" since it counts down, not up. (Partially reverts r3195)
    Fixed: ACS function pointer instructions need to call GetFunction on the tagged module instead of the active behavior.
    Added support for Eternity Engine's function pointer ACS instructions. (Note that an alternative ACS compiler is necessary to use these instructions properly.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1420 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-08 08:24:45 +00:00
Christoph Oelckers
9c457ecb90 - Update to ZDoom r 3730 (2.6.0)
Fixed: sv_unlimited_pickup did not work with the flechette.
    Fixed: FCoverageBuffer::InsertSpan() failed to consider the case where the new span starts above an existing span and ends below it.
    Fixed: Revision 3711 broke voxels that need to be drawn offscreen before drawing to the screen.
    Fixed: Revision 3711 broke the drawing of all but the first post in each voxel column.
    Fixed: Do not override the player's sprite if it's TNT1 and the player is uncrouched without a specific crouch sprite defined by both the player class and skin.
    Fixed: FRandom told the expression evaluator that it returned an int instead of a float, so using it in in any expression would automatically downcast it to an int unless ① its sibling in the expression tree was a float, or ② it was the only thing in the expression.
    Fixed: Don't warn when an Inventory item's Icon is set to "".
    Added hud_scale and hud_althudscale to the menus.
    Added inventory-based damage modification to APoisonCloud::DoSpecialDamage() and P_PoisonDamage().
    Make APoisonCloud::DoSpecialDamage() and P_PoisonDamage() respect damage factors.
    Pass the damage type to AActor::DoSpecialDamage().
    Use floating point instead of the distrecip() function for slightly less precision loss.
    Tweak voxel sizes and vertical positioning further.
    Fixed the Programmer's last state's sprite frame (was Y, should be X.
    Try to keep voxels from shifting up and down depending on how far you are above or below them.
    Adjust voxel scale further, under Enjay's tutelage.
    Whoops. That doesn't work right if it needs to actually draw more than one column segment from each voxel strip.
    Allow voxels to be further off the side of the screen than regular sprites, since they can stick out more.
    Clip each column of voxel strips individual, rather than clipping them all the same as the first one.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1417 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-02 07:01:47 +00:00
gez
4a49af9e41 * Updated to ZDoom r3705:
- Fixed: FDecalGroup::GetDecal() crashed if there were no decals defined for the group.
- Fixed: A_Saw used the target acquired by P_AimLineAttack for determining if it hit something, not the actual victim of the attack. This is particularly incorrect if the target is a ghost or a spectral monster.
- Unset CF_FLY cheat flag when a player is spawned.
- Fixed: The D3D FlatFill function ignored the alpha channel, unlike its counterpart in the paletted renderer.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1411 b0f79afe-0144-0410-b225-9a4edf0717df
2012-06-24 08:12:37 +00:00
gez
2f8b070708 * Updated to ZDoom r3695:
- Fixed: Heightsecs with SECF_FAKEFLOORONLY set should not clip sprites to the fake ceiling (since it doesn't really exist).
- Fixed: P_LineAttack() calls that use damage type 'None' should use 'Hitscan' instead.
- Added Xaser's submission for no impact damage from blasting.
- Removed the MF5_FASTER and MF5_FASTMELEE flags and replaced them with a 'Fast' state flag.
- Fixed GCC warnings and removed debugging _heapchk() calls.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1406 b0f79afe-0144-0410-b225-9a4edf0717df
2012-06-18 17:50:32 +00:00
gez
a79fe7da6d * Updated to ZDoom r3685:
- The bouncing check from r3643 cannot be applied retroactively to the existing DOOMBOUNCE flag because mods depend on the old behavior. Instead of modifying BOUNCE_AutoOff's behavior the correct way of doing this has to be implemented as a separate flag in order to avoid problems.
- Restored the old underwater sinking code for players.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1404 b0f79afe-0144-0410-b225-9a4edf0717df
2012-06-18 17:21:50 +00:00
Christoph Oelckers
882bc2be84 Update to ZDoom r3683:
Fixed: The music name wasn't recorded when a song was started with music volume set to 0.
    Added a check to the MENUDEF parser to prevent special menus from being replaced by something non-functional to counter attempts to cripple the engine's functionality.
    Added AActor::SetFriendPlayer() to make setting FriendPlayer cleaner to read when doing it with a player_t pointer.
    A_FPunchAttack no longer thrusts targets with INT_MAX mass.
    Folded duplicated code from A_FPunchAttack into a separate function.
    Added a check to the ANIMATED parser that prints an error message if it tries to read past the end of the lump.
    Also allow string constants on font names.
    Fixed: Allow string constants in SBarInfo whenever an actor name is required. The only exception is drawing the inventory icon with drawimage since it would be ambiguous, so I would advise using valid identifiers for class names even if it isn't required. Parenthesized syntax is required to use this feature where applicable.
    Fixed: The secret hint code did not resolve level names coming from the string table.
    Don't record pointers to OptionValues outside of the OptionValues table, so that they can be redefined.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1402 b0f79afe-0144-0410-b225-9a4edf0717df
2012-06-09 18:04:07 +00:00
gez
0b81c66357 * Updated to ZDoom r3674:
- Fixed: CheckForPushSpecial's window check must also check 3D floors in the back sector.
- Fixed: Inventory clearing after changing a level with the ACS ChangeLevel command did not properly clear the inventory. This will now use the same code as the ACS ClearInventory command.
- Fixed: Option value sets for the menu may not be redefined. An attempt to do so must produce a fatal error.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1399 b0f79afe-0144-0410-b225-9a4edf0717df
2012-06-01 12:35:38 +00:00
gez
d474ed6627 * Updated to ZDoom r3670:
- Fixed: The sinking-in-water code didn't really know what to do with things that aren't players.
- When scrolling rotated floors and ceilings, scroll as if the texture was unrotated. (That is, keep the scroll direction constant, no matter what the rotation.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1398 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-31 08:46:08 +00:00
gez
cfaee12bcf * Updated to ZDoom r3660:
- Ensure that the 'owner' variable in the missile spawning functions is always valid.
- Ensure that 'kill' always kills the player, regardless of damage factor.
- Fixed: FMultiPatchTexture::ParsePatch didn't pass the usetype onto FTexture::CreateTexture.
- Fixed: When the player setup menu cycles the random players, it needs to rebuild the translation for each one.
- Re-fix of r3655: 180° in angle_t needs to be specified as ANGLE_180.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1395 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-29 14:59:23 +00:00
gez
5d459a0831 * Updated to ZDoom r3655:
- Fixed: A_LookEx did not default to a 180 degree cone.
- Players are no longer affected by the skill property NoPain.
- Fixed: Do not write the config file if DoGameSetup() has not been called yet.
- Updated internal zlib to version 1.2.7.
- Changed spectral missiles to use FriendPlayer instead of health to distinguish between player spawned and monster spawned versions. Also moved most of this into the basic missile spawning functions instead of littering all spectral missile spawning functions with these initializations.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1394 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-29 14:47:06 +00:00
gez
1e1f44b497 * Updated to ZDoom r3645:
- Fixed: When P_ZMovement() handled MF_FLOAT, it reset the actor's z velocity to 0. I'd like to know why that was in there, but I have no idea. It was like this for the entire life of the repository, so I can't find anything from that. And since MF_FLOAT is typically also applied to monsters with MF_NOGRAVITY, the z velocity should already be 0, so it's a change that makes little sense.
- Added the actor's address to the info CCMD's output so that you can locate actors in the world and then examine them more closely in the debugger.
- Fixed: BOUNCE_AutoOff should not trigger when bouncing off a ceiling, since it will always pass the velocity check.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1392 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-29 14:27:03 +00:00
gez
2f0b474a62 * Updated to ZDoom r3620:
- Use SetOrigin() instead of P_TryMove to set the dropped item's position in AActor::DropInventory(). Also removed dropdist, since it wasn't used.
- Make player unmorphing the first thing that happens in G_PlayerFinishLevel() so that all inventory fiddling happens on the real player and not the morphed player.
- Unraveled the want_native bit in I_CheckNativeMouse somewhat to ensure that it ends up false when menuactive == MENU_WaitKey, even if you're not in a level.
- Added shfolder.lib to the linker dependencies of 32-bit builds for Windows 98 compatibility, so that SHGetFolderPath is taken from shfolder.dll instead of user32.dll.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1380 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-04 07:17:43 +00:00
gez
fdab90190d * Updated to ZDoom r3611:
- Fixed: When PlayerIsGone() destroys a morphed player, it needs to destroy the unmorphed player too.
- Fixed: Destroying a morphed player would try to unmorph the player twice.
- P_SeekerMissile() now returns true when the projectile's speed is 0 and the tracer would otherwise be seekable. Fixes 0-speed missiles using A_SeekerMissile for special effects.
- Instead of a huge switch statement, lets convert POV to axes by bitwise operations since we later assume we can do that for the button mapping anyways.
- Fixed: r_translate.cpp:SetRange() did not set the true color palette entry for single-entry ranges.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1372 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-01 07:49:04 +00:00
gez
a42d2559e2 * Updated to ZDoom r3601:
- Fixed P_CheckSwitchRange() should not force range checking of lines flagged with ML_3DMIDTEX if they do not have a midtexture.
- Fixed: sector_t::GetHeightSec() was too aggressive about not returning heightsec.
- Fixed: PowerTimeFreezer needs to use different bits to mark timefreezing initiated by different players, or overlapping uses of PowerTimeFreezer will malfunction.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1368 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-27 13:54:44 +00:00
gez
61f97005d2 * Updated to ZDoom r3598:
- On second thought, using FloorBounceMissile() for bouncing off the top of an actor might not be the best idea.
- Implicitly set MF2_PASSMOBJ when BounceType is used in an actor definition so that actors under or above the bouncer can be checked for bouncing.
- Fixed: Bouncing missiles landing on an actor would just stop rather than bounce.
- Fixed: The lookup and lookdown buttons should set LocalKeyboardTurner so that the pitch change is interpolated.
- Fixed: SectorDamage did not work with 3D floors.
- Fixed: The length of the SFLG chunk was used incorrectly, resulting in erroneous flag setting if such a chunk was present.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1367 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-26 13:10:22 +00:00
Christoph Oelckers
ea76bc0d99 Update to ZDoom r3587:
Changed icon lookup for weapons in SBARINFO so that it uses the alternative HUD's method if the weapon does not have an icon defined.
    Added DavidPH's sqrt for DECORATE submission.
    Added Gez's fixed palette flashes for Hexen.
    Added Italian translation to OB_VOODOO (thanks to Edward-san)
    Added some accented characters to the small Doom font. (thanks to hfc2x)
    Fixed the bloodspawning completely: It has to check for parent class's states, too, so that inherited blood still works
    Changed the direction of positive rotation for voxels to match GZDoom's counterclockwise spin.
    Fixed: All missiles could climb steps in P_TryMove() because of an extra ampersand turning & into &&.
    Fixed: P_SpawnBlood did not check that the state it was setting for low-damage blood was valid.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1362 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-22 10:02:48 +00:00
gez
faaa683ad5 * Updated to ZDoom r3574:
- Being killed by a voodoo doll now has its own obituary, rather than trying to come up with one by treating it as a real player.
- Fixed: The 0-damage FORCEPAIN checks in P_DamageMobj() also need to check the PAINLESS and NOPAIN flags.
- If A_SeekerMissile is used with the SMF_LOOK flag and its targets is unseekable, it now clears its tracer so that it will look for a new target the next time it is called.
- Extended P_RoughMonsterSearch() with a flag to indicate that it should only search for seekable targets.
- Fixed: P_TestMobjZ() should not let missile shooters block their missiles.
- In S_Shutdown(), stop the song and forget traces of it so that people who feel like setting snd_musicvolume in their atexit don't crash because it tries to restart the song at the new volume.
- Don't crash when loading UDMF maps with invalid sidedef references.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1360 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-19 11:44:25 +00:00
gez
8939431087 * Updated to ZDoom r3563:
- Fix type conversion warning.
- In P_SpawnMapThing(), pass the same flags to P_FindFloorCeiling() as the respawn functions do.
- Rename FFCF_3DMIDTEXRESTRICT to FF_3DRESTRICT and make it work with 3D floors too.
- Fixed: Do not play skinned sounds when the player has the NOSKIN flag set.
- Fixed: If a player has the NOSKIN flag set, do not change their appearance to that of the skin when spawning or changing the skin.
- Fixed: DSBarInfo did not declare its object pointers for the garbage collector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1358 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-14 07:39:28 +00:00