Commit graph

5648 commits

Author SHA1 Message Date
Randy Heit
c978aa32b1 Fix FxRandomPick code generation for floats 2016-02-05 22:18:54 -06:00
Randy Heit
48dcbabd60 Emit a message when trying to use something non-integral as a boolean
- It's not exactly optimal, since it silently removes the offending
  expression, but it's better than crashing.
2016-02-05 22:18:54 -06:00
Randy Heit
09a17c2198 Quiet some narrowing conversion warnings from VS2015 2016-02-05 22:18:53 -06:00
Randy Heit
0892650465 Don't add /delayload for OpenAL stuff if OpenAL is disabled
- Also, I believe openal32.dll no longer needs a /delayload flag since
  it's dynamically loaded now.
2016-02-05 22:18:53 -06:00
Christoph Oelckers
d50e874d9b Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-06 05:16:53 +01:00
Christoph Oelckers
d76bcee393 - added some line portal restrictions:
* linked portals may never have a z-offset so the parameter for that needs to be ignored.
* for interactive portals, handling z-displacements when some distance calculation reaches through a portal is way too extensive and problematic to ever have a chance of really working. If such a portal gets defined it will be changed to a teleport-only portal and a message printed.
2016-02-06 05:16:35 +01:00
Braden Obrzut
dce3f0f757 - Bump CMake version requirement to 2.8.7. This means that generator expressions must be supported as well as empty else and endif expressions (like most sane languages). ZDoom probably didn't work with 2.4 anymore anyway. 2016-02-05 21:19:29 -05:00
Randy Heit
4fb65d74fd Fix address NO_SANITIZE macro for Clang
- Oops. In fixing it for GCC (since it doesn't like
  __has_feature(address_sanitizer), I broke it for Clang.
2016-02-05 18:06:45 -06:00
Christoph Oelckers
501af18168 - added missing include. 2016-02-06 01:04:15 +01:00
Christoph Oelckers
ed7b7fc0ba - fixed: The backlink portal for EE-style definition needs to be done along with the first portal because the code won't find the anchor line itself. 2016-02-06 00:21:44 +01:00
Christoph Oelckers
ee3c41bf7b - fixed: The minimum parameter count for an action function is 3, so the DEHSUPP parser needs to take this into account when validating the code pointers. 2016-02-06 00:19:38 +01:00
Christoph Oelckers
95f3a9909c Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-05 23:51:50 +01:00
Christoph Oelckers
e88901f4b7 - added the EE-Extradata parser I wrote for GZDoom so I can use the Vaporware demo map for testing portal stuff. 2016-02-05 23:51:28 +01:00
Randy Heit
cb6504669d Add return statements for DECORATE. 2016-02-05 16:34:51 -06:00
Christoph Oelckers
1201ad0366 Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-05 23:16:06 +01:00
Christoph Oelckers
94b7ef72ca - more cleanup on portal implementation:
- store portal data in a separate structure.
- store portal data in savegames because some of this will be changeable later.
- run a cleanup pass after all portals have been created to weed out broken ones.
- add a definition type that's compatible with Eternity Engine's line portal types.
- swapped arg[2] and arg[3] of Line_SetPortal, because the type is more significant than the alignment.
2016-02-05 23:15:56 +01:00
Randy Heit
3ad2e4191d Remove fudging from the end of (O)WallMost
- This might have been added in an effort to fix problems caused by mixing inclusive
  and exclusive right edges. It might not be needed anymore. Let's find out...
2016-02-05 16:08:20 -06:00
Randy Heit
26eb335622 Quiet a couple GCC warnings 2016-02-05 16:07:18 -06:00
Randy Heit
4228721351 Enable running when built with Clang's -fsanitize=address 2016-02-05 16:04:50 -06:00
Christoph Oelckers
9eaefc3685 - initialize portals with all other static line specials instead of doing it separately in P_FinishLoadingLineDefs when the map isn't fully set up yet.
- replace all float use in portal.cpp with doubles.
2016-02-05 16:58:57 +01:00
Christoph Oelckers
a85a8c1465 - changed mirror handling so that it works without attaching a portal to the mirror line and removed line_t::portal_mirror member.
- did some cleanup on the portal interface on linedefs: All checks should go through isLinePortal (gameplay related) and isVisualPortal (renderer related) which then can decide on the actual data what to return.
- removed portal_passive because it won't survive the upcoming refactoring.
- removed all direct access to portal members of line_t.
- always use the precise (and fast) version of P_PointOnLineSide inside the renderer.
2016-02-05 16:14:45 +01:00
Christoph Oelckers
00895c245e - mpved all software renderer specific code for the portals into the render sources. 2016-02-05 15:39:06 +01:00
Christoph Oelckers
01b075660d - removed the option to toggle portals with SetLineSpecial.
This is to keep some people from jumping the gun on this and preventing the implementation of a proper toggling mechanism.
The feature itself will come back, but differently.

- removed portal setup from Build maps

they don't define it anyway so it makes no sense to have it there. Once this code gets refactored this will be in a different place that's identical for all map types.
2016-02-05 14:34:01 +01:00
Christoph Oelckers
6639984772 - removed Line_SetVisualPortal special. This will be folded into Line_SetPortal later 2016-02-05 14:24:20 +01:00
Randy Heit
2516b8f8af Adjusted the assert conditions in DoJump()
- With multiple A_Jump calls possible in a single action now, it is now
  possible for DoJump() to be called with a callingstate that does not
  match self->state because the state had been changed by a prior A_Jump
  in the same action function.
2016-02-05 06:41:27 -06:00
Christoph Oelckers
9d77244b3f - we are past 2.8 now so the version numbers should reflect that. 2016-02-05 12:03:59 +01:00
coelckers
297ffc5889 Merge pull request #536 from edward-san/pclass_alloc_mismatch
- Fixed alloc/dealloc mismatch in PClass code.
2016-02-05 11:24:06 +01:00
Christoph Oelckers
3a57036f60 - a simple command line parameter is probably more suitsble for controlling the disassembly output. 2016-02-05 11:20:32 +01:00
Christoph Oelckers
312117b0bc - disable script disassembly output by default. It's now controlled by a CVAR. 2016-02-05 10:56:15 +01:00
Christoph Oelckers
353608f2b9 - added a few FString variants for frequently called functions. 2016-02-05 10:52:10 +01:00
Christoph Oelckers
76c5039c63 Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-05 10:41:05 +01:00
Christoph Oelckers
8da6483223 - fixed some places where FStrings were incorrectly used.
- replace all implicit conversions from FString to const char * in the header files (so that it can be test compiled with the implicit type conversion turned off without throwing thousands of identical errors.)
2016-02-05 10:40:45 +01:00
Christoph Oelckers
c8d25378d5 - fixed type confusion with ?: operator in FMugShot::GetFace. 2016-02-05 10:08:49 +01:00
Braden Obrzut
ba54d73e07 Merge branch 'portals2_visual' 2016-02-05 00:10:46 -05:00
MajorCooke
35b7a5ccc1 Updated for scripting branch merge. 2016-02-04 22:41:02 -06:00
MajorCooke
1f8d425a1e - Added CountInv(itemtype, [ptr_select]).
- Returns an inventory item count.
2016-02-04 21:45:31 -06:00
Edoardo Prezioso
002177e33f - Fixed alloc/dealloc mismatch in PClass code.
The function 'PClassActor::InitializeNativeDefault' is the only one which didn't allocate the 'Defaults' member variable with M_Malloc. Reported by the Address Sanitizer.
2016-02-05 03:03:34 +01:00
Christoph Oelckers
4751bffd5f - replaced malloc.h with stdlib.h in thingdef_expression.cpp. 2016-02-05 01:26:29 +01:00
Christoph Oelckers
995169de58 Merge branch 'csgwhy' of https://github.com/Edward850/zdoom 2016-02-05 01:21:01 +01:00
Christoph Oelckers
0b7a06c714 Merge branch 'NewEESpecials'
# Conflicts:
#	src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Edward Richardson
f2025e6a2f Fixed possible issue with GCC/Clang 2016-02-05 12:52:29 +13:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
rheit
56359b6f23 Merge pull request #342 from marrub--/fastweaponsfix
sv_fastweapons extension
2016-02-04 13:31:47 -06:00
Christoph Oelckers
bf066763b7 - fixed: The FPS display should use the actual font info to calculate its size, not just assume that each character is 8*8 pixels. 2016-02-04 01:20:35 +01:00
alexey.lysiuk
b9b0029373 Fixed overlapping of active artifacts with time/latency
Active artifacts are now displayed below time and/or latency on alternative HUD
2016-02-03 12:06:32 +02:00
alexey.lysiuk
1bf1fc199b Adjust latency position depending on time visibility
Latency placement is no longer fixed:
* If time is visible, it is placed on top of the screen and latency is placed below
* If time is not visible, latency is placed on top of the screen
Both are displayed on alternative HUD only
2016-02-03 12:06:20 +02:00
MajorCooke
a1c1de9edb Fixed merge conflicts. 2016-02-02 18:26:20 -06:00
Christoph Oelckers
66f053f131 - on second thought: this shouldn't explode the speakers with too high values. 2016-02-02 15:02:06 +01:00
Christoph Oelckers
c002c2fde9 - added a mastervolume setting for DUMB because its default volume is far less than all the other music options. 2016-02-02 14:45:32 +01:00
coelckers
5d19901cb7 Merge pull request #529 from alexey-lysiuk/fix_creative_openal
Fixed build with Creative Labs OpenAL SDK
2016-02-02 12:01:25 +01:00
Christoph Oelckers
0db679c90d - fixed clang compile error. 2016-02-02 10:53:56 +01:00
alexey.lysiuk
90dd6b61b4 Fixed build with Creative Labs OpenAL SDK
Tested with
* Creative OpenAL from https://www.openal.org/downloads/OpenAL11CoreSDK.zip
* OpenAL Soft from http://kcat.strangesoft.net/openal-binaries/openal-soft-1.17.1-bin.zip
2016-02-02 10:29:23 +02:00
Randy Heit
c9d81dff53 Use absolute value of Y scale for 3D midtex
- Somebody might want to set a midtexture's Y scale negative to flip it
  vertically. I'm pretty sure this would mess up 3D mid textures if we
  don't make it positive again for those.
2016-02-01 21:07:09 -06:00
Randy Heit
6b6c1af0dc Add support for Y flipped non-vertically tiling masked midtextures 2016-02-01 21:07:09 -06:00
Randy Heit
03f0e1dc5c Remove something that looks like 3D floor development garbage 2016-02-01 21:07:08 -06:00
Christoph Oelckers
6b75f14c0f - fixed some Linux/GCC warnings. 2016-02-02 01:04:59 +01:00
Christoph Oelckers
fe3e56c6bc - fixed: oalload.h should only do stuff is NO_OPENAL is not defined. 2016-02-01 18:49:12 +01:00
Christoph Oelckers
ee045371a3 - On Windows, use LoadLibrary/GetProcAddress to load OpenAL function addresses.
The reason for this is that on my system, the static or delay loaded method always picks the (obsolete) system-installed OpenAL version (needed for some old games) which is not wanted here if there's another one in the local ZDoom directory.
This also removes the dependency on the broken import library that comes with OpenAL Soft which causes compile errors with more modern MSVC compilers on default settings.
2016-02-01 14:02:25 +01:00
Christoph Oelckers
e0608f50d1 - create a separate translation table for Heretic's rain pillar.
These objects are supposed to be bright, but the standard translations for player do not take this into account, creating dark and/or invisible projectiles depending on the color being used.
The new translation uses hue and saturation from the player color, but combines brightness from the original color with the one for the player in an 8:2 ratio, so that no matter for the player color, these always remain bright and visible.
2016-02-01 10:45:33 +01:00
Christoph Oelckers
58196f77ff Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-01 10:00:39 +01:00
Christoph Oelckers
fd2828b1fe - fixed typo in monster movement code. 2016-02-01 10:00:19 +01:00
Randy Heit
2f4dc17954 Add support for face sprite Y flipping 2016-01-31 22:05:32 -06:00
Randy Heit
809a9d801c Got a flag backwards 2016-01-31 21:23:45 -06:00
Randy Heit
0b9aeb33e1 Fixed potential divide by 0 when drawing voxels
- Since voxels can have their origin behind the viewer and still have a
  portion visible in front of the viewer, they aren't clipped to MINZ like
  face sprites are. The 3D floor handling in R_DrawSprite() neglected to
  clamp it when recalculating the diminished light colormap.
  - Aside, but R_DrawSprite() probably shouldn't be messing with these
    properties at all. Why isn't this done in R_ProjectSprite() before it
    ever gets to the drawing part?
2016-01-31 20:52:56 -06:00
Randy Heit
1d0a3d19c8 Fix a part in maskwallscan that was missed for right-edge exclusivity 2016-01-31 20:45:37 -06:00
Edoardo Prezioso
4cbf752b4d - Fixed uninitialized variable in level info code.
Found with Valgrind.
2016-01-31 23:19:34 +01:00
Christoph Oelckers
a1cd0401e4 - fixed: noclip2 should only set some minimal velocity if the player has none. 2016-01-31 22:38:08 +01:00
Christoph Oelckers
8068fca601 - fixed: player_t::Uncrouch should only reset the view height if the player is actually crouched. 2016-01-31 22:36:37 +01:00
coelckers
c3cc98b5f3 Merge pull request #523 from alexey-lysiuk/osx_fullscreen
Final touches to fullscreen mode on OS X
2016-01-31 16:56:35 +01:00
coelckers
09e2f212a0 Merge pull request #524 from alexey-lysiuk/hexen_mac_beta
Added support for Hexen Mac beta
2016-01-31 16:55:23 +01:00
MajorCooke
eb2829ad5e - Added CBF_DROPOFF to A_CheckBlock. Checks for actors stuck in tall ledges or dropoffs. 2016-01-31 09:45:41 -06:00
Randy Heit
219b6f7c5d Fix R_DrawFogBoundary for right-edge exclusivity 2016-01-31 06:51:11 -06:00
alexey.lysiuk
1798fab973 Added support for Hexen Mac beta
It's very similar to Mac demo but also contains MAP41: Maze like DOS full version 1.0
2016-01-31 12:53:22 +02:00
alexey.lysiuk
7b0f557514 Enabled zoom window button on OS X
Independently from OS version the game will enter fullscreen mode when zoom button is clicked
Window zooming behavior introduced in Yosemite is available on all supported versions of OS X
2016-01-31 10:42:16 +02:00
Randy Heit
240ca2af4c Use consistant right-edge rules in the renderer.
- The original Doom renderer was inclusive for all right edges. This was
  fine for the wonky projection it did. This was not fine for a standard
  perspective divide, so I had to change walls to be right-edge exclusive
  when I changed the projection. I only touched what was needed. Until
  now. The right edge is always exclusive now, which should prevent any
  more bugs related to mixing the two clusivities incorrectly.
2016-01-30 21:27:35 -06:00
Randy Heit
c1b2861362 Merge the boolean args to EV/P_Teleport into a single flags arg
- The flags use TELF_ since DECORATE has an A_Teleport with its
  own set of TF_ flags.
- TELF_KEEPVELOCITY is used instead of TELF_HALTVELOCITY, because
  there was only one call that ever set bHaltVelocity to false.
2016-01-30 21:27:34 -06:00
Christoph Oelckers
939989dc8c - fixed crash when trying to cache nodes for a map that has no two-sided walls and no minisegs.
Under these conditions there are no partner segs and the glsegextras array is NULL.
2016-01-31 01:05:31 +01:00
Christoph Oelckers
46024398fe - fixed: Change FCheckPosition::LastRipped to a TMap so that it can track multiple overlapping actors being ripped during the same tic. 2016-01-30 22:06:04 +01:00
Christoph Oelckers
06fdb6ca45 - fixed: The reverb editor failed to open in fullscreen mode at desktop resolution.
According to Blzut3:

The issue happens when the fullscreen resolution is the same as the desktop resolution. In this case WM_DISPLAYCHANGE doesn't occur so the editor never appears. This appears to be fixable by also catching WM_STYLECHANGED since at the very least the window caption will appear/disappear.
2016-01-30 21:49:03 +01:00
alexey.lysiuk
6bce5ddc4b Scale of player's skin is now preserved on corpses after reborn 2016-01-30 18:30:20 +02:00
coelckers
ccce6f44a2 Merge pull request #518 from Edward850/Particle-clamp
Clamped r_maxparticles to the internal limit
2016-01-30 15:21:55 +01:00
Christoph Oelckers
36911bac4b - fixed memory allocation type mismatch in demo code. 2016-01-30 15:17:46 +01:00
Christoph Oelckers
afcd755c7a - changed autoaim menu option to a slider which allows a more precise control of the property.
- having a value of 5000 as the default for autoaim makes no sense, since this is an angle value that will always be clamped to [0..35]. So now 35 is both the default and the maximum.
2016-01-30 13:43:39 +01:00
Christoph Oelckers
3b5af8484c Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-30 12:59:37 +01:00
Christoph Oelckers
0a0a2c4a41 - removed a warning. 2016-01-30 12:59:15 +01:00
Christoph Oelckers
fab186786e Merge branch 'PlayerTransition' of https://github.com/Edward850/zdoom 2016-01-30 12:52:50 +01:00
Christoph Oelckers
0ddf9db8dd - fixed: Uncrouching a player also needs to reset the viewheight to its default. 2016-01-30 12:51:15 +01:00
alexey.lysiuk
6166520b33 Do not respawn on damaging floors when sv_samespawnspot is enabled
See http://forum.zdoom.org/viewtopic.php?t=47191
2016-01-30 12:50:19 +02:00
Christoph Oelckers
1285dde615 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-30 11:34:13 +01:00
Christoph Oelckers
b84207a089 - use scaling, render style and alpha when drawing the cast call. 2016-01-30 11:33:55 +01:00
Edward Richardson
40d90ba325 Game still needs to abort if no starts exist at all 2016-01-30 22:26:47 +13:00
Edward Richardson
fe52f98459 Clamped r_maxparticles to the internal limit 2016-01-30 22:04:09 +13:00
Edward Richardson
c1e362ee83 Added level transition spawning for missing starts
- Additional player bodies are spawned for any absent starts in co-op.
- Removed now-redundant bot start limitation
2016-01-30 22:02:27 +13:00
Braden Obrzut
5317a92d11 Merge branch 'RadiusGiveExp2' 2016-01-30 00:27:44 -05:00
Braden Obrzut
5d6e8a7338 - Fixed: Possible timer overflow in PowerTimeFreezer. 2016-01-30 00:18:38 -05:00
Braden Obrzut
a34a7ace18 - Some resolutions between 320x200 and 640x400 had non-square clean scaling factors. Maybe there was a reason for this in the past, but I can't think of a case where it'd actually look better to have 1:2 scaling in the menus and someone reported it. 2016-01-29 23:37:38 -05:00
Braden Obrzut
1fcb9fcf06 - Fixed: Crash when automatically switching sound backends due to failure. 2016-01-29 23:10:10 -05:00
MajorCooke
eeca536d9a Clean up a few things. 2016-01-29 10:41:05 -06:00
Christoph Oelckers
a41dc24086 - fixed: 3D lights should override the sidedef's regular light completely, that includes relative light added by UDMF's 'light' property.
- Renamed the 'noabsolute' parameter in side_t::GetLightLevel to 'is3dlight', what it actually is, to avoid the confusion that caused the abovementioned error.
- fixed: The Down2Up render path for sides of 3D floors had the 'is3dlight' check inverted.
2016-01-29 14:55:31 +01:00
Christoph Oelckers
c6c15fe83c - fixed: AActor::SpawnPoint[2] must store the actor's height above the sector's floor, not above floorz. floorz will represent the current floor the actor is standing on, which may be a 3D floor or a 3D midtexture, but both respawn functions which use this value work from the actual sector floor. 2016-01-29 13:40:37 +01:00