- Fixed: Player sounds that explicitly use dsempty will now properly silence the sound instead of looking for a more audible version.
- Remove deleted file a_macil.cpp from the project file.
- Use an FString to store demoname instead of a fixed-size array.
- Fixed: Masked mid textures should get their light level from the frontsector they reference, not from the sector they appear in.
- Fixed: Corpse queue accounting went awry once things started being kicked out of it.
- Added a new UDMF sidedef flag: lightfog.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1464 b0f79afe-0144-0410-b225-9a4edf0717df
- Initialize the nerve checksum at compile-time instead of run-time.
- Fixed: Crash in FWadCollection::RenameNerve() for files without a FileReader object.
- Fixed: Crash when using an inventory bar with the Strife style but no INVCURS graphic.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1463 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom 3929:
- Since our OPL chips are emulated, we can give them a feature that real OPL2 chips lacked: Full stereo panning for the MIDI player. (The raw OPL players are unaffected.) To get the mono output back, you can set opl_stereo to false.
- Changed SoftSynthMIDIDevice::OpenStream() to allocate the same number of samples for stereo and mono streams.
- Fixed: Solaris compile.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1462 b0f79afe-0144-0410-b225-9a4edf0717df
- Support loading either fluidsynth.dll or libfluidsynth.dll on Windows.
- Added BFG edition support.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1461 b0f79afe-0144-0410-b225-9a4edf0717df
- Run down the semaphores so they behave more like a mutex (note: mutexes/condition variables seem to be much slower).
- Fixed: vid_maxfps and cl_capfps could run into a deadlock on Linux based operating systems.
- Remove 255 character length restriction on lump names.
- Removed directory checking for big endian wads since the header check should be sufficient.
- Added support for compression in wads and big endian wads (which basically means the Jaguar Doom wad can be loaded as a pwad although it's pretty ugly since the graphic formats aren't supported).
- Instead of implementing the wad code in three places, use the normal resource code for map loading and GL node loading.
- OK, so we can't have vid_maxfps on OS X since there does not appear to be an equivalent to POSIX timers. The only thing I could find would require Objective-C and an event loop.
- Ported frame rate limiting code to SDL. [OpenGL renderer still not affected.]
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1458 b0f79afe-0144-0410-b225-9a4edf0717df
- Moved Sqrt, FixedSqrt, and VectorLength to ACSF_ instead of adding new opcodes.
- Fixed: WeaponGiver needs to set the MF_DROPPED flag of the spawned weapon to match its own.
- Fixed: WeaponGiver should not remember the given weapon after it is picked up.
- Added the Inventory flag IF_NEVERRESPAWN.
- Added sqrt, fixedsqrt, and vectorlength to ACS.
- Fixed: FString::Insert copied too many characters.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1457 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: R_GetColumn() needs to clamp negative column indexes to be inside the texture if the texture's width isn't a power of 2.
- Fixed: FListMenuItemPlayerDisplay::Drawer() used the sprite's scale but not the texture's scale.
- Added desaturated translation support to ACS.
- Added HUDMSG_ALPHA flag. To use alpha with hud messages, you now need to include this flag, so old mods with extra arguments to hudmessage don't produce unexpected results.
- Changed FRemapTable::AddDesaturation() to take doubles as parameters, since the C ABI always passes doubles to functions anyway.
- Fixed: FRemapTable::AddDesaturation() excluded the final entry from the loop. Also, it was less forgiving than AddColorRange, in that it did not support ranges in descending order.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1456 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: When P_MoveThing() moves the current camera, it also needs to reset the view interpolation.
- Increased max resolution to 5760x3600 [only concerns software renderer, OpenGL has no hardcoded limit].
- Added vid_maxfps cvar to limit the frame rate to some arbitrary rate between 35 and 1000 FPS. [OpenGL mode left unchanged.]
- Disable the teleports on lines 1107 and 1108 of nukemine.wad E1M2 so that the map is completable.
- Fixed one small copy-paste error in decaldef.txt for SnakeScorch22.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1455 b0f79afe-0144-0410-b225-9a4edf0717df
- Don't notify when other players use the chasecam in deathmatch.
- The chasecam is now only considered a cheat for deathmatch mode. (For that, there is still the sv_chasecam flag in dmflags2.)
- Added compatibility setting for Community Chest 3, map03.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1454 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- 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
- Turned A_Explode's affectsource parameter into a flags parameter and added XF_NOTMISSILE and RTF_NOTMISSILE so that you can use A_Explode and A_RadiusThrust with non-missiles without them telling P_RadiusAttack() that the target is the source.
- Use a separate thinker to do suicides, so that console-inflicted suicides will have a chance to put the console up and restore sound before the player dies.
- Fixed: MUSINFO must be parsed after MAPINFO, since it needs the entries created by MAPINFO.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1451 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- Fixed: side_t::SetTextureYScale() did not allow negative scales, even though they are perfectly valid for flipping a texture vertically. [OpenGL renderer did not have this problem.]
- Fixed: PrepWall() and PrepLWall() did not understand negative walxrepeats, which should cause
them to flip the texture horizontally. [OpenGL renderer did not have this problem.]
- Changed the gamma slider in the menu to bottom out at 0.75 instead of 1.0 and to move in increments of 0.05 instead of 0.1. [Including in GZDoom's menudef.z.]
- Added support for random state durations.
- Added the mapinfo flag ForgetState.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1448 b0f79afe-0144-0410-b225-9a4edf0717df
- Precache sounds played by ASoundSequence actors. (This includes Heretic's ambient sounds.)
- Precache $ambient sounds.
- Store ambient sound names as FSoundID rather than as FString.
- Precache PickupSound, UpSound, and ReadySound.
- Precache player sounds at level load.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1447 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- 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
- 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
- Added ACS support for setting HUD messages alpha levels. This is an additional optional parameter added to the end of the HudMessage command's existing parameter lists.
- Added lowlevel support for custom alphas for HUD messages.
- Added HUDMSG_ADDBLEND to draw HUD messages with additive blending.
- Safely handle unknown HUD message layers.
- Added HUD message visibility flags, which are ORed into the type field.
- Added HUD message layers, which are ORed into the type field.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1443 b0f79afe-0144-0410-b225-9a4edf0717df
- Trying to replace an actor that does not exist is now a warning rather than an error.
- Fixed: All [software] 3D floors were additive due to a typo.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1442 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- Backported SPACEWIDTH for fontdefs from ECWolf.
- Removed unused variable in v_font.cpp.
- Fixed: FString would truncate a string if Insert was called on a string which has a reference count greater than 1.
- Merged some ECWolf's font code changes. In particular support for retranslating the fonts should the palette change at run time.
- Fixed: Memory error when loading BMF palettes.
- Fixed: When locating WhiteIndex and BlackIndex in the palette index 0 was skipped.
- Fixed: When filling an area black for vid_fps or pillarbox/letterbox use GPalette.BlackIndex instead of assuming palette index 0 is black.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1436 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: FMultiPatchTexture::CopyTrueColorPixels() set up the alpha values backwards for blend mode BLEND_OVERLAY.
- Fixed: The nextmap and nextsecret ccmds should be disabled in network games.
- Fixed: The softsynths did not reset the tempo to its initial value when restarting a song.
- Fixed: Running status is supposed to be canceled by sysex events and meta events.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1435 b0f79afe-0144-0410-b225-9a4edf0717df
- Change the text when riched20.dll cannot be loaded, and also display it with MessageBox, since it's far too early to be used with I_FatalError. (But since this should always be available on every Windows version after 95, this should be a non-issue.)
- Make unknown OS versions default to Windows 2000 instead of Windows 95.
- Remove wrappers.asm from the project file too.
- Since ZDoom hasn't actually run on Windows 95 in some time, and nobody has complained, remove the IsDebuggerPresent thunk.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1434 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- 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
- Fixed: menu_endgame showed no text during a netgame, nor did it block you from ending a netgame.
- Changed A_SpawnItem and A_SpawnItemEx to take the caller's floatbob into account when calculating the spawned actor's z.
- Move the float bob offset calculation into a separate function.
- Fixed: The float bob offsetting in R_ProjectSprite was using r_TicFrac as a millisecond count rather than as a fraction of a tic.
- Remove LabelOffset from menudef.txt.
- Remove LabelOffset from menus entirely and just compute things so that the console font and small font, when mixed on the same line, align at their baselines.
- Fixed: The label offset has no business being involved in the positioning of the options menu cursor. Also put the cursor towards the bottom of tall small fonts.
* Fixed: after the changes to float bob behavior, dynamic light code needed some tweaks.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1428 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: FStateDefinitions::FinishStates() must ResolveGotoLabels before resolving labelled gotos.
- Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
- Fixed: 1 pixel border was drawn when there was no status bar.
- snd_midipatchset and fluid_patchset are now processed through NicePath() for variable substitution. In addition, on Windows, if they contain no path separator, they will automatically have $PROGDIR prepended to them.
- Fixed: player_t::settings_controller was not serialized.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1427 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Pain flashes were not inheritable.
- Fixed typo: Midtextures with world panning replaced rw_midtexturemid with the rowoffset instead of adding them together.
- Fix typo: MF6_SEEINVISIBLE is in flags6, not flags.
- Fixed: hud_scale is supposed use strictly integral scaling factors.
- Fixed: R_ExtendSpriteFrames() would change spr.spriteframes even when it wasn't moving them around.
- Added a 90 degree offset to all voxels, since Build's compass directions start at north rather than east.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1426 b0f79afe-0144-0410-b225-9a4edf0717df
- Draw 1 pixel of border at the edges of the status bar to prevent imprecision HOMs (only top and bottom for non-widescreen for now).
- The completeborder command is handled at the base statusbar now since it can do so more efficiently.
- Remove Item from StateCallData, since it isn't read anywhere.
- Fixed: Toggling the automap could cancel out ending the level, among other things.
- Fixed: FListMenuItemPlayerDisplay could crash at various points if a class does not have a See state.
- Fixed: Getting remorphed into a chicken should give you a Tome of Power so that you become a super chicken. Rawr! The PlayerPawn flag CANSUPERMORPH now enables this.
- Fixed typo in A_Respawn.
- Added compatibility options for Requiem map04 and Hell Revealed map19.
- Enumerate ZDaemon's ACSF_ values.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1425 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- Fixed: stopmus CCMD did not clear the last played song so it got restarted if a volume change occured.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1414 b0f79afe-0144-0410-b225-9a4edf0717df
- Make voxels slightly larger so that the size of one 3D "texel" is the same as one 2D texel at the same location. [Software renderer only; OpenGL was already correct.]
- Fixed: Texture positioning for one-sided lines marked ML_DONTPEGBOTTOM was wrong.
- Added RGF_CENTERZ to spawn a rail from the actor's center instead of offsetting it upward.
- Merged all the multiple bool parameters to the railgun functions into a single flags parameter.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1412 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- Fixed: The Wraithverge's sprits couldn't be blasted anymore due to some incomplete changes related to how A_Blast handles the blast strength. AHolySpirit::SpecialBlastHandling still used the obsolete BLAST_FULLSTRENGTH constant.
- Quadruple ACS runaway limit to 2 million instructions.
- Comment fix.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1407 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- Added the CCMD listsnapshots to show which maps have savedata stored.
- Added textual descriptions of the zlib errors.
- Fixed: FinalGC() needs to run before the type system is shut down.
- Fixed: Don't access class metadata at all in DObject::PropagateMark if the type system is shutdown.
- Fixed: If FCompressedMemFile::Reopen() fails, then it would try to double-free memory when deleted.
- Fixed: The text screen's color #6 should be brown, not dark yellow.
- Fixed: Direct ACS instructions need to tag their strings before lookup.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1405 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- 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
- 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
- Fixed: Plat_RaiseAndStayTx0 and FloorAndCeiling_LowerRaise had incorrect max parameter counts.
- Fix tiny error in A_WolfAttack.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1397 b0f79afe-0144-0410-b225-9a4edf0717df