Commit graph

69 commits

Author SHA1 Message Date
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
6739e1a875 * Updated to ZDoom 4071:
- Don't use the global numsectors variable when testing if a map is a Build map in P_IsBuildMap() and P_LoadBuildMap().
- In P_SetSafeFlash(), check the requested state against every actor when Dehacked moves the flash to some other class's states instead of just assuming it's good.
- In A_ReFire, allow refiring when a weapon is pending, but weapon switching is not okay at this time.
- P_MovePsprites() should now always call P_CheckWeaponSwitch(), because the latter function now has its own WF_WEAPONSWITCHOK check in the correct place.
- When doing kickback in P_DamageMobj(), choose a random direction if the target and origin are in the exact same spot.
- Fixed: G_CheckSpot() should not use the player start's z position unless LEVEL_USEPLAYERSTARTZ is set.
- Force node building for garrison.wad from The Master Levels so that the teleporter to the red key won't leave you in the ground.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1517 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-08 10:45:58 +00:00
gez
e22f8ea46b * Updated to ZDoom 4045:
- Revert WRF_NOSWITCH changes from r4024.
- In P_PoisonPlayer(), keep track of the source as the poisoner, so you can get accurate kill accounting. Also, if the poisoner is a missile, remembering it is pretty pointless, since it's likely to be gone before the player ever dies from the poison.
- Separate the player weapon state flags from the other player "cheat" flags.
- Be more concise for WRF_NoFire in A_WeaponReady.
- Use P_DropWeapon() everywhere it makes sense.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1510 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-25 15:32:12 +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
d3f6f84034 * Updated to ZDoom r3818:
- The Channel Group Target Unit is now only deactivated when the gamestate is GS_LEVEL. Otherwise, it just gets muted. 
- Changed vid_tft's default to true. How many people still run 1280x1024 on a CRT these days?
- Fixed: M_InitVideoModesMenu() needs to call vid_tft's callback.
- Player icons that are taller than the small font will now expand the vertical size of the player bars on the scoreboard.
- Fixed: Having +showscores down during the intermission would draw both the regular intermission scoreboard plus the HUD scoreboard.
- Fixed: hu_scores used the player icon's unscaled width when calculating sizes.

- Fixed: P_TouchSpecialThing() considered all pickup items to be 32 units tall for the sake of touching, even if they were taller.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1441 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-10 21:16:25 +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
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
5990e1decb * Updated to ZDoom r3650:
- 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.
- Moved identical damage checks in P_DamageMobj into an inline function.
- Fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
- Fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.
- Fixed: P_LineAttack needs to check for 'Hitscan' damage, too, when deciding if using the damage type from the puff is appropriate.
- Fixed: The "clip midtexture" flag did not work as expected for stacked sectors [in the software renderer]. This is because it was an extension of the normal wall clipping process. Since a stacked sector above you doesn't draw a floor, it wouldn't clip any midtextures to the floor either. R_RenderMaskedSegRange() now checks this directly when rendering inside a stacked sector.
- Added OB_MPDEFAULT string for being killed by a player for an unknown reason. This can be overridden in custom player classes by changing their Obituary property to something else.
- ClientObituary() now only looks up the obituary message from the killing player's weapon if the damage type was 'Melee' or 'Hitscan'.
- Gave P_GunShot() and A_FireBullets the new damage type 'Hitscan'.
- Switched A_Saw and A_CustomPunch to the 'Melee' damage type.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1393 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-29 14:34:56 +00:00
gez
1189fccae3 * Updated to ZDoom r3633:
- Fixed: Polyobjects must be blocking where an object is below the reference sector floor or above the reference sector ceiling.
- Fixed: 3DMidTexture polyobjects had open.top and open.bottom reversed.
- Fixed: Suicides could count towards multikills (patch by edward850)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1389 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-09 10:55:42 +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
2329ad9f70 * Updated to ZDoom r3568:
- Fixed: The rail attack did not check the BLOODLESSIMPACT flag.
- Fixed: Don't ignore FORCEPAIN if damage modification takes the damage to 0.
- Fixed: DHUDMessageTypeOnFadeOut::Tick() did not skip over color escapes.
- Fixed: When using CMF_ABSOLUTEPITCH or CMF_OFFSETPITCH, A_CustomMissile could calculate a negative missile speed.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1359 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-15 16:05:38 +00:00
gez
f79b8147d9 * Updated to ZDoom r3532:
- Added Thomas's patch to add a Pufftype parameter to A_Explode.
- Expanded 'info' CCMD to also print the TID.
- Added Xaser's weapon patch to check +reload and +zoom in A_WeaponReady.
- Added Xaser's modified version of kgsws's railgun enhancements patch.
- Added DavidPH's A_FaceTarget with pitch submission.
- Added NOTAUTOAIMED patch but did not set it for Heretic's pod.
- Added FDARI's submission for A_CustomMissile options.
- Added patch to have D'Sparil transfer his translations to his second state and the teleport effect.
- Fixed TArray compilation issue with GCC 4.7.
- Added FDARI's Default/global damagetype properties submission.
- Fixed ammo usage issues with Dehacked modified weapons that switch attack code pointers. Unless Dehacked specifies an 'ammo use' value for a weapon any Dehacked modified weapon determines ammo use by attack function, like Doom did originally, and not by the weapon's AmmoUse property. This also addresses that the Cells/BFG shot value always modified the BFG itself.
- Fixed: A_Saw depleted ammo after the attack so it still went through with it, even though it was out of ammo.
- Fixed: The bounce on actors check handled infinite bouncers (bouncecount == 0) incorrectly.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1348 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-07 19:55:17 +00:00
gez
8c0fa6d15a * Updated to ZDoom r3508:
- Fixed: DesignatedTeams prevented monsters from hurting themselves in teamplay.
- Added handling for MF5_NOINTERACTION to A_Weave.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1339 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-01 21:59:44 +00:00
gez
af22020682 * Updated to ZDoom r3480:
- Fixed: Sprites drawn with the shaded render style were always fullbright.
- Remove unused FRICTION definition.
- Fixed: Switching maps using the ResetHealth flag while dead would prevent proper reinitialization of the player on the new map.
- Fixed: If the znodes were based on a map with more vertexes than the one it is being loaded for, reject them.
- Fixed: Prematurely closing a Door_Raise-type door now properly examines the actual sound sequence to determine if it should start the closing sequence.
- Fixed: Poison damage lost damage type information if the poisoner was destroyed before poisoncount reached 0.
- Fixed: Poisoners without a PainType should use their own DamageType to pick the Pain state to make the target enter, not the target's DamageType.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1323 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-24 10:14:51 +00:00
gez
59988570f5 * Updated to ZDoom r3474:
- Fixed: CopyPlayer must recheck the skin, since the value stored in the savegame is only used for bots. Mainly, what this means is that if the player is using the "Base" skin, they will get their class-appropriate skin instead of skin 0 if this save is loaded before any other game has started.
- Fixed: Do not "Give player back the skin" when loading a savegame if they have MF4_NOSKIN set.
- Fixed: G_DeathMatchSpawnPlayer() would fail to spawn a player when using "spawn furthest" and all the deathmatch spots are filled and there is no coop start for the specific player to fallback on.
- Fixed: DCanvas::FillSimplePoly() did not account for the texture's built-in scaling.
- Fixed: Keys bound to "screenshot" did not work during the finale (aka intermission) sequences.
- Fixed: Armor did not use damagefactor "Normal" as a fallback factor.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1322 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-23 08:46:16 +00:00
Christoph Oelckers
b56ae0cea5 - Update to ZDoom r3242:
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
2011-06-19 17:17:46 +00:00
Christoph Oelckers
dbd6c3d6b5 - Update to ZDoom r3224:
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.
    Fixed: Light levels outside the range [0,255] really do matter.
    Added FDARI's latest actor pointer submission.
    Added kgsws's 3D floor textute rotation fix.
    Added DavidPH's damage type specific damage color submission.
    Added DavidPH's A_PainAttack extension submission.
    Fixed: Telefrag damage should not be affected by skill damage factors.
    Added A_GunFlash extension submission.
    Added DONTCORPSE submission.
    Added SEEINVISIBLE submission.
    Added submission for disabling some new and rather pointless GCC warnings.
    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.)
    Fixed: Typo in FClipRect::Intersect() could case bad clipping.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1216 b0f79afe-0144-0410-b225-9a4edf0717df
2011-06-12 09:08:10 +00:00
Christoph Oelckers
41e65154a5 - Update to ZDoom r3114:
* fixed secret CCMD colors for thing based secrets.
    * 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.
    * Enable menu mouse navigation on SDL systems.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1182 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-22 17:08:55 +00:00
Christoph Oelckers
0dd982ce41 Update to ZDoom r2980:
* 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.
    * 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.
    * 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.
    * Fixed: The message for trying to quickload in netgames used the wrong display mode for the message menu.
    * Fixed: AdjustPusher compared a sector's index with a tag to check for existing pushers in that sector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1070 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-04 07:53:18 +00:00
Christoph Oelckers
021a2b5099 * moved some info into the GAMEINFO section:
o the sprite used for 'pause'.
   o the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
   o 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.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@983 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-19 11:04:00 +00:00
gez
5c0247886e * Added missing po_man.h.
* 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
2010-07-23 22:01:12 +00:00
Christoph Oelckers
f0ed61f588 - added a am_showalllines cheat CVAR as countermeasure for maps that intentionally disable the full automap.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@787 b0f79afe-0144-0410-b225-9a4edf0717df
2010-05-01 17:31:45 +00:00
Christoph Oelckers
298f0d2e80 Update to ZDoom r2249:
- 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
2010-03-27 07:46:42 +00:00
Christoph Oelckers
e96944df13 Update to ZDoom r 2145:
- fixed: Rocket trail particle positioning only worked when the rocket was moving.
- fixed: Sector_SetWind and Sector_SetCurrent were not usable in scripts called from a line.
- added Gez's A_Mushroom extension.
- 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.
- fixed: Being resurrected by an Arch Vile did not restore flags5 and flags6 to the defaults.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@738 b0f79afe-0144-0410-b225-9a4edf0717df
2010-01-30 14:54:56 +00:00
Christoph Oelckers
7d5c48606b Update to ZDoom r2047:
- 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.
- 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.
- 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.
- Added a channel parameter to the sector overload of SN_StopSequence() so
  it can be properly paired with calls to SN_StartSequence().
- 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.
- 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.)
- Fixed: savepatchsize was declared incorrectly in d_dehacked.cpp:DoInclude().
- Changed AFastProjectile::Effect() so that it sets the spawned trail to face
  same direction as the projectile.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@672 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-25 12:10:12 +00:00
Christoph Oelckers
f531ae17a9 Update to ZDoom r2027:
- Fixed: Morphed players tried endlessly to switch to a weapon they picked up.
- 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.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@661 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-17 14:16:00 +00:00
Christoph Oelckers
02df598825 Update to ZDoom r2024:
- Added a DMG_NO_FACTOR flag for P_DamageMobj(). A_KillChildren, A_KillMaster,
  and A_KillSiblings now use it.
- Added a damage type parameter to A_KillChildren, A_KillMaster, and
  A_KillSiblings. 


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@658 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-13 09:47:09 +00:00
Christoph Oelckers
9e2ef91806 Update to ZDoom r1947:
- Added Gez's patch for IWAD detection of Blasphemer and Action Doom 2.
- Fixed: 0 damage projectiles did not call P_DamageMobj.
- 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.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@583 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-29 06:43:20 +00:00
Christoph Oelckers
daf0e06890 Update to ZDoom r1921:
- 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
2009-10-16 16:17:24 +00:00
Christoph Oelckers
33a4058533 Update to ZDoom r1905:
- Added Gez's seeker missile submission.
- Added Gez's thing activation submission.
- 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: AAmbientSound::Serialize was adjusting its timer value for savegames
  even when it was set to a 'don't check' value.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@539 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-10 11:37:36 +00:00
Christoph Oelckers
cbeab447fd - Added a PainThreshold actor property.
- fixed: Teleport_EndGame did not set the end sequence name properly.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@537 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-08 20:27:18 +00:00
Christoph Oelckers
bfc2102ac7 - Update to ZDoom r1887.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@499 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-28 22:53:23 +00:00
Christoph Oelckers
f0d3820dd5 Update to ZDoom r1848:
- 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
2009-09-16 21:17:17 +00:00
Christoph Oelckers
2352d102e9 Update to ZDoom r1831:
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
2009-09-15 06:19:39 +00:00
Christoph Oelckers
67a7c1b1b7 - Update to ZDoom r1817:
- 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".
- 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+.

- added support for Vavoom skyboxes from Gez's experimental build.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@451 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-14 07:26:58 +00:00
Christoph Oelckers
ef8fbb6413 - Update to ZDoom r1777:
- 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.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@427 b0f79afe-0144-0410-b225-9a4edf0717df
2009-08-30 19:31:59 +00:00
Christoph Oelckers
1e1d3c556d Update to ZDoom r1757:
- 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.
- Added buddha cheat.
- 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.)
- Added MF6_NOTELEFRAG flag.
- 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.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@412 b0f79afe-0144-0410-b225-9a4edf0717df
2009-08-07 19:34:42 +00:00
Christoph Oelckers
fda31121ae Update to ZDoom r1711:
- Added Gez's A_WeaponReady enhancement submission.
- Added Gez's CheckActorProperty submission.
- Added code submissions for non-piercing railguns and new skill options.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@377 b0f79afe-0144-0410-b225-9a4edf0717df
2009-07-06 17:28:49 +00:00
Christoph Oelckers
75008caf22 Update to ZDoom r1705:
- 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.
- Fixed: Setting intermissioncounter to false in gameinfo drew all the stats
  at once, instead of revealing them one line at a time.
- Fixed: The border definition in MAPINFO's gameinfo block used extra braces.
- Added A_SetCrosshair.
- Added A_WeaponBob.
- Dropped the Hexen player classes' JumpZ down to 9, since the original value
  now works as it originally did.
- 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.)
- A_ZoomFactor now scales turning with the FOV by default. ZOOM_NOSCALETURNING
  will leave it unaltered.
- Added Gez's PowerInvisibility changes.
- Fixed: clearflags did not clear flags6.
- Added A_SetAngle, A_SetPitch, A_ScaleVelocity, and A_ChangeVelocity.
- 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.
- 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.
- 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.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@376 b0f79afe-0144-0410-b225-9a4edf0717df
2009-07-04 08:28:50 +00:00
Christoph Oelckers
5a18951b45 - 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.
- fixed: Dynamic lights affected sprites in fullbright mode.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@345 b0f79afe-0144-0410-b225-9a4edf0717df
2009-06-16 22:05:47 +00:00
Christoph Oelckers
169965ea9f Update to ZDoom r1669:
- 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.
- 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.)
- Moved Raw Input processing into a seperate method of FInputDevice so that
  all the devices can share the same setup code.
- Removed F16 mapping for SDL, because I guess it's not present in SDL 1.2.
- 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.
- Fixed: I_ShutdownInput must NULL all pointers because it can be called twice
  if an ENDOOM screen is displayed.
- 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.
- Added Line_SetTextureScale.
- Fixed: sv_smartaim 3 treated the player like a shootable decoration.
- Added A_CheckIfInTargetLOS
- Removed redundant A_CheckIfTargetInSight.
- Fixed: The initial play of a GME song always started track 0.
- Fixed: The RAWINPUT buffer that GetRawInputData() fills in is 40 bytes on
  Win32 but 48 bytes on Win64, so Raw Mouse on x64 builds was getting random
  data off the stack because I also interpreted the error return incorrectly.
- added parameter to A_FadeOut so that removing the actor can be made an option.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@344 b0f79afe-0144-0410-b225-9a4edf0717df
2009-06-14 18:05:00 +00:00
Christoph Oelckers
0f42c39184 - fixed FORCEPAIN logic.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@342 b0f79afe-0144-0410-b225-9a4edf0717df
2009-06-07 17:06:30 +00:00
Christoph Oelckers
be68474922 - implemented per-sidedef texture scaling for GL renderer.
Update to ZDoom r1648:

- 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 
- Added Karate Chris's poison cloud fix.
- 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.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@340 b0f79afe-0144-0410-b225-9a4edf0717df
2009-06-07 16:43:13 +00:00
Christoph Oelckers
c2d1121663 Update to ZDoom r1643
- Added Hirogen2's unlimited pickup patch.
- Added railgun performance customization CVARs by Spleen.
- Added aspect ratio override submission by SoulPriestess.
- 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.
- Added support for horizontal mouse wheels, and set invprev/invnext as
  default bindings for it. This is Vista only. DirectInput mouse (in_mouse 2)
  does not support it, because the DirectInput mouse device does not expose
  this control.
- Added a label for the F16 key and mapped the kp= key on a Mac keyboard to
  the PC98 equivalent so it will be identified as kp=. (Interestingly, F13-
  F16 and kp= only generate events when using Raw Input, not when using
  DirectInput.
- 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.
- Added Gez's GetArmorType submission

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@339 b0f79afe-0144-0410-b225-9a4edf0717df
2009-06-06 15:24:18 +00:00
Christoph Oelckers
471aa06cf7 Update to ZDoom r1616:
- Removed HaveFocus variable in preference of using GetForegroundWindow().
- Added Raw Input keyboard handling.
- 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.
- 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.
- Recoverable errors that are caught during the demo loop no longer shut off
  the menu.
- Specifying non-existent directories with -savedir or the save_dir cvar now
  attempts to create them.
- 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.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@333 b0f79afe-0144-0410-b225-9a4edf0717df
2009-05-27 22:16:34 +00:00
Christoph Oelckers
103df0ede3 Update to ZDoom r1600:
- Fixed: When setting up a deep water sector with Transfer_Heights the floorclip
  information of all actors in the sector needs to be updated.
- Fixed: A_CountdownArg and A_Die must ensure a certain kill.
- 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.
- 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.
- 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.
- Fixed: SetSoundPaused() still needs to call S_PauseSound() to pause music
  that isn't piped through the digital sound system. (Was removed in r1004.)
- 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.
- 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.
- Fixed: Monsters should not check the inventory for damage absorbtion when
  they have the MF5_NODAMAGE flag set.
- Added patch for saving automap zoom.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@328 b0f79afe-0144-0410-b225-9a4edf0717df
2009-05-23 10:24:33 +00:00
Christoph Oelckers
4c1cbcedfa - fixed: Map wads with less than 4 lumps caused an endless loop in the gl nodes checking code.
This condition is true for all UDMF maps with only a TEXTMAP lump.

Update to ZDoom r1523:

- Fixed: The UDMF textmap readbuffer was never freed.
- Fixed: GetPlayerInput() died if you tried to get the input of the activator
  and the activator was the world.
- 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.
- added 'damage' to the actor variables exported to DECORATE's expression
  evaluator.
- fixed: solid corpses could block ripper missile that originally killed them.
- Fixed: Doom's status bar was lacking its default face.
- Fixed: Custom skin face graphics were not added to the texture manager.
- Fixed: UseHealthItems() gave you health equal to the number of items in
  the stack of health items, rather than the item's proper amount.
- 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.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@321 b0f79afe-0144-0410-b225-9a4edf0717df
2009-04-06 17:27:59 +00:00
Christoph Oelckers
df7261f8c5 Update to ZDoom r1514:
- 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.
- 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.
- Fixed: Reading the RNG states from a savegame calculated the amounts of
  RNGs in the savegame wrong.
- 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.
  <http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html>
- Made fmodex.dll delay-loaded so the game should be runnable on Windows 95
  again, though without sound.
- 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.
- 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.
- Fixed: Implicitly defined clusters were not initialized when being created.
- Fixed: Item tossing did not work anymore.
- Changed: Making the gameinfo customizable by MAPINFO requires different
  checks for map specific border flats.
- 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.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@318 b0f79afe-0144-0410-b225-9a4edf0717df
2009-03-29 11:21:36 +00:00
Christoph Oelckers
2ea9d7fc44 Update to ZDoom r1493:
- 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.
- 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.
- Fixed: P_RailAttack() passed the wrong angle variable to P_TraceBleed().
- 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.
- 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.
- 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.
- Added support for loading ZGL2 nodes. (Only useful with UDMF and maps with
  more than 65534 lines.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@315 b0f79afe-0144-0410-b225-9a4edf0717df
2009-03-21 08:08:18 +00:00