Commit graph

5704 commits

Author SHA1 Message Date
Christoph Oelckers
7115590c1d - moved setup code for Eternity-style skyboxes to p_spec.cpp and consolidated most of it with nearly identical parts of the stacked sector portal setup code. 2016-01-11 15:29:44 +01:00
Randy Heit
42e9a6a711 Make atlas size a macro definition and default it to 512x512 (was 256x256) 2016-01-10 22:14:35 -06:00
Randy Heit
aaac5ac7a1 Use not so brilliant backgrounds for allocated atlas backgrounds 2016-01-10 22:01:29 -06:00
Randy Heit
670058fa3c Switch to the bottom-left picker for the Skyline Bin Packer 2016-01-10 21:54:28 -06:00
Randy Heit
4f0046105d Change texture atlas display to show allocated rectangles 2016-01-10 21:09:16 -06:00
Christoph Oelckers
918a2ed562 -fixed: Eternity-style skyboxes must check if some portal copy definitions have been set for them. 2016-01-10 22:26:08 +01:00
Christoph Oelckers
2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
ZZYZX
4bbec2a7fe Fixed skybox clipping: sprite columns shouldn't be clipped against the current portal if rendered on root level of a skybox. 2016-01-10 05:48:06 +02:00
ZZYZX
605fce9008 Fixed skybox clipping: things in a skybox shouldn't be clipped against current portal. Fixed: portal inside of a skybox sets CurrentPortalInSkybox to false. 2016-01-10 05:45:26 +02:00
ZZYZX
4d518a220c Fixed skybox clipping: lines in a skybox shouldn't be clipped against current portal 2016-01-10 05:22:33 +02:00
Randy Heit
1f34372abc Remove the upper limit on midi_voices.
- Black MIDIs can be brutal, and there's really no reason that this needs
  to be artificially limited to a paltry 256 voices.
2016-01-09 17:55:39 -06:00
Christoph Oelckers
68b4c23a82 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 21:10:46 +01:00
Christoph Oelckers
53d385a596 - need to validate SetSectorTerrain's 'plane' parameter, 2016-01-09 21:10:12 +01:00
alexey.lysiuk
b27fdcffb5 Added shortcut to toggle fullscreen on OS X
Press Command+F to toggle fullscreen mode in native OS X backend
Set k_allowfullscreentoggle CVAR to false to disable the shortcut
2016-01-09 17:12:58 +02:00
Christoph Oelckers
23cfd29dbb - let's save the terrain properties as names so that they survive a change in the definition files. 2016-01-09 12:28:42 +01:00
Christoph Oelckers
7f454358b9 - added ACS SetSectorTerrain function. 2016-01-09 12:16:41 +01:00
Christoph Oelckers
71c7f2b42c - added 'floorterrain' and 'ceilingterrain' sector properties for UDMF. These will take precedence over texture based terrain if used.
'ceilingterrain' is needed because the top of 3D-floors refers to the model sector's ceiling, so in order to give a 3D floor a terrain it must be assignable to the sector's ceiling.
Note that although it is basically the same property, its actual function bears no relevance to its use in Eternity.
2016-01-09 12:10:36 +01:00
Christoph Oelckers
4b3adf548a - fixed compile errors. 2016-01-09 11:44:05 +01:00
Christoph Oelckers
a5054b0882 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 10:11:46 +01:00
Christoph Oelckers
0b5e419593 - fixed friction logic for sectors.
Issues with the old code:
* when calculating friction for a 3D-floor - swimmable or not - the 3D floor's top texture must be used. The previous version always checked the sector's floor texture, even though the top might as well come from the sector's ceiling.
* 3D floors never checked for the SECF_FRICTION flag at all. According to Boom specs, sector-based friction must be ignored if this is the case.
* Terrain based friction had a higher priority than the sector's own value.

Changed the rules as follows:
* if the sector's SECF_FRICTION flag is set (i.e. something explicitly changed the sector's friction), this value is used regardless of terrain settings.
* if this flag is not set, the terrain's friction is used, if defined, using the proper plane for 3D-floors.
* otherwise the default is used.
2016-01-09 10:11:20 +01:00
Randy Heit
786caaf36b Execute disconnect scripts immediately before the player is destroyed.
- Disconnect scripts were previously run at some point after the player
  left. Now they are run immediately before destroying the player. Since
  the player hasn't actually been destroyed yet, the player also gets to
  be the script's activator. This gives you a chance to scrape whatever data
  you want from the player before they're history. Note that if you do
  anything to make the script wait, the script's activator will become the
  world, as it was before.
2016-01-08 22:41:23 -06:00
Randy Heit
bf31d66d31 Use a better packing algorithm for the texture atlases
- The old algorithm is something I threw together that produced decent,
  but not spectacular results since it had a tendency to waste space by
  forcing everything onto "shelves".
  The new packer is the Skyline-MinWaste-WasteMap-BestFirstFit algorithm
  described by Jukka Jylanki in his paper *A Thousand Ways to Pack the Bin - A
  Practical Approach to Two-Dimensional Rectangle Bin Packing*, which can
  currently be read at http://clb.demon.fi/files/RectangleBinPack.pdf
  This is minus the optimization to rotate rectangles to make better fits.
2016-01-08 22:37:06 -06:00
Randy Heit
f330a81909 Rename packing textures to texture atlases for the D3D code
- I figure since I now know the "proper" name for these things, I should
  call them by it.
2016-01-08 20:08:10 -06:00
Randy Heit
a43f5a8eca Remove now unused variable from SpawnPolyobj 2016-01-08 20:08:06 -06:00
Christoph Oelckers
cf564c60c2 - simplified setup of polyobjects defined from explicit lines
The old method had a problem with missing order numbers and aborted the level load and made many assumptions that no longer apply with BSP based polyobject rendering.
2016-01-09 01:23:00 +01:00
coelckers
500c1623d0 Merge pull request #467 from kevans91/freebsd-build
I missed one last spot where a FreeBSD compilation should follow the …
2016-01-08 09:58:55 +01:00
Kyle Evans
d20f18a4bb I missed one last spot where a FreeBSD compilation should follow the path of OS X -- <signal.h> needs to be pulled in for signal functions 2016-01-07 22:48:25 -06:00
MajorCooke
bfd9e2bc1c - Added CHF_STOPIFBLOCKED and CHF_DONTTURN macro.
- CHF_STOPIFBLOCKED simply prevents the actor from changing directions for movement.
- CHF_DONTTURN implies NORANDOMTURN, NOPOSTATTACKTURN and STOPIFBLOCKED.
2016-01-07 19:20:02 -06:00
MajorCooke
da9c3ff9d2 Added A_Wander Flags.
- WF_NORANDOMTURN and WF_DONTANGLE do the same as their CHF_ counterparts for A_Wander.
2016-01-07 17:38:45 -06:00
MajorCooke
f357a36c5c - New A_Chase flags.
- CHF_NORANDOMTURN: Actor will not randomly turn during chasing to pursue its target. It will only turn if it cannot keep moving forward.
- CHF_DONTANGLE: Actor does not adjust its angle to match the movement direction.
- CHF_NOPOSTATTACKTURN: Actor will not make its first turn after exiting its attacks.
2016-01-07 17:38:25 -06:00
MajorCooke
ccc694bbcd - Added the following flags, all affixed with CPXF_:
- NODISTANCE: Disables distance checking.
- CHECKSIGHT: The qualifying actor must be in sight in order to count.
- SET<TARGET/MASTER/TRACER>: Gets the first qualifying actor and sets the calling actor's specified pointer to it.
- SETONPTR: If the function is being aimed at another actor other than the caller, sets that actor's pointers instead. Requires a SET* flag to work.
- FARTHEST: The actor farthest from the checking actor is set as the pointer. Requires a SET* flag to work.
- CLOSEST: The closest qualifying actor is set as the pointer. Requires a SET* flag to work.
2016-01-07 17:09:02 -06:00
Randy Heit
efaaccc030 Added $ check for language support for drawing Option Values 2016-01-07 12:59:16 -06:00
Randy Heit
cd4076dc1b Added $ check for language support for StaticTextSwitchable 2016-01-07 12:59:16 -06:00
Christoph Oelckers
eafa394af4 - re-added and fixed terrain splashes for damaging sectors.
Turned out that P_HitWater wasn't even able to spawn the splashes, even after the call was re-added.
2016-01-06 16:42:21 +01:00
Christoph Oelckers
f8b2b4558f - fixed a few typos (Get instead of Set...) 2016-01-06 15:47:56 +01:00
Christoph Oelckers
154e106315 - make better use of the damageinterval value for Strife's delayed damage. 2016-01-06 14:16:42 +01:00
Christoph Oelckers
990323fb26 Merge branch 'fix_intermission_font' of https://github.com/alexey-lysiuk/gzdoom 2016-01-06 13:37:23 +01:00
Christoph Oelckers
6afd76e5db - enable damage types for Strife's delayed damage. It will always use the type of damage that was last encountered. 2016-01-06 13:36:22 +01:00
Christoph Oelckers
eb6c855a95 - handle intermediate special values in thinkers. They also need to take care of the related damage variables and flags. 2016-01-06 13:30:28 +01:00
Christoph Oelckers
bd8513c063 - made sector_t::damageamount an int so that it can hold TELEFRAG_DAMAGE.
- marked all places where sector_t::special needs to be addressed for the damage overhaul.

NOTE: This commit will not compile!
2016-01-06 12:56:35 +01:00
Christoph Oelckers
1ee441412a - add savegame compatibility handling for damage related changes: When loading an old savegame the sector specials must be reinitialized to set the damage properties. 2016-01-06 12:31:27 +01:00
alexey.lysiuk
73f4e013f1 Font kerning is no longer ignored in intermission screen
See http://forum.zdoom.org/viewtopic.php?t=50304
2016-01-06 13:26:05 +02:00
Christoph Oelckers
5474e01de8 - removed FraggleScript's 'sectortype' function. This was GZDoom exclusive and never documented so it got no public exposure. Since this is incompatible with the damage related changes, it has no more use.
- major overhaul of the static sector damage system:

* consolidated special based damage, Sector_SetDamage and UDMF properties into one set of damage properties. The parallel handling that could lead to double damage infliction was removed. This also means that damage through sector specials can be retroactively changed through Sector_SetDamage.
* all special cases were turned into flags. The new system can switch between Strife's delayed damage and regular damage, and it can also set whether terrain splashes are used or not. It also has access to the special properties of the end-level type (i.e. switching off god mode and ending the level.)
* the damage related flags are accessible through Sector_ChangeFlags, not the damage functions themselves.
2016-01-06 12:12:47 +01:00
Christoph Oelckers
b0db5d9b16 - added a SECF_SILENTMOVE flag.
Since Eternity got this it's a good candidate for a potential Super-Boom standard, and it's also useful for silencing a sector temporarily without removing the sound sequence.
2016-01-06 02:16:33 +01:00
Christoph Oelckers
d34077a3ba - ... and finally the push flag. 2016-01-06 02:05:39 +01:00
Christoph Oelckers
3ffcec3eb3 - moved friction flag from special to Flags as well. 2016-01-06 02:01:59 +01:00
Christoph Oelckers
6a63effa1f - fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.

This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
2016-01-06 01:50:45 +01:00
Christoph Oelckers
1c6a00059f - fixed: MAPINFO option fs_nocheckposition parsed the '=' twice. 2016-01-05 20:41:59 +01:00
Christoph Oelckers
46b5900a0d Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-05 17:06:24 +01:00
Christoph Oelckers
d0c372692b - added new ACS function SetSectorDamage which allows the use of actual damage types, unlike the old Sector_SetDamage. Unlike Sector_SetDamage this function does not use damage amount dependent defaults for the interval and the leakiness if none are passed. 2016-01-05 16:29:04 +01:00
Christoph Oelckers
2b519a92b1 - allow setting the sector's damage properties through UDMF. 2016-01-05 16:19:55 +01:00
Christoph Oelckers
3e13e772ef - after realizing that changing the sector's MOD variable to an FNameNoInit doesn't do anything bad, I just went ahead and got rid of the last place in the engine that still used this data type for internal storage. 2016-01-05 16:10:04 +01:00
Christoph Oelckers
5d388f8e63 Merge branch 'master' of https://github.com/rheit/zdoom into zmaster 2016-01-05 15:41:19 +01:00
Christoph Oelckers
d432df55e9 - changed Sector_SetDamage so that it can explicitly set the damage interval and the leakiness probability, instead of hardcoding it to fixed damage ranges.
- fixed: FCajunMaster::IsDangerous did not check for Heretic's sludge type.
2016-01-05 15:39:21 +01:00
Christoph Oelckers
8ded18a96c - changed default frequency for Timidity++ to 44100kHz. 2016-01-05 14:09:34 +01:00
Christoph Oelckers
b2f860d7ae - better add a NULL pointer check here. 2016-01-05 11:07:59 +01:00
Benjamin Moir
c9afb199ca Added "pufftid" parameter for LineAttack. 2016-01-05 13:58:00 +10:00
Braden Obrzut
a1e0ac0b71 Merge branch 'osx_start_wnd' of git://github.com/alexey-lysiuk/gzdoom into osx_start_wnd 2016-01-04 22:11:46 -05:00
Christoph Oelckers
111479063f - fixed a potential overflow issue with calculating a portal's origin point.
- fixed: Sector_SetPortal's Eternity translation was not correct.

The ZDoom variant allows specifying the plane as part of the portal, Eternity does not. Added a new 'plane' type 3 which just means 'any'.
2016-01-04 21:05:09 +01:00
Christoph Oelckers
824801ae6b Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-04 11:52:29 +01:00
Christoph Oelckers
bd95c5eadf - fixed: the ambient sound things need both the args from the DoomEdNum mapping and the actual map. 2016-01-04 11:52:07 +01:00
alexey.lysiuk
02ff3291bd Fixed division by zero in RNG
Random number generator now returns zero for range [0, 0)
2016-01-04 12:16:09 +02:00
alexey.lysiuk
699f274b06 Fixed mouse cursor centering in fullscreen mode
Native OS X backed didn't center mouse cursor in fullscreen mode with Retina/HiDPI support enabled
Incorrect size of content view led to placement of cursor in upper right corner of the screen upon releasing of mouse capture
When some action is assigned to this corner using system Hot Corners feature, the given action was triggered on acquiring mouse capture
2016-01-04 10:51:54 +02:00
Christoph Oelckers
772a572431 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-03 11:32:39 +01:00
Christoph Oelckers
a75e65a3d8 - added BLOCKF_SOUND to flag list supported by Line_SetBlocking, 2016-01-03 11:32:23 +01:00
MajorCooke
77013877d1 A_WeaponReady Fix
- Zoom and Reload keys triggered the other states instead of themselves (i.e. zoom keybind triggered reload states instead of zoom)
2016-01-02 11:27:02 -06:00
Randy Heit
c86cd53753 Merge branch 'master' of https://github.com/crimsondusk/zdoom into crimsondusk-master
Conflicts:
	src/am_map.cpp
2015-12-31 20:18:54 -06:00
Randy Heit
1d759283c0 Cleanup the zoom/reload/userX handling for A_WeaponReady
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
Randy Heit
4931c90839 Bump save version for bigger WeaponState property 2015-12-31 16:46:18 -06:00
MajorCooke
3566d3157a Use | instead of +. 2015-12-31 16:46:17 -06:00
MajorCooke
6478b98eea Update serialization to BYTE from WORD for older save games. 2015-12-31 16:46:17 -06:00
MajorCooke
b09a81126f - Changed WeaponState from 8-bit to 16-bit integer.
- Because the flags for WF_USER#OK are 256 on up, this is required in order to work.
2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67 Added support for weapon states User#.
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
addd059410 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-31 23:05:13 +01:00
Christoph Oelckers
5e975ac9f6 - extended $mididevice to add an optional parameter, which has the following meaning for the different MIDI devices:
* OPL: specify the core to use for playing this song
* FluidSynth: specify a soundfont that should be used for playing the song.
* WildMidi: specify a config file that should be used for playing the song.
* Timidity++: specify an executable that should be used for playing the song. At least under Windows this allows using Timidity++ with different configs if the executable and each single config are placed in different directories.
* GUS: currently not operational, but should later also specify the config. This will need some work, because right now this is initialized only when the sound system is initialized.
* all other: no function.

These options should mainly be for end users who want to fine-tune how to play the music.
2015-12-31 23:03:53 +01:00
Randy Heit
d8af2e558f Fix potentiol buffer overrun in MUSSong2::Precache() 2015-12-31 15:28:18 -06:00
alexey.lysiuk
262580c92f Updated LZMA SDK to version 15.14
Enabled support for PPMD compression method
2015-12-31 17:25:49 +02:00
Christoph Oelckers
1316120fe4 - fixed: The MUS precacher did not handle invalid patches well.
- increased the valid range of patch values for MUS. According to the original MIDI2MUS code it can handle numbers up to 188, not 181, and at least one track from Eternal Doom uses #183.
2015-12-31 14:35:34 +01:00
alexey.lysiuk
94fec26cb6 Fixed runtime warning on OS X 10.4 Tiger
The 'invalid pixel format attribute' warning was introduced with automated graphics switching control
2015-12-31 11:00:05 +02:00
Christoph Oelckers
c88ed426a8 - oops, this somehow lost the shift operator... 2015-12-30 20:39:38 +01:00
Christoph Oelckers
3c40d71c20 - hopefully fixed the MUS precaching for good.
According to blzut3, it looks like it is a byte followed by a variable length field. It can be any value 0-15 and will be followed by that many bytes one for each bank used. If the bank count is 0 then it is shorthand for using one bank (bank 0).
2015-12-30 20:32:19 +01:00
Christoph Oelckers
be6daf5d78 - changed instrument lookup in MUS files.
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.

Known variations are:

* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
alexey.lysiuk
63993dee96 Hid resize indicator on OS X startup window
The resize indicator overlapped with progress bar and Quit/Cancel button on 10.6 and older versions
OS X 10.7 and newer don't have this indicator at all
2015-12-30 16:05:16 +02:00
alexey.lysiuk
3466a8c7a9 Disabled miniaturization for OS X startup window
Old versions of OS X don't support changing of window style mask
2015-12-30 12:19:50 +02:00
alexey.lysiuk
db207feed1 Added missing header #include for old OS X SDKs 2015-12-30 12:17:38 +02:00
Edoardo Prezioso
a2b377c580 - Fixed Clang errors/warnings on wildMIDI code. 2015-12-30 10:58:52 +01:00
Christoph Oelckers
aff42a6186 - don't look up a lump name in PathExpander if we are only looking for real files. 2015-12-30 10:21:17 +01:00
Christoph Oelckers
1def61e3e3 - allow changing the reverb and resampling mode setting for WildMidi.
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
Kyle Evans
6c13ba40ac Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588 2015-12-30 01:09:11 -06:00
Randy Heit
3ec6ad5018 Add SysEx retrieval to the MIDI file reader 2015-12-29 22:39:38 -06:00
Randy Heit
92e0bbeee9 Handle WildMidi's supported SysEx messages 2015-12-29 18:25:13 -06:00
Randy Heit
6d2e93254f Fix CreateSMF's SysEx writing
- It was wrong before. It might still be wrong, but at least it doesn't
  look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit
545e2f7c69 Slap WildMidi onto snd_listmididevices's output for Windows 2015-12-29 17:55:20 -06:00
Randy Heit
900937929e Use critical sections for WildMidi locking
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Randy Heit
14361d9313 Remove midi_timiditylike
- Did anybody actually use this? Use WildMidi instead if you want
  something that sounds more like Timidity++ without actually being
  Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers
0cc4bd56d1 - removed the original WildMidi loader and the main playback function because none of those is actually being used anymore. 2015-12-29 23:18:39 +01:00
Christoph Oelckers
c3862d9101 - use PathExpander class for WildMidi's file access functions so that it can find Timdity's data on its own. 2015-12-29 21:18:46 +01:00
Christoph Oelckers
fe2dcfd588 - refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers
0634205d7f - let WildMidi tokenizer handle quoted strings. 2015-12-29 18:01:15 +01:00
alexey.lysiuk
3af95e0aea Added native startup window for OS X 2015-12-29 15:19:42 +02:00
alexey.lysiuk
673e1b4faf Fixed compilation warning when building with OS X 10.11 SDK
The warning was 'null passed to a callee that requires a non-null argument'
2015-12-29 15:14:41 +02:00
alexey.lysiuk
2c3d9e3ab8 Fixed mouse capturing when video isn't initialized yet 2015-12-29 14:52:31 +02:00
alexey.lysiuk
15a269db9d Extended NSWindow with ability to exit application upon closing by user 2015-12-29 14:52:27 +02:00
alexey.lysiuk
3676a42512 Added missing include guard in i_common.h 2015-12-29 14:52:22 +02:00
alexey.lysiuk
0efdccd942 Separated POSIX's i_system.cpp from native OS X implementation 2015-12-29 14:52:18 +02:00
alexey.lysiuk
6f3e04785d Added preprocessor macros for AppKit framework versions
These macros are needed to build with earlier OS X SDKs
2015-12-29 14:52:11 +02:00
Christoph Oelckers
7fa289109b - removed all uses of __builtin_expect from WildMidi code. 2015-12-29 11:36:56 +01:00
Christoph Oelckers
944360557f - removed unused header stuff. 2015-12-29 11:23:43 +01:00
Edoardo Prezioso
7c82c576a3 - Fixed Linux compiler errors and snd_mididevice.
-- errno.h is required for 'errno';
-- don't use str(n)casecmp and rely on ZDoom CMake handling;
-- add a missing parenthesis around a 'signed char' cast;
-- remove an unneeded GNU_SOURCE redefinition;
-- the non-MSVC side of snd_mididevice was not adapted to the new code, making wildmidi unavailable through the menu.
2015-12-29 10:33:20 +01:00
Randy Heit
afc36544b7 Add a WildMidi softsynth device
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Randy Heit
ee46799d9e Fix WM_DoGetOutput for big-endian machines
- Besides being little-endian centric, this bit shifting madness
  was unneccessary since the values were already clamped to a 16-bit
  range, so all we need to do is cast them to a short.
2015-12-28 20:51:53 -06:00
Randy Heit
b1405921bf Merged WM_GetOutput_Linear and WM_GetOutput_Gauss into WM_DoGetOutput
- With mixing moved into separate functions, these two functions became
  identical except for the function they called to do mixing.
2015-12-28 20:44:10 -06:00
Randy Heit
635b496165 Separate WildMidi mixing from event handling
- In order to use ZDoom's own MIDI sequencer event handling must be
  completely separate from mixing, but WildMidi had them intertwined
  because it wasn't designed for external sequencers.
- Also remove all 'long's defining the output buffers to avoid having
  something that's 32 bits wide on Windows and 64 bits wide on Linux.
2015-12-28 20:33:41 -06:00
Randy Heit
a2ebf771d3 Remove '\r' character from beginning of WildMidi error messages 2015-12-28 19:13:34 -06:00
Christoph Oelckers
9d48c84ee3 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-28 21:24:41 +01:00
Christoph Oelckers
060a6b2ff2 - shut down WildMidi when exiting.
The pointless error message in WildMidi_Shutdown was removed to keep the rest of the code simple and allowing to call this even when the device never was used.
2015-12-28 21:23:21 +01:00
Christoph Oelckers
a94120b6a4 Merge branch 'master' into WildMidi 2015-12-28 21:01:17 +01:00
Kyle Evans
5346b813da Re-do GTK2_LIBARY_DIRS inclusion on a separate branch 2015-12-27 09:48:22 -06:00
Christoph Oelckers
1070bd9beb - fixed: APlayerPawn::ViewHeight wasn't stored in savegames. 2015-12-26 16:17:56 +01:00
Christoph Oelckers
05b8e275cd Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-26 15:33:11 +01:00
Christoph Oelckers
400038643c - fixed: Strife dialogues could crash on invalid links. 2015-12-26 15:31:59 +01:00
Blue-Shadow
c51abb0161 Added GetMaxInventory ACS function 2015-12-22 19:01:09 +03:00
Christoph Oelckers
03ccf03b8f - fixed: UDMF with Doom format specials used the line's ID, not the first arg as the tag parameter for its special. 2015-12-21 01:13:21 +01:00
Christoph Oelckers
792d3906fd - fixed: line activation checks for monster activation could be skipped if the lines also were flagged for player activation. 2015-12-19 20:32:41 +01:00
MajorCooke
452c82cbe2 - Added TF_SENSITIVEZ to A_Teleport. Fail teleportation instead of adjusting the actor to fit if they cannot.
- When checking whether to use spot z or floorz, use spot floorz instead of ref for consistency.
2015-12-17 10:34:38 -06:00
alexey.lysiuk
9176d75580 Fix incorrect small font rendering with Hexen Mac IWAD
Unused high resolution font lumps broke composite font logic
Small font had doubled height because of that, at least alternate HUD and inter-hub text messages had noticeable visual issues
2015-12-14 11:47:46 +02:00
Kyle Evans
7c6237e134 <stdlib.h> has replaced <malloc.h> on FreeBSD as well 2015-12-10 21:24:37 -06:00
Edward Richardson
c099cd4581 SpawnParticle functions
- Added A_SpawnParticle Decorate and SpawnParticle ACS functions.
2015-12-08 22:58:24 +13:00
coelckers
94c397b868 Merge pull request #435 from Edward850/pauseext-fix
Fix lost focus loosing network data
2015-12-07 12:52:23 +01:00
Braden Obrzut
964ee6bb23 - Worked around issue where stat doesn't work in v140_xp. Even though the bug was supposedly fixed for awhile now it didn't make it into Update 1. 2015-12-07 04:49:40 -05:00
Braden Obrzut
72d4c33453 - Removed GetAspectRatio as the implementation was highly fragile. Even if converted to giving the ratio, I have strong concerns about having this function built in without ZDoom supporting arbitrary aspect ratios as the odds of people checking against the hard coded constants seems high. The existing ACS version of this function returns fixed point ratios (because why not) and I fully expected people to use a switch statement when writing it. 2015-12-07 01:18:56 -05:00
Braden Obrzut
62d41a58a8 Merge branch 'DecProx3' of git://github.com/MajorCooke/zdoom into master 2015-12-07 00:53:06 -05:00
Christoph Oelckers
a0d6b05707 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-06 09:59:41 +01:00
Christoph Oelckers
ad0e71942d - added GetAspectRatio function to ACS.
- added a sixth parameter for SetHUDClipRect so that the forced aspect ratio fudging this function performs can be disabled.
2015-12-06 09:59:02 +01:00
Gaerzi
542a108914 3D floor support for check switch range 2015-12-05 00:26:39 +01:00
Edward Richardson
f90ce1308e Fix lost focus loosing network data
- Prevented focus loss from dropping network data during level
transitions
- Fixed delay counter underflows
2015-12-03 16:40:47 +13:00
Christoph Oelckers
81f521fe56 - fixed: Texture precaching from MAPINFO was broken
The code assumed that it had access to the texture manager but that gets initialized after MAPINFO, which means that MAPINFO can only store the texture names and let the precaching code resolve the actual textures.
2015-12-02 22:31:27 +01:00
alexey.lysiuk
4adf421513 Fix incomplete assignment operator of FSkillInfo
See http://forum.zdoom.org/viewtopic.php?t=50026
2015-12-01 14:30:57 +02:00
Christoph Oelckers
724445354c - add the WildMidiMIDIDevice CPP file. 2015-12-01 10:39:22 +01:00
MajorCooke
8594bfaa8b A_CustomPunch Extension
- Added Melee/Miss parameters just like A_CustomMeleeAttack.
2015-11-30 11:42:08 -06:00
Christoph Oelckers
f4a60f29f3 - added missing sc.MustGetString() to 'optional' case of decal parser. 2015-11-30 09:21:45 +01:00
Christoph Oelckers
c9e4f120e7 - forgot to save this before committing. 2015-11-29 15:27:20 +01:00
Christoph Oelckers
f7cdb28eac - added a HealthFactor skill property. 2015-11-29 12:58:17 +01:00
Christoph Oelckers
106886a9bb - allow setting the ice translation with Thing_SetTranslation.
This requires passing a magic value because this translation is defined differently than all the rest which can be used in ACS.
2015-11-29 12:30:50 +01:00
Christoph Oelckers
1ad02a6ce8 - allow specifying infighting through skills. 2015-11-29 12:10:12 +01:00
Christoph Oelckers
1a0faf4761 - allow optional decal generator definitions. 2015-11-29 11:41:14 +01:00
Christoph Oelckers
5515cb02a6 - fixed incorrect error method call in decal parser. 2015-11-29 11:35:12 +01:00
Christoph Oelckers
9bfd676783 - allow setting the FloatbobPhase through UDMF. 2015-11-29 11:28:26 +01:00
Christoph Oelckers
3682924249 - removed redundant parameter 2015-11-29 11:27:08 +01:00
Christoph Oelckers
a03b947729 - WildMidi generally working, some cleanup left to do... 2015-11-28 20:58:14 +01:00
MajorCooke
4fb48b332b Added A_CheckProximity.
- Checks to see if a certain actor class, in numbers, is close to the actor/pointer via distance, based upon count. Can check for ancestry, disable Z searching, perform less than or equal to instead of greater or equal to, exact counts, check a pointer instead of itself and differentiate between live monsters and dead.
2015-11-28 10:53:34 -06:00
Christoph Oelckers
eff2286bc9 - added WildMidi library sources - all converted to C++ so that they can later interface with ZDoom's own MIDI code. Also redid the file loading function to use ZDoom's FileReader instead of low level IO. 2015-11-28 17:38:40 +01:00
Christoph Oelckers
888f356e58 - use the recently added text input menu item to add the config file for GUS, the patch set for Fluidsynth and the timidity.exe path for Timidity++ to the menu. Even though there is no proper file select box, this is still better than nothing.
- changed the text input item so that it realigns itself to show the entire text when in text input mode.
2015-11-28 12:43:01 +01:00
Christoph Oelckers
3fadfec77d - fixed typo in SendToCommunicator enhancement. 2015-11-28 00:43:39 +01:00
Christoph Oelckers
a55d85c51c - do not wait infinitely for termination of the Timidity++ process. This can lock up the engine indefinitely if the child process fails to exit. 2015-11-27 12:12:08 +01:00
Christoph Oelckers
7e87216878 - fixed: r_visibility values >= 205 appear to cause fixed point overflows at least on 5:4 aspect ratio so they should be blocked. 2015-11-27 10:44:37 +01:00
Christoph Oelckers
fca469b053 - moved the notification messages for SendToCommunicator into LANGUAGE.
As a side effect this will now allow using custom messages with this function as well by using the arg2 parameter as part of the message's name (arg2=0 will use TXT_COMM0, arg1 TXT_COMM1 and so on.)
2015-11-26 10:25:05 +01:00
MajorCooke
d730b06da7 Added A_CheckSpecies(state jump, name species, ptr = AAPTR_DEFAULT)
- Performs a state jump if the defined species name for the pointed actor matches the criteria.
2015-11-26 01:33:02 -06:00
MajorCooke
7725e9d641 New line. 2015-11-25 23:17:13 -06:00
MajorCooke
a1e3112850 Removed FVF_RESETPITCH. 2015-11-25 23:15:59 -06:00
MajorCooke
ab5b1f479a Updated A_FaceVelocity.
- Now includes anglelimit and pitchlimit.
- Anglelimit and pitchlimit only allows the actor to turn this much, similar to A_FaceTarget's limit. FVF_RESETPITCH also respects the pitch limit.
- (offset, anglelimit, pitchlimit, flags, ptr)
2015-11-25 21:49:25 -06:00
Christoph Oelckers
6efc2a0ec7 - fixed positioning of map name on Hexen automap. 2015-11-25 13:47:04 +01:00
Christoph Oelckers
78deb70a00 - fixed: ConfigSections were not properly deallocated 2015-11-25 13:40:18 +01:00
Christoph Oelckers
355f70986a - fixed: 'give' inventory functions ignored an items MaxAmount setting. 2015-11-25 13:36:42 +01:00
Christoph Oelckers
f4ab6074fa - today's 'GCC sucks' fix.
(Yet again some overtly anal type issues with the '? :' operator...)
2015-11-25 13:30:12 +01:00
Christoph Oelckers
1e0366f98f - fixed: $musicalias must be resolved before comparing for equality with the currently playing music. 2015-11-25 13:27:35 +01:00
Christoph Oelckers
43dff3021b - fixed: The OpenAL backend ignored PlaySound's 'volume' parameter. 2015-11-25 13:00:56 +01:00
Christoph Oelckers
cd110f67df Merge branch 'master' of https://github.com/rheit/zdoom 2015-11-25 12:28:05 +01:00
coelckers
da39c86967 Merge pull request #401 from MajorCooke/RadiusGiveMinRange
A_RadiusGive Mindist Parameter + RGF_OBJECTS Fix
2015-11-25 12:27:54 +01:00
Christoph Oelckers
4a18a28448 - fixed: am_showtriggerlines will now ignore any non-activatable linedef types. 2015-11-25 12:20:35 +01:00
Christoph Oelckers
99fbb55296 Merge branch 'master' of https://github.com/rheit/zdoom 2015-11-25 11:50:03 +01:00
Christoph Oelckers
7b017f472a - fixed: Due to the default skybox being moved to the global level data, there was insufficient information to distinguish between using the default skybox or the regular sky. Fixed by adding two new sector flags which get set by a 0-tid SkyPicker. 2015-11-25 11:49:34 +01:00
MajorCooke
75855dc64a A_FaceVelocity(offset, flags, ptr)
- Changes the caller's angle and pitch according to the direction of velocity they're travelling.
- FVF_NOPITCH and FVF_NOANGLE disable changing of pitch/angle respectively and should be counted as mutually exclusive, or the function does nothing.
- FVF_INTERPOLATE - Interpolate's the angle and pitch changes.
- FVF_RESETPITCH will, if there's no z velocity, reset the pitch to 0. Otherwise, the pitch remains unchanged.
2015-11-25 01:44:19 -06:00
coelckers
ab85319fbf Merge pull request #425 from j-palomo/pickactor2
Backport RETURNTID and FORCETID flags for PickActor from GLOOME.
2015-11-22 16:04:08 +01:00
alexey.lysiuk
20bf4d6c8e Fixed crash on finishgame CCMD in non-game modes
http://forum.zdoom.org/viewtopic.php?t=49943
2015-11-21 17:43:49 +02:00
John Palomo Jr
2612fad326 Backport RETURNTID and FORCETID flags for PickActor from GLOOME. Renamed prefix to avoid confusion with Pain Attack flags. Fixed broken enum. 2015-11-21 06:05:16 -05:00
ZZYZX
75d21d6dd8 ZDoom wasn't setting drawseg_t::curline when making "fake" drawseg for skyboxes, which interfered with portal sprite clipping routine randomly. 2015-11-12 01:17:03 +02:00
Braden Obrzut
a8ac748123 Merge commit 'e2d874e343da34df6edfad0bb47370cbe10f4bae' 2015-10-25 15:00:43 -04:00
alexey.lysiuk
3e517ad4d0 Fixed selection of empty items in Video Mode menu
See http://forum.zdoom.org/viewtopic.php?t=49794
2015-10-24 11:58:57 +03:00
coelckers
117783a785 Merge pull request #419 from alexey-lysiuk/spawnspot_nomonsters
'no monsters' option is no longer ignored in ACS Spawn functions
2015-10-18 21:03:48 +02:00
alexey.lysiuk
27135d5c5d Fixed crash on loading map with corrupt linedefs and/or sectors
See http://forum.zdoom.org/viewtopic.php?t=49276
2015-10-18 16:28:42 +03:00
alexey.lysiuk
869e168495 'no monsters' option is no longer ignored in ACS Spawn functions
See http://forum.zdoom.org/viewtopic.php?t=46459
2015-10-18 15:54:07 +03:00
MajorCooke
c5f433d80a No more BASETHRESHOLD. 2015-10-14 07:36:30 -05:00
alexey.lysiuk
916b5f796d Updated list of video resolutions for Cocoa backend
Added resolutions for iMac Retina 4K 21.5"
Added comments about a few resolutions specific to Macs
2015-10-14 13:17:21 +03:00
Edoardo Prezioso
4cd793ca2f - Fixed broken projectile firing projectiles code.
This went unnoticed since ZDoom 2.0.90, which introduced the bug. Discovered with the recent TFlags improvements.
2015-10-13 09:13:37 +02:00
Edoardo Prezioso
6678c3550e - Improve the TFlags code and fix the new errors.
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
MajorCooke
75100d76fb - Added Threshold Manipulation.
- Added 'threshold' and 'defthreshold' to DECORATE expression exposure.
- ChaseThreshold sets the default threshold for how long a monster must chase one target before it can switch targets. Default is 100, must not be negative.
- A_SetChaseThreshold can be used to alter the current or default threshold of an actor <pointer>.
- Changing current threshold has no effect on what the default will be once it hits 0 and something makes it infight with another.
2015-10-12 11:06:55 -05:00
coelckers
72445667e3 Merge pull request #412 from MajorCooke/Iceshatter
ICESHATTER Flag
2015-10-11 19:45:01 +02:00
MajorCooke
380b5c1eb7 - Added ICESHATTER flag.
- Any inflictor with this flag can break ice corpses
2015-10-11 09:10:33 -05:00
coelckers
c1496ea1bf Merge pull request #390 from MajorCooke/SetPainThreshold
- Added A_SetPainThreshold for the calling actor('s pointer).
2015-10-11 15:55:32 +02:00
alexey.lysiuk
fe61b8064a Fixed MSVC warning in a_randomspawner.cpp
...\src\g_shared\a_randomspawner.cpp(32): warning C4800: 'DWORD' : forcing value to bool 'true' or 'false' (performance warning)
See http://forum.zdoom.org/viewtopic.php?t=49737
2015-10-11 09:28:38 +03:00
coelckers
ba651ebff7 Merge pull request #410 from MajorCooke/CloserZDisable
A_JumpIfCloser Z Check Toggle
2015-10-10 23:11:06 +02:00
MajorCooke
21dc45bdec This did not save out properly... 2015-10-10 15:30:18 -05:00
MajorCooke
455b70630d - Added A_JumpIfCloser NoZ boolean. Disables Z distance checking if true. 2015-10-10 10:11:59 -05:00
coelckers
3b2e8f3401 Merge pull request #409 from alexey-lysiuk/back_overlap_crash
Fixed crash when clicking on back button in main menu
2015-10-10 16:13:48 +02:00
coelckers
45d573a2f2 Merge pull request #393 from alexey-lysiuk/fix_random_spawner
Small improvements for random spawner
2015-10-10 16:12:17 +02:00
alexey.lysiuk
bad9961376 Fixed crash when clicking on back button in main menu
If menu item selection overlaps back button in main menu, clicking on back button with mouse caused a crash
See http://forum.zdoom.org/viewtopic.php?t=49711
2015-10-10 15:03:14 +03:00
ZZYZX
e669e3cd08 Cosmetic fixes to actionspecials.h 2015-10-09 16:03:59 +03:00
ZZYZX
7bfce1d176 Fixed crash in R_ClipSpriteColumnWithPortals if seg->curline is null 2015-10-08 21:16:30 +03:00
alexey.lysiuk
99dd664029 Print warning to console if unknown texture found in menu definition 2015-10-07 12:13:11 +03:00
alexey.lysiuk
005e468fa9 Fixed crash when menu item uses non-existent texture
See http://forum.zdoom.org/viewtopic.php?t=49696
2015-10-07 12:11:27 +03:00
Braden Obrzut
df9053ea99 Merge branch 'CheckBlock' 2015-10-06 22:36:24 -04:00
MajorCooke
2f3b69e770 Optimize a little more... 2015-10-04 16:12:35 -05:00
MajorCooke
154e023800 - Added A_CheckBlock(state block, int flags, int ptr).
- Performs a jump if an actor or a line is in the way.
- Can be used without a jump state if the desire is only to have a pointer change.
- CBF_NOLINES disables jumping if a line is involved.
- CBF_SET* flags set the target, master or tracer to whoever is blocking, for the actor calling the function.
- CBF_SETONPTR causes the pointer changing flags to apply to the pointed actor instead of itself.
2015-10-04 16:00:40 -05:00
MajorCooke
e2d874e343 Applied _mental_'s suggestion 2015-10-04 12:37:49 -05:00
MajorCooke
af9478f818 - Added Warp properties RadiusOffset and Pitch.
- RadiusOffset is a multiplier of the target actor's radius added onto the offsets x and y.
- Pitch is added to the warping actor's current pitch, provided WARPF_USEPITCH is supplied.
- Fixed WARPF_TOFLOOR not working as intended.
2015-10-03 17:28:54 -05:00
MajorCooke
28622cecaf - Added mindist parameter to A_RadiusGive.
- Actors must be this far away to receive items. Mindist must be less than distance.
- Fixed RGF_OBJECTS not discriminating players and monsters from shootable or vulnerable actors.
2015-09-29 11:40:44 -05:00
coelckers
beb2a4fc64 Merge pull request #396 from alexey-lysiuk/console_dbgout
Make console text to appear in Windows debug output
2015-09-23 09:47:09 +02:00
alexey.lysiuk
37dde2e77d Make console to Windows debug output controlled by CVAR
DebugView can be used to view output without debugger attached
2015-09-23 10:18:57 +03:00
alexey.lysiuk
c743b19e6d Make console text to appear in Windows debug output
This works in Debug configuration only
Color escape sequences are stripped from text before output
2015-09-22 15:19:44 +03:00
khokh2001
b1b17beaf6 nuked opl emulator update 2015-09-20 02:14:24 +09:00
alexey.lysiuk
96ff716046 Added error message about missing class to drop from RandomSpawner 2015-09-19 18:29:59 +03:00
alexey.lysiuk
49519db257 Fixed crash in RandomSpawner with -nomonsters
See http://forum.zdoom.org/viewtopic.php?f=2&t=49520
2015-09-19 18:29:07 +03:00
ZzZombo
98bdbb1ad8 -Fixed PCD_DROP affecting script result value. 2015-09-19 09:40:19 +08:00
Christoph Oelckers
b613db4ae5 Revert "Merge pull request #359 from Leonard2/master"
This reverts commit 364ca11b43, reversing
changes made to dae0e217d1.

Conflicts:
	src/r_data/r_interpolate.cpp
2015-09-18 17:41:16 +02:00
alexey.lysiuk
621116a289 Disabled loading of SDL output plugin for FMOD Ex on OS X
Long path to executable file corrupts stack inside FMOD library
This plugin is not being built for OS X, output through CoreAudio works just fine
2015-09-18 10:53:46 +03:00
MajorCooke
6730525855 - Added A_SetPainThreshold for the calling actor('s pointer). 2015-09-17 09:07:13 -05:00
alexey.lysiuk
924a2aaaa7 Added "support" for PCD_CONSOLECOMMAND in ACS
Now attempt to execute a console command from a script will not terminate its execution
An error message will be issued in the console on every such attempt
2015-09-16 16:56:43 +03:00
alexey.lysiuk
b2fa4970fd Fixed potential crash in ACS engine
Unknown p-code in compiled script may lead to a crash if the current module was changed during script execution, e.g. by function call
See http://forum.zdoom.org/viewtopic.php?f=2&t=48524
2015-09-16 16:13:56 +03:00
alexey.lysiuk
fea2cb38cc Fixed compatibility flags comparison for point-on-line
Now it works in both cases: for compatibility mode set by user and for internal compatibility handler
2015-09-15 19:27:05 +03:00
alexey.lysiuk
39b18a3447 Improved point-on-line compatibility feature
P_PointOnLineSide() and P_PointOnDivlineSide() functions from the initial Doom source code release are used in compatibility mode
2015-09-15 18:21:05 +03:00
alexey.lysiuk
ee7eb3253a Added compatibility flag for point-on-line algorithm
It's possible to use original but buggy implementations of P_PointOnLineSide() and P_PointOnDivlineSide() function
See http://forum.zdoom.org/viewtopic.php?f=2&t=49544
2015-09-15 16:45:20 +03:00
Blue-Shadow
d7a04b9e98 dumpmapthings CCMD: Missing line break after "none". 2015-09-14 17:22:41 +03:00
Braden Obrzut
f02b52ef28 - Fixed: Initialization ordering warning in DPSpriteInterpolation. 2015-09-13 20:56:20 -04:00
coelckers
afa438419d Merge pull request #379 from Edward850/sanitize
ACS module error was missing newline
2015-09-13 08:55:14 +02:00
Edward Richardson
36c7002628 ACS module error was missing newline 2015-09-13 13:46:02 +12:00
Chris
a90ea55e2c - Removed duplicate 'acceleratestage' check. 2015-09-12 23:01:56 +01:00
Teemu Piippo
69fd0e6eb4 Stylistical coherence.. 2015-09-12 14:07:40 +03:00
Teemu Piippo
67a7f48ca3 Handle locknumber in boundary checks, check for FS_Execute 2015-09-12 14:02:07 +03:00
Teemu Piippo
2f027504b6 Show sector action boundaries on the automap like line specials are. 2015-09-12 04:47:49 +03:00
coelckers
890233d5fe Merge pull request #375 from XaserAcheron/master
Added FPF_NOAUTOAIM to A_FireCustomMissile
2015-09-10 11:29:03 +02:00
Xaser Acheron
5afbe8ca00 Fixed compiler warning for FPF_NOAUTOAIM flag check 2015-09-09 18:54:49 -05:00
Edoardo Prezioso
19c702a608 - Fixed a crash when a player dies in damage floors. 2015-09-09 21:26:44 +02:00
Xaser Acheron
8948f5dc2b Added FPF_NOAUTOAIM to A_FireCustomMissile 2015-09-08 10:40:21 -05:00
coelckers
364ca11b43 Merge pull request #359 from Leonard2/master
Added weapon interpolation.
2015-09-08 09:06:40 +02:00
MajorCooke
143a4c78a9 - Added A_SetFloatSpeed.
- Sets the FloatSpeed of the actor/pointer.
2015-09-06 19:57:43 -05:00
Chris
99120d8442 - Fixed: A_SkullPop did not work with spy mode. 2015-09-06 12:12:57 +01:00
Edoardo Prezioso
e939d6885d - Fixed a crash in ACS strlen parsing with invalid argument. 2015-09-05 23:58:02 +02:00
Edward Richardson
9aabc85281 Fixed loading default map saves
- Just like normal maps, default map stores an FString as a map name.
2015-09-05 17:13:54 +12:00
Edward Richardson
abb033d400 Fix deallocation of controllers with no axes 2015-09-05 14:18:48 +12:00
Edward Richardson
8ec4d431cf Fixed memory leak in joystick menu 2015-09-05 14:12:52 +12:00
Leonard
0fa24ab82d Use barrier_cast instead of static_cast 2015-08-31 13:04:40 +02:00
Edward Richardson
02c562518d Fixed possible sync issue with frag counts 2015-08-30 23:36:00 +12:00
Edward Richardson
b87435ac9d Remove unnecessary FriendlyFire global 2015-08-30 22:56:34 +12:00
Edward Richardson
389ff4fc98 Shift self-clip to first check for performance 2015-08-30 22:02:36 +12:00
alexey.lysiuk
677dc8893e Fixed compilation on non-Windows OSes 2015-08-29 14:55:10 +03:00
Gaerzi
98f214ee66 Added support for GOG paths
This works a bit differently from the Steam version, because each game
has its own registry keys and its own independent path.
2015-08-28 19:14:25 +02:00
Christoph Oelckers
0a8255f34b Merge branch 'master' of https://github.com/rheit/zdoom 2015-08-27 12:49:23 +02:00
Christoph Oelckers
696c6af588 - fixed: FString's 'Strip...' functions could crash on empty strings. 2015-08-27 12:48:43 +02:00
Christoph Oelckers
d87b6d6337 Merge branch 'WarpHeightOffset' of https://github.com/MajorCooke/zdoom 2015-08-26 08:46:20 +02:00
MajorCooke
ebf515f8c7 - Fixed unneeded dual call to SetOrigin. 2015-08-25 20:18:06 -05:00
MajorCooke
2731643200 Removed stricmp checks, as they're not needed. 2015-08-25 08:15:23 -05:00
MajorCooke
f9e70a82c6 - Added A_SetSpecies(<species>,<pointer>). 2015-08-24 12:45:10 -05:00
Leonard
86e9504d04 Added weapon interpolation. 2015-08-19 15:59:54 +02:00
Christoph Oelckers
d786148ccf - fixed: the 'gameversion' console output was missing a trailing linefeed. 2015-08-16 20:33:34 +02:00
Christoph Oelckers
2d58a28cc3 - fixed: In Heretic an active Tome of Power should not freeze a teleporting player.
This was implemented by adding a new inventory flag INVENTORY.NOTELEPORTFREEZE so that the effect can both be activated for other items and deactivated for the two that currently have it.
2015-08-16 08:50:22 +02:00
Christoph Oelckers
2ed3cec4db - externalized strings from Raven intermission screen. 2015-08-11 22:30:29 +02:00
Christoph Oelckers
b06770cb92 - fixed: A_Respawn did not reset the actor's radius. 2015-08-11 17:12:16 +02:00
MajorCooke
9c24e9ac71 - Removed the check for APlayerPawn and just went with player checking alone.
- Updated the savever, demogameversion, and mindemoversion.
2015-08-11 06:53:28 -05:00
MajorCooke
cac600733f - Added Remove <classname> console command. 2015-08-10 20:45:18 -05:00
MajorCooke
87cc3f77f9 - Removed WARPF_ADDHEIGHT. 2015-08-10 16:05:44 -05:00
MajorCooke
54af1e379e - Removed WARPF_MULHEIGHT. Enable its ability by default.
- WARPF_ADDHEIGHT will simply change HeightOffset from multiplying to adding by default.
2015-08-10 15:03:29 -05:00
MajorCooke
7e661dfe57 - Clean up. 2015-08-10 12:41:40 -05:00
MajorCooke
9cf8a2a26c - Missed a spot. 2015-08-10 12:20:42 -05:00
MajorCooke
ad14caa800 - Added A_Warp heightoffset property. Only has an effect by two flags.
- WARPF_ADDHEIGHT adds the pointed actor's height to heightoffset, and adds to the pointed actor's z position.
- WARPF_MULHEIGHT multiplies the pointed actor's height by heightoffset, and adds to the pointed actor's z position. Overridden by ADDHEIGHT.
2015-08-10 11:19:54 -05:00
MajorCooke
fcf1d56b1a - Added SXF_IS<TARGET/MASTER/TRACER>.
- The spawned actor becomes the calling actor's specified pointers respectively.
2015-08-09 14:06:22 -05:00
Christoph Oelckers
3efbf6c74e - fixed: am_restorecolors did not work
This CCMD tried to access the current menu to decide which colors to reset but that is not available at all when this function gets called. It now uses the automap's own CVAR arrays.
2015-08-09 09:03:12 +02:00
Christoph Oelckers
58870d4871 - fixed: SingleActorFromTid wasn't declared in thingdef_codeptr.cpp 2015-08-01 23:17:06 +02:00
Christoph Oelckers
36974431ba Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-08-01 09:42:31 +02:00
Christoph Oelckers
78c21bfb05 - last commit was wrong (forgot to save my second change before committing. 2015-07-31 15:49:47 +02:00
Christoph Oelckers
2be19a87ba - fixed some bad boolean logic in fly cheat command. 2015-07-31 15:47:47 +02:00
Benjamin Moir
7163aa9667 Moved Warp to the ZDoom range 2015-07-31 22:28:10 +09:30
Benjamin Moir
efce2a200c Added WARPF_USETID to A_Warp 2015-07-31 22:24:01 +09:30
Christoph Oelckers
701fc374f7 - consolidated A_Warp and ACS Warp code into a subfunction. 2015-07-31 08:40:33 +02:00
Benjamin Moir
cf43bd969d Added Warp to ACS 2015-07-30 16:56:54 +09:30
MajorCooke
9319854590 Small bugfixes
- Fixed a couple tiny bugs with A_ScaleVelocity and A_ChangeVelocity using self instead of ref.
2015-07-27 12:20:32 -05:00
MajorCooke
ce1037af95 - Missing check for RGF_PLAYERS/VOODOO. 2015-07-24 13:48:46 -05:00
MajorCooke
41b4df71c2 Use IsKindOf instead of MF_SPECIAL to check for an inventory item. 2015-07-22 17:12:42 -05:00
MajorCooke
b4f05ee89b - Significant A_RadiusGive update.
- Added filter and species parameter.
- Added new flags: RGF_INCLUSIVE, RGF_ITEMS, RGF_KILLED, RGF_EXFILTER, RGF_EXSPECIES, and RGF_EITHER.
- RGF_ITEMS: Items can receive inventory.
- RGF_KILLED: Actors who are truly dead might not be corpses, and vice versa.
- RGF_EXFILTER: Blacklists the specified actor filter. All but the filtered actor can receive the item.
- RGF_EXSPECIES: Blacklists the specified species. All but the filtered species can receive the item.
- RGF_EITHER: The actor can receive the item if it satisfies either the filter or the species. Only useful when both are used.
- RGF_INCLUSIVE: An actor marked as more than one pointer to the calling actor can ignore the exclusion pointers, but only if at least one is missing. I.e. an actor who is a target and tracer of the calling actor can still receive the item, if the calling actor doesn't pass RGF_NOTARGET and NOTRACER at the same time. RGF_INCLUSIVE only works with the pointer filtering flags. By default, if not specified, the actor will not be loopholed the item if they are under any one of the three filters.
- Fixed discrepancies and dependencies upon several flags and actor conditions which caused the function to fail.
2015-07-22 16:46:14 -05:00
Christoph Oelckers
d8ea128f38 Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-07-16 20:37:17 +02:00
coelckers
7be6041f57 Merge pull request #347 from edward-san/xs_float_infinite_loop
- Fixed a dangerous typo in xs_Float code.
2015-07-16 20:26:21 +02:00
coelckers
e857d875cc Merge pull request #346 from edward-san/uninitialized_build_stairs
- Fixed an uninitialized variable in stairs code.
2015-07-16 20:25:46 +02:00
Edoardo Prezioso
f57e23989b - Fixed a dangerous typo in xs_Float code.
The function 'xs_CeilToUInt' would call itself, leading to infinite loop, due to a typo. It should call 'xs_CeilToInt' instead.
2015-07-16 19:54:27 +02:00
Edoardo Prezioso
1bd23150aa - Fixed an uninitialized variable in stairs code.
'floor->m_Hexencrush' was left uninitialized in all the floor movers after the first one.
2015-07-16 19:46:54 +02:00
Edoardo Prezioso
99683f0e7d - Fixed a KEYCONF parser issue with empty lines.
The code attempted to access an array outside its bounds when it tried to parse empty lines.
Discovered with the Address Sanitizer.
2015-07-16 19:43:30 +02:00
Christoph Oelckers
add52d48cd - fixed: INPUT_XInput must also be available when compiling without XInput support so that the corresponding JoyDevice can be accessed. 2015-07-15 14:44:37 +02:00
Christoph Oelckers
47303b26c7 - define GET_XBUTTON_WPARAM for MinGW in all file which need it. 2015-07-15 14:09:21 +02:00
Christoph Oelckers
c677dd37f5 - changed I_PrintStr so that it doesn't add everything to the RichEdit control right away.
The RichEdit control can become quite slow with large amounts of text being added constantly.
Since anything that gets added while the game is running can't be seen anyway unless a fatal error is produced, it buffers the text locally now, without any processing, and only adds it to the RichEdit control in case a fatal error causes the control to be displayed again.
2015-07-15 12:53:58 +02:00
Christoph Oelckers
1e4bec25c5 - fixed the distance check for unblocking overlapping monsters. It tested for half the radius as distance threshold when it should have used the full radius 2015-07-15 10:15:12 +02:00
Christoph Oelckers
19d15d7fc8 - fixed: Levels could be exited multiple times, triggering special exit actions for each one. 2015-07-15 09:25:04 +02:00
Christoph Oelckers
b5033d2940 - fixed a bad check from pull request #325. 2015-07-15 09:11:08 +02:00
Christoph Oelckers
585366f872 - fixed signedness warning. 2015-07-15 09:08:15 +02:00
Christoph Oelckers
fe2e293d02 - added some error checks for trying to create unsupported animations for textures with full path names. 2015-07-13 09:08:08 +02:00
Christoph Oelckers
eeaea59828 - fixed: FTagManager::RemoveSectorTags must check if the StartForSector array is large enough to contain the sector whose information is to be removed. 2015-07-13 08:42:42 +02:00
Marrub
9e1a82a830 fix menus muting themselves when the volume is changed 2015-07-10 08:45:15 +00:00
Braden Obrzut
3adda344b6 - Missing common resolution 1680x1050 added to resolution list of SDL and Cocoa. 2015-07-06 02:58:01 -04:00
Randy Heit
0fa0dc5f9e Add support for alias parameter substitution in quoted strings
- For backward compatibility, you need to indicate that substitution is
  allowed in the string by prepending it with a % character:

    alias asay "say %\"%1\""

  The above will substitute the alias parameter.

    alias asay "say \"%1\""

  The above will not substitute the alias parameter but use the string
  literal "%1" directly.
2015-06-30 13:01:48 -05:00
Marrub
08e9d75538 removed sv_fastweapons 4 as it may cause issues 2015-06-27 15:00:31 -04:00
Marrub
4208993f22 use sv_fastweapons 3 and 4 instead 2015-06-27 08:26:48 -04:00
Marrub
873ef3fea8 that works better 2015-06-25 10:15:40 -04:00
Marrub
bbc3173629 yep 2015-06-25 09:47:37 -04:00
coelckers
f0b73b30c0 Merge pull request #341 from Edward850/railfix
Add missing MF7_FORCEDECAL flag for rail attacks, and changed operation to doubles
2015-06-25 08:57:03 +02:00
Edward Richardson
2a69ae2a43 Change all float calcs in rails to doubles 2015-06-25 13:57:36 +12:00
Edward Richardson
8670b7ecf7 Use puff decal with MF7_FORCEDECAL 2015-06-25 12:53:46 +12:00
Christoph Oelckers
85449a6b8a - fixed: A_BFGSpray checked the spray actor's class for MTHRUSPECIES, not the actual shooter. 2015-06-21 13:04:47 +02:00
Randy Heit
1482070207 Comment out SCOPE parsing for now 2015-06-13 18:19:38 -05:00
Randy Heit
245a46735d Fix warning in assert statement 2015-06-13 18:19:09 -05:00
Eevee (Alex Munroe)
911b35370e Let's go wild and do it for the ceiling, too. 2015-06-09 13:41:48 -07:00
Eevee (Alex Munroe)
3b2126ba95 Don't allow pressing a checkswitchrange switch that's in the floor. 2015-06-09 13:20:10 -07:00
ZZYZX
d0df4c1744 Upgraded the portal code to work with the new tagManager system. Was uncompilable 2015-06-07 21:27:20 +03:00
ZZYZX
31cad858d9 Fixed odd merge bugs 2015-06-07 20:54:36 +03:00
alexey.lysiuk
2200569793 Fixed build on OS X without FMODEx 2015-06-07 11:31:53 +03:00
Christoph Oelckers
7ba577e1b0 Merge branch 'master' into scripting
Conflicts:
	src/g_heretic/a_hereticweaps.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Christoph Oelckers
4444d3c0c5 - removed the _3DFLOOR #define because we really do not want to comment this out anymore, right? 2015-06-07 09:41:44 +02:00
Christoph Oelckers
3fea074d35 - respect FF_INVERTSECTOR when checking a 3D floor's terrain. 2015-06-07 09:33:15 +02:00
Christoph Oelckers
2b59a35e84 Merge branch 'texture-scaling-3d-floors' of https://github.com/eevee/zdoom 2015-06-07 09:09:55 +02:00
Eevee (Alex Munroe)
15b97c1409 Fix scaling of 3D floor wall textures.
The scale factors are now taken from the same part of the sidedef that
provides the texture.
2015-06-06 18:26:13 -07:00
ZZYZX
b3764f4ee2 Fixed trivial bug with two-sided portals not clipping stuff correctly 2015-06-07 04:19:21 +03:00
ZZYZX
29880026a6 Fixed sprite clipping with drawsegs (removed unnecessary portal check) 2015-06-07 04:19:21 +03:00
ZZYZX
f07d43943a Made a CVar to limit recursions; Made a CVar to highlight portal borders; Fixed slight logical bug in unique portal identifiers 2015-06-07 04:19:20 +03:00
ZZYZX
b066b0891a Fixed portal detection in R_AddLine 2015-06-07 04:19:19 +03:00
ZZYZX
78ea00be59 Put line ID from args[1] for Hexen maps 2015-06-07 04:19:18 +03:00
ZZYZX
cd39c4b8a6 Merged mirrors with portals; Render part of mirrors done, render part of portals needs further testing 2015-06-07 04:19:17 +03:00
Eevee (Alex Munroe)
8fa9aa2627 Use the correct sidedef's middle scaling when drawing 3D floors.
This wants `curline->sidedef`, which is the 3D sidedef currently being
drawn.  `sidedef` appears to be the last regular sidedef that happened
to be drawn?  The perils of globals.
2015-06-06 18:17:50 -07:00
Eevee (Alex Munroe)
221c2d2d82 Transfer flat-based damage (P_PlayerOnSpecialFlat) to 3D floors. 2015-06-06 16:07:48 -07:00
Eevee (Alex Munroe)
8a428e69b6 Don't play a terrain splash if the player didn't take damage. 2015-06-06 16:07:48 -07:00
Eevee (Alex Munroe)
a87a86198c Transfer friction to swimmable 3D floors. 2015-06-06 16:07:48 -07:00
Braden Obrzut
662345adb8 - Fixed: More endian issues in the ACS VM. 2015-06-05 22:22:54 -04:00
Christoph Oelckers
ae3b52a68a - fixed: Software renderer's colormap variables should not be accessed from common renderer interface code. 2015-06-04 09:20:55 +02:00
MajorCooke
4c390d92a4 -...forgot this one. 2015-06-02 12:22:26 -05:00
MajorCooke
22570e079e * Added LAXTELEFRAGDMG. This flag forces all damage to be factored, regardless being above or below the telefrag threshold.
- This only affects damage calculations being received by the end result. If the original damage was not a million or more, from the start, it will not hurt invulnerable-flagged or kill buddha-flagged monsters.
- Fixed: Damage was inconsistent by the time the function checked for player cheats/invulnerability and (monster and player) buddha, yet monster invulnerability checked the original damage prior to factor processing. This means a damage source that intended to damage another below the threshold could accidentally increase with a powerdamage multiplier or the recipient with a weakness for it, resulting in invulnerability/buddha foiling. Now, checks for telefrag damage using the raw original value on player godmode, player/monster invulnerability and buddha.
2015-06-02 12:10:45 -05:00
Christoph Oelckers
c1e3c16232 Merge branch 'master' of https://github.com/rheit/zdoom 2015-05-28 09:23:14 +02:00
Christoph Oelckers
65cc361e9b - added Zandronum's text input menu items. 2015-05-28 09:22:48 +02:00
Edoardo Prezioso
4546df7dc3 - Fixed SetActorPitch and ChangeActorPitch issue.
The code did not take into account the player's limited pitch.
2015-05-28 00:41:07 +02:00
Christoph Oelckers
733873351a Merge branch 'master' of https://github.com/rheit/zdoom 2015-05-25 19:58:02 +02:00
Christoph Oelckers
9f208409f2 - fixed: The tag check in Sector_CopyScroller was inverted (it should reject sectors with the given tag, but it rejected everything else.) 2015-05-25 19:57:36 +02:00
Braden Obrzut
c9214c1ce9 - Fixed: Hexen's status bar top graphic was drawn 1 pixel too low.
- Fixed: Artiflash played on initial save loading. I seem to recall this looking like an intentional change, but perhaps I broke it since it's completely pointless to play the animation only on the first load of a save game if nothing has been loaded beforehand.
2015-05-20 13:10:08 -04:00
Braden Obrzut
e46b25f628 - Fixed: god2 didn't trigger invulnerability in SBarInfo. 2015-05-20 12:54:13 -04:00
Braden Obrzut
354ec022b3 - On Windows resizing a window just renders the image to the size of the window, so lets do the same for SDL (makes mouse coordinate scaling easier). 2015-05-20 12:32:17 -04:00
Braden Obrzut
4d082d93cd - Use SDL_RenderSetLogicalSize to handle animorphic ratios in fullscreen with SDL backend.
- Reuse the old window in the SDL backend since in some instances switching windows causes issues (OS X fullscreen for instance (while using the SDL backend of course)).
- Clear the SDL render before copying in the framebuffer to remove HOM-like effect.
2015-05-19 17:09:20 -04:00
Christoph Oelckers
4d496f8b04 Merge branch 'master' of https://github.com/rheit/zdoom 2015-05-17 21:41:09 +02:00
Christoph Oelckers
1e3230486e - Fixed: FTagManager::Clear did not clear the line ID hashing index. 2015-05-17 21:40:25 +02:00
Braden Obrzut
f10416af8a - Fixed: Missing WINAPI macro in SHGetFolderPathA (MSDN documentation didn't include it so I didn't. Apparently Microsoft is just incosistent since it's documented in functions like GetLongPathName.) 2015-05-07 23:52:58 -04:00
Christoph Oelckers
87ff82dba6 - fixed: Trying to remove sector tags for line-less sectors crashed when there were no sector tags at all in a map. 2015-05-07 13:05:18 +02:00
Christoph Oelckers
b587c85a81 - fixed: On Windows the cache path could end up with double slashes when no AppData folder could be found. 2015-05-07 00:45:36 +02:00
Christoph Oelckers
96fa3b124e - fixed: Trying to remove sector tags for line-less sectors crashed when there were no sector tags at all in a map. 2015-05-06 23:24:27 +02:00
Christoph Oelckers
bfc10f4c5e Merge branch 'master' into scripting 2015-05-05 11:24:43 +02:00
Christoph Oelckers
535102ae6e - fixed: NULLing the flash state in P_BringUpWeapon should be done before setting the main weapon state so that it doesn't cancel any flash state effects that get initiated there. 2015-05-05 11:23:41 +02:00
Christoph Oelckers
8c5cc45dbe Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-05-04 09:29:46 +02:00
Christoph Oelckers
f8fd28118b Merge branch 'master' of https://github.com/rheit/zdoom 2015-05-04 08:56:04 +02:00
Christoph Oelckers
6f0caee4ba - fixed: Searching for tag 0 was no longer possible.
The new tag manager considers tag 0 'untagged' and won't create entries in its tag list for it, so the normal search algorithm can not find any such sector.
It now uses a linear search over all sectors instead, if tag 0 is looked for.
2015-05-04 08:55:31 +02:00
MajorCooke
6639f871c6 - Fixed A_SetRipMin/Max not working properly. 2015-05-03 17:55:01 -05:00
Christoph Oelckers
6996a15235 - fixed some overlooked merging problem. 2015-05-02 23:44:54 +02:00
Christoph Oelckers
99fc685a01 - allow linefeed before braces starting a compound state action definition. 2015-05-02 22:57:29 +02:00
Christoph Oelckers
48ae605b7d Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-05-02 22:44:31 +02:00
Edoardo Prezioso
353ace8be7 - Improve the code readability in LookupLevelName. 2015-05-02 14:18:52 +02:00
Edoardo Prezioso
4217c2ccd6 - Fixed a very old bug in LookupLevelName code.
If the map name neither matched 'ExMy', 'MAPxy' or 'LEVELxy', 'checkstring' was left uninitialized before using as argument to 'strstr', leading to undefined results.

Spotted with Valgrind.
2015-05-02 13:46:34 +02:00
MajorCooke
dc00d61f4d - Added TF_OVERRIDE to A_Teleport.
- Overrides the NOTELEPORT flag so actors with velocity don't need to disable it in order to perform A_Teleport, which could be screwed up by a teleporting line or sudden ACS interference.
- Ensure that the result is set to false if it fails prematurely. Wasn't sure if this was needed, but with the upcoming if/else statements, better safe than sorry.
2015-05-01 08:32:07 -05:00
Christoph Oelckers
1b29c3b6cf Merge branch 'master' into scripting
Conflicts:
	src/p_interaction.cpp
	tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
MajorCooke
1ecc048441 - Change the pointer to be at the end instead of the start. 2015-04-30 08:28:41 -05:00
MajorCooke
492ef1b716 - Added A_JumpIfHigherOrLower.
- (int ptr = AAPTR_TARGET, state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true)
- Jumps if the pointer of the calling actor is higher or lower than itself, adding offsethigh or offsetlow depending on the circumstance.
- includeHeight works twofold.
- Includes the height of the calling actor if the pointer is higher to truly determine if they are completely above them or not.
- Includes the height of the pointer if the pointer is lower.
- Disable it to only check z differences without adding height.
2015-04-30 08:15:48 -05:00
coelckers
a6dcd20447 Merge pull request #321 from edward-san/tflags_fix
- Fixed compiler errors and warnings from TFlags.
2015-04-30 13:01:59 +02:00
Christoph Oelckers
4316740ee9 - some color coding of error messages during ACS loading. (not that I expect that the people these are meant for will read them anyway...) 2015-04-30 12:59:26 +02:00
Christoph Oelckers
97e63b1319 - split up FBehavior constructor to better be able to weed out broken ACS modules.
Please note that this WILL break old savegames from mods which put ACS sources or unrelated data in the ACS namespace!
2015-04-30 12:53:44 +02:00
Edoardo Prezioso
cda4fece1b - Fixed compiler errors and warnings from TFlags. 2015-04-30 12:35:29 +02:00
Christoph Oelckers
d96edb5c68 Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-04-30 12:32:50 +02:00
Christoph Oelckers
50a3f8a3d2 - fixed copy/paste error. 2015-04-30 12:31:47 +02:00
Christoph Oelckers
5f1c4d157c Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_sharedglobal.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3 Merge branch 'master' of https://github.com/crimsondusk/zdoom
Conflicts:
	src/actor.h
2015-04-30 10:03:50 +02:00
Christoph Oelckers
9880af1b0c - this line got lost during conflict resolution. 2015-04-30 09:18:13 +02:00
Christoph Oelckers
405fc31e81 Merge branch 'master' of https://github.com/DaZombieKiller/zdoom
Conflicts:
	src/actor.h
2015-04-30 09:14:31 +02:00
coelckers
691855e19b Merge pull request #304 from MajorCooke/morphundoalways
- Added MORPH_UNDOALWAYS for morph powerups.
2015-04-30 09:05:41 +02:00
coelckers
c2e91293d2 Merge pull request #310 from MajorCooke/telefogfix
- Allow teleport fogs to set the teleporting actors as their targets, so...
2015-04-30 09:02:10 +02:00
Christoph Oelckers
7b6b473ec4 - some GCC fixed by Edward-san. 2015-04-29 11:28:04 +02:00
Christoph Oelckers
1effaa4c8e Merge branch 'master' into scripting 2015-04-29 10:53:37 +02:00
Christoph Oelckers
7d90c65427 - mask out Strife mapthing flags when starting an original Hexen map. 2015-04-29 08:42:54 +02:00
Christoph Oelckers
4c17bd65a4 - parameters for FRandomPick should not be added up.
(I hope that this code is correct, all I can judge it by is the assert not being triggered.)
2015-04-29 01:03:50 +02:00
Christoph Oelckers
3c1fa3bed9 - fixed some GCC warnings. 2015-04-29 00:19:21 +02:00
Christoph Oelckers
e42b688afa - finally found the reason why the garbage collector went haywire after a restart: PClass::StaticShutdown set the PClass::bShutdown variable which disables much of the garbage collector. This needs to be cleared after successful cleanup. Restart works now, except for some random CCMDs being executed right afterward.
- fixed incorrect variable init in A_Face* functions which was missed before.
2015-04-28 23:37:04 +02:00
Christoph Oelckers
646c135eff Merge branch 'master' into scripting
Conflicts:
	src/m_cheat.cpp
	src/p_acs.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp
2015-04-28 23:04:10 +02:00
Christoph Oelckers
a2100410f2 - fix in GL nodes loader. 2015-04-28 22:13:50 +02:00
Christoph Oelckers
f087903fca - remove some redundancy from TeleportFog code. 2015-04-28 22:11:43 +02:00
coelckers
15fbf2510a Merge pull request #320 from edward-san/clang_3_5_crash_solved
- Clang 3.5.1+ fixed the compiler bug in ACS code.
2015-04-28 22:06:50 +02:00
coelckers
ce4adc48a7 Merge pull request #319 from edward-san/inventory
Little TakeInventory refactoring.
2015-04-28 22:06:31 +02:00
Christoph Oelckers
319671b54a - let cheats only give weapons in weapon slots.
This avoids problems which replace the entire arsenal and don't want the original weapons in there.
2015-04-28 22:05:43 +02:00
Christoph Oelckers
407d38f3d6 - add a bit more stuff that needs to be done before a restart to ensure that all obsolete data is taken down.
(There's still a problem with the garbage collector kicking in and deleting stuff it's not supposed to, so Restart still doesn't work)
2015-04-28 21:54:30 +02:00
Christoph Oelckers
0f8972c96b - don't delete any DObjects
FraggleScript's global_script was deleted instead of destroyed.
2015-04-28 21:30:12 +02:00
Edoardo Prezioso
92fe265abe - Clang 3.5.1+ fixed the compiler bug in ACS code.
Referring to commit 1c96039d7a .
2015-04-28 19:25:06 +02:00
Christoph Oelckers
afa022605a - some more fixes of 'Restart'. Still not working as intended. 2015-04-28 19:03:52 +02:00
Christoph Oelckers
91b05366d6 - tried to make 'restart' CCMD work again.
This requires quite a bit more thorough cleanup. I got it to the point where the titlepic appears after restarting, but it still crashes when starting the game so there's more data that needs to be cleaned up...
2015-04-28 16:39:20 +02:00
Edoardo Prezioso
b51fac344d Little TakeInventory refactoring.
Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
2015-04-28 15:45:11 +02:00
Christoph Oelckers
450e5aec52 - this shouldn't have been committed. 2015-04-28 15:45:10 +02:00
Christoph Oelckers
2d0f6339f7 - fixed some memory leaks: The global symbol table and the argument list for DECORATE called action specials were never freed. 2015-04-28 15:34:48 +02:00
Christoph Oelckers
137e624b55 - needed one more fix in CMake project. 2015-04-28 15:12:21 +02:00
Christoph Oelckers
2e0f999fea Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/shared/inventory.txt
	zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers
8447990889 Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
Conflicts:
	src/info.h
	src/thingdef/thingdef_codeptr.cpp

(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
f7834061df Merge commit 'b6a4511dd1e74440fad99bc673c1f2b3680dba48' into scripting
Conflicts:
	src/dobjtype.cpp
	src/p_conversation.cpp
	src/p_local.h
	src/p_things.cpp
	src/thingdef/thingdef_properties.cpp

(This is just the conversationID to MAPINFO stuff to keep the conflicts as small as possible)
2015-04-28 13:08:18 +02:00
Christoph Oelckers
ddced06be2 Merge commit '6e45c565a0bc8d05279b0b2458a3fb718ae0924c' into scripting
Conflicts:
	src/p_mobj.cpp

(This stops right before moving the conversation IDs into MAPINFO because that feature is quite conflict-heavy and will have to merged by itself.)
2015-04-28 12:59:20 +02:00
Christoph Oelckers
0474560ac6 Merge commit '2ec8e2c2ac61d30f7f1d666ec58ca0fd37e2e3b0' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/p_local.h

(Had to merge this all by itself because it was creating too many merge conflicts when combined with other stuff.
2015-04-28 12:54:01 +02:00
Christoph Oelckers
065c0a79cd Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/info.h
	src/p_acs.cpp
	src/p_interaction.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp

(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
2604905b0c - missed one compile error in last merge. 2015-04-28 12:03:06 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers
6ebdf7396c Merge commit '8e0151b4c1b88eaf295042ea2d545a83b4b99acc' into scripting
Conflicts:
	src/sc_man_tokens.h
	src/thingdef/thingdef_exp.h
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 3)
2015-04-28 10:59:50 +02:00
Christoph Oelckers
a13ada3b2d Revert "Merge commit '173dbd6bcee02a9e9c12a4a74d1fffe3e081d162' into scripting"
This reverts commit e9cbb0b223, reversing
changes made to d6e3fc0567.

The merge just copied the obsolete FxFloatCast from master without any conflict so it all had to be removed again.
2015-04-28 10:39:35 +02:00
Christoph Oelckers
e9cbb0b223 Merge commit '173dbd6bcee02a9e9c12a4a74d1fffe3e081d162' into scripting 2015-04-28 10:37:23 +02:00
Christoph Oelckers
d6e3fc0567 Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
Conflicts:
	src/info.cpp
	src/thingdef/thingdef_expression.cpp
	wadsrc/static/actors/constants.txt

(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Christoph Oelckers
7898e189df - fixed problems in CMake project files:
* thingdef_function.cpp no longer exists
* the build rule for zcc-parse.c was not correct.
2015-04-28 09:40:57 +02:00
Christoph Oelckers
56989d3422 Merge commit 'ec5817869592660af6837b9f4e20ed140972a2b2' into scripting
Conflicts:
	src/p_enemy.cpp
	src/p_enemy.h
	wadsrc/static/actors/constants.txt

(Scripting branch update part 1)
2015-04-28 09:34:51 +02:00
Christoph Oelckers
a93c30238b Merge branch 'master' of https://github.com/rheit/zdoom 2015-04-27 20:38:09 +02:00
Christoph Oelckers
c6fe0835d3 - fixed: The check for unblocking overlapping actors was a bit too lax.
The code never checked the starting position of the move and could be erroneously triggered in rare situations where the distance increased between actors but the hit boxes started overlapping because x or y distance got below the radius.
Changed it so that the code only gets executed when there's already an overlap before the move.
2015-04-27 20:37:01 +02:00
Braden Obrzut
9ba5e30bed - Moved autoload initialization to a separate function so that the rest of the ini can be loaded as before. Some platforms do indeed place zdoom.pk3 elsewhere. 2015-04-27 14:15:03 -04:00
Edoardo Prezioso
346fcf584c - Fixed C++11 warnings from recent commits. 2015-04-27 15:22:09 +02:00
Christoph Oelckers
47e7a30cab - reshuffled some stuff to satisfy Linux compilers (hopefully) 2015-04-27 13:19:34 +02:00
Randy Heit
68e43fe65d You never want to blindly switch between widechar and ANSI functions 2015-04-26 20:53:16 -05:00
Randy Heit
0380ba642b Blur de hur 2015-04-26 20:43:01 -05:00
Christoph Oelckers
13fb76db21 - changed lump reader setup for music so that for uncompressed data it opens a new FILE instead of caching the lump.
This reinstates behavior of pre-OpenAL versions but still uses the FileReader interface to keep the simplified code of the OpenAL branch.
2015-04-26 23:28:05 +02:00
Christoph Oelckers
4294b94728 - since Wads.ReopenLumpNum already performs caching on the lump data it is not really necessary anymore to maintain a separate musiccache, so this code can be removed. 2015-04-26 22:09:19 +02:00
MajorCooke
43053b89a5 - Set the morphing and unmorphing actor as target for the teleport fog. This will allow for better interactions on what should happen between the morphee without needing to make monster AI needing to search for them in particular or rely upon TIDs. 2015-04-26 10:06:13 -05:00
Christoph Oelckers
aecff68a4d - cleanup of sound system startup and menu handling:
* added global functions that check whether FMod and OpenAL are present, without initializing the sound backend.
* make sound init code more fault tolerant. It will now try to switch between FMod and OpenAL if the currently active one cannot be found but the other one can.
* added 'ifoption' checks for sound backend to menu code.
* only show sound backends which are present and hide the options for the ones which are not.
2015-04-26 12:13:21 +02:00
Christoph Oelckers
8e70a9b894 - added a NULL check to FMODStreamCapsule destructor, just to be safe. 2015-04-26 09:58:10 +02:00
Christoph Oelckers
a23afbd7ce Merge branch 'master' into openal 2015-04-26 09:37:49 +02:00
Christoph Oelckers
46e975418d - fixeed: Sound sequence overrides took the parameter from the wrong data structure. 2015-04-26 08:48:49 +02:00
Christoph Oelckers
6bb79be85c - got rid of std::auto_ptr, courtesy of Blzut3's patch. 2015-04-25 17:50:57 +02:00
coelckers
b9fdc21547 Merge pull request #317 from Edward850/master
Slightly more information on ACS serialize errors
2015-04-25 13:14:58 +02:00
Christoph Oelckers
d880783784 - make OpenAL and the decoder libraries delay loaded so that ZDoom can still start without them being present.
This required the addition of a few exception handlers so to avoid #ifdef overuse I also added some #defines for non-Windows systems that allow using __try and __except directly in the code without #ifdef'ing them out.
2015-04-25 12:25:10 +02:00
Christoph Oelckers
12118550d2 - fixed some warnings in OpenAL code. 2015-04-25 10:34:47 +02:00
Christoph Oelckers
dccd35ef29 - uncoupled OpenAL music updates from UpdateSounds.
UpdateSounds will not be called during screen wipes and the entire setup of this function suggests that this is not advisable at all.
The OpenAL stream updates were done deep inside this function implicitly.
This caused music to stop while a wipe was in progress. So in order to allow uninterrupted music playback during screen wipes the music updates need to be handled separately from sound updates and be called both in the main loop and the wipe loop.

I think that the OpenAL music updating should be offloaded to a separate thread but at least it's working now without causing interruptions during wipes.
2015-04-25 10:26:14 +02:00
Christoph Oelckers
54c2a14145 Merge branch 'master' into openal 2015-04-25 09:13:11 +02:00
Christoph Oelckers
682f3e230a - fixed: We should not try calling unicode functions on ASCII strings.
Should ZDoom ever switch to unicode I_GetLongPathName will have to be adjusted, but for now it must call GetLongPathNameA, not GetLongPathNameW.
2015-04-25 09:08:59 +02:00
Edward Richardson
0fd93cc033 Slightly more information on ACS serialize errors 2015-04-25 18:10:26 +12:00
Braden Obrzut
75471df787 - Made a few Win32 calls optional in order to restore capatibility with Windows NT 4.0 (not that anyone is using NT 4, but it was a trivial fix) 2015-04-24 23:07:32 -04:00
Christoph Oelckers
0da6939e84 - unmark OpenAL as 'advanced' in CMake so we can set its include and library paths in the IDE without having to enable the advanced display which isn't really helpful. 2015-04-24 22:30:28 +02:00
Christoph Oelckers
c91745c714 - some fixes to make OpenAL branch compile with VC++ 2013 and OpenAL support. 2015-04-24 17:42:56 +02:00
Christoph Oelckers
1f2a431d15 Merge branch 'master' into openal 2015-04-24 09:21:06 +02:00
Christoph Oelckers
920a4fbf45 - fixed: The HashTags function considered sector and line #0 invalid. 2015-04-23 21:27:36 +02:00
coelckers
45b006252a Merge pull request #316 from Doom2fan/RailgunSpiralOffset
Added SpiralOffset parameter to railgun functions.
2015-04-23 21:17:41 +02:00
Chronos Ouroboros
6a6836b1e7 Added SpiralOffset to railgun functions. 2015-04-23 15:11:54 -03:00
Christoph Oelckers
a54404074a - fixed: IDs that map to nothing must be removed from the spawn/conversation ID maps. 2015-04-23 20:09:12 +02:00
Randy Heit
8d501fdb9f Fix some issues with changing player viewheight at runtime
- Viewheight change was delayed: Viewheight must be copied to player
  structure as well as the PlayerPawn. Not sure if should actually use
  deltaviewheight to spread the change out over a few tics instead of
  being instant.
- Viewheight not preserved when travelling: player->viewheight must be
  restored from pawn->ViewHeight, because the temporary player set it back
  to the default viewheight.
2015-04-22 23:22:27 -05:00
Randy Heit
ca16d99445 Fixed: FOptionMenuItem::GetIndent() did not handle localized strings 2015-04-22 22:57:15 -05:00
Randy Heit
0cbb3132e6 Don't spam Dropped packet messages for disconnected players 2015-04-22 22:35:38 -05:00
Randy Heit
d6b8603cb6 Ignore sv_unlimited_pickup on items that stay
- See http://forum.zdoom.org/viewtopic.php?f=2&t=47790
2015-04-22 22:27:56 -05:00
Randy Heit
03c3621bb4 Use a different var to track unset DTA_FillColor instead of a default value
- If palette index 255 happens to be white (e.g. as in Hexen), trying to
  use white with DTA_FillColor would treat it as if you had never passed
  it to DrawTexture().
2015-04-22 22:18:44 -05:00
Randy Heit
a7ff9478a7 Fixed: S_PrecacheLevel() could create orphan channels
- S_PrecacheLevel() must also mark currently playing sounds as
  used. If we don't, the sound could be unloaded and the underlying
  channel stopped without triggering a channel callback. That would leave
  the code in s_sound.cpp thinking the sound is still playing even though
  it isn't.
- Added an invalid channel check to FMODSoundRenderer::StopChannel() so
  that orphan channels passed to it will be returned at least when
  S_StopAllChannels() is called.
2015-04-22 20:33:08 -05:00
Randy Heit
7ee1853403 Remove OpenAL and Sound Manager output options for FMOD
- OpenAL never actualy worked properly and was removed in later FMODs.
- Sound Manager was deprecated by Apple long ago and is not supported for
  64-bit applications. It was also removed in later FMODs.
2015-04-22 19:09:33 -05:00
Randy Heit
dba76c1aea Disable PCM-8 output when not using DirectSound
- PCM-8 sounds like garbage with WASAPI and WaveOut, so force anything not
  DirectSound to use PCM-16 if PCM-8 is selected.
2015-04-22 18:32:45 -05:00
Randy Heit
f7bd3acec4 Add OpenString to FScanner class 2015-04-22 17:34:36 -05:00
Christoph Oelckers
3300817d65 - removed some leftover code from initial development in the DoomEdNum parser. 2015-04-20 23:20:56 +02:00
Christoph Oelckers
cad282142d - fixed some last issues with the tag manager. 2015-04-19 18:22:39 +02:00