Commit graph

10082 commits

Author SHA1 Message Date
Christoph Oelckers
c52bc06e9b - use a memory arena to allocate msecnodes.
These are rather small and extremely frequently allocated, so they are prime candidates for memory arena, because it not only avoids fragmentation and internal overhead due to mass allocation of small memory blocks but it also makes it a lot faster to free the memory when finishing a level.
2017-01-06 13:09:58 +01:00
Christoph Oelckers
ed25cf61c5 - moved the msecnode code to its own file.
Note that this originates from Boom so it needs to keep the Doom license.
2017-01-06 12:54:01 +01:00
Christoph Oelckers
b11c8fef57 - renamed a few variables for clarity. 2017-01-06 11:56:17 +01:00
Christoph Oelckers
44ad55602d - got rid of uint32(-1) casts. 2017-01-06 11:43:27 +01:00
alexey.lysiuk
b297047060 Removed useless integer type size expansion
Fixed Apple's Clang warnings:
absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value
2017-01-06 10:40:51 +01:00
alexey.lysiuk
1a0d8dffd9 Fixed harmless initialization order mismatch
No more 'field ... will be initialized after field ...' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
0e9f52f9e5 Added virtual destructor to FPresentShaderBase class
No more 'delete called on non-final class that has virtual functions but non-virtual destructor' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
d77718d422 Fixed harmless uninitialized variables warnings
No more 'variable  is used uninitialized whenever switch default is taken' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
9ed2da176e Fixed signed/unsigned mismatch in comparisons
No more 'comparison of integers of different signs' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
Christoph Oelckers
e0540c6b37 - fixed uninitialized variable warning in codegen.cpp 2017-01-06 10:33:58 +01:00
Rachael Alexanderson
3548f17f01 Merge https://github.com/coelckers/gzdoom 2017-01-05 10:38:14 -05:00
Christoph Oelckers
fcb1c1edc4 - only print GL extensions to the log, but not to the console.
The list has become so long by now that it's more of a distraction than help. Besides, searching on-screen for specific extensions is futile anyway.
2017-01-05 12:01:00 +01:00
Christoph Oelckers
c87836c3f3 - fixed check for Mesa driver. 2017-01-05 11:51:15 +01:00
Christoph Oelckers
b74c374a66 - fixed: The CheckReturn check for FxSwitchStatement was not strict enough.
It may only return true if there is no default case because without that any non-matching value will go past the statement.
2017-01-05 11:39:29 +01:00
Christoph Oelckers
e13627e9d8 - fixed: portal offsets at frame start were not applied to ViewActorPos. 2017-01-05 11:28:08 +01:00
Magnus Norddahl
e806b9424c Move r_portal into a class 2017-01-05 04:55:26 +01:00
Magnus Norddahl
4bcc34f01c Move openings deinit to r_memory 2017-01-04 19:13:58 +01:00
Magnus Norddahl
e0f1fc4066 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-04 19:03:40 +01:00
Magnus Norddahl
47ca45bf18 Convert FakeSide to enum class 2017-01-04 19:03:33 +01:00
Rachael Alexanderson
ac22d80170 Merge https://github.com/coelckers/gzdoom 2017-01-04 12:56:35 -05:00
Magnus Norddahl
5f8075f726 Convert r_3dfloors to a class 2017-01-04 18:54:14 +01:00
Magnus Norddahl
28732d63d2 Move r_bsp into a class 2017-01-04 15:39:47 +01:00
Christoph Oelckers
4be9222646 - fixed: Dehacked must flag all states it touched for use in weapons. 2017-01-04 11:13:19 +01:00
Magnus Norddahl
c396e7f949 Make r_bsp and r_line stop sharing floorplane and ceiling plane variables 2017-01-04 05:10:16 +01:00
Magnus Norddahl
38280b9315 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-04 04:50:25 +01:00
Magnus Norddahl
5caea5a256 Fix clipping regression caused by splitting clip handling from line rendering 2017-01-04 04:49:10 +01:00
Rachael Alexanderson
13972eed2b Merge https://github.com/coelckers/gzdoom 2017-01-03 21:31:55 -05:00
Magnus Norddahl
dba81db198 Move material multiplication out of inner light loop 2017-01-03 21:16:21 +01:00
Christoph Oelckers
b132782c49 - scriptified PowerBuddha and PowerFrightener. 2017-01-03 21:03:05 +01:00
Magnus Norddahl
b3cee51fd0 Fixed clang errors about the gotos leaving certain variables uninitialized 2017-01-03 20:53:40 +01:00
Christoph Oelckers
15f30886cd - scriptified the TimeFreezer powerup. 2017-01-03 20:06:20 +01:00
Christoph Oelckers
37dab4a12c - fixed: 'out' parameters must always allocate an address register, regardless of type. 2017-01-03 13:59:09 -05:00
Christoph Oelckers
f30b2ca80d - disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken. 2017-01-03 13:59:09 -05:00
alexey.lysiuk
ca9523acef Fixed compilation with GCC/Clang
Fixes #175
2017-01-03 13:59:09 -05:00
Magnus Norddahl
abdc7f9ff1 Move WindowLeft, WindowRight, MirrorFlags to r_portal 2017-01-03 19:25:00 +01:00
Magnus Norddahl
e25645df46 Move r_fogboundary to line folder 2017-01-03 19:16:37 +01:00
Magnus Norddahl
863f17ada9 Fix function names 2017-01-03 19:08:02 +01:00
Magnus Norddahl
a4c0e29913 Moved r_line into a class and implemented proper parameter passing between r_line and r_bsp, r_walldraw, r_wallsetup, r_decal, r_wallsprite, r_fogboundary, r_portal and r_playersprite 2017-01-03 18:57:48 +01:00
Magnus Norddahl
aa11534033 Remove unused (and broken in swrenderer) back boolean from FakeFlat interface 2017-01-03 18:55:12 +01:00
Christoph Oelckers
341d9abdd0 - fixed: 'out' parameters must always allocate an address register, regardless of type. 2017-01-03 16:00:25 +01:00
Christoph Oelckers
96623b3052 - disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken. 2017-01-03 12:01:03 +01:00
alexey.lysiuk
2dec45ca39 Fixed compilation with GCC/Clang
Fixes #175
2017-01-03 09:45:53 +02:00
Magnus Norddahl
e7ab5dddb6 Put add the copyright statement from the files the code originated from 2017-01-03 07:17:54 +01:00
Magnus Norddahl
a9fbd421fb Move line handling to r_line and drawseg drawing to r_drawsegment and then remove r_segs 2017-01-03 07:13:40 +01:00
Magnus Norddahl
ac7992a2a1 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-03 04:29:15 +01:00
Magnus Norddahl
4125da9fc3 Fix speed regression caused by the DrawerThread object being recreated every frame 2017-01-03 04:29:06 +01:00
Rachael Alexanderson
fd9d92d708 Merge https://github.com/coelckers/gzdoom 2017-01-02 22:04:53 -05:00
Christoph Oelckers
1261046f1a - fixed: The check for explicitly not splitting wall polygons at seg vertices was inverted. 2017-01-02 23:21:28 +01:00
Rachael Alexanderson
2591eb2e54 Merge https://github.com/coelckers/gzdoom 2017-01-02 16:52:02 -05:00
Christoph Oelckers
e7cd5ec2bb - fixed: The conditional operator could clobber a local variable if it was the result of the true expression. 2017-01-02 22:26:36 +01:00
Christoph Oelckers
1a16f664e4 - added a TStaticArray class that allows safe access to resizable static data (like the sectors, linedefs, etc.) for the VM.
- used this to replace the line list in Sector because that gets already used and implemented proper bounds checks for this type of array.
2017-01-02 21:40:52 +01:00
alexey.lysiuk
41a107a89f Fixed compilation with GCC/Clang
No more 'error: cannot jump from this goto statement to its label' because of 'note: jump bypasses variable initialization'
2017-01-02 17:57:26 +02:00
Rachael Alexanderson
53c545d045 Merge https://github.com/coelckers/gzdoom 2017-01-02 09:48:45 -05:00
Christoph Oelckers
b31b6589e7 - fixed: PPointer was unable to handle pointers to class types for savegames. 2017-01-02 13:37:09 +01:00
Christoph Oelckers
7c3c886a90 - use the attenuated light definitions from QZDoom.
- apply them also to Freedoom.
- to compensate for the increase in light size required for attenuated lights to look correct, when running in legacy mode, they to be reduced in size to 2/3 of their defined size because the textured lighting method does not support real attenuation.
- removed the ancient size limit of 255 for light sizes which comes from a time when args were bytes.
2017-01-02 13:17:03 +01:00
Magnus Norddahl
c61e9c7fe2 Add attenuated point lights 2017-01-02 06:52:50 +01:00
Magnus Norddahl
c0e91086ce Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-02 03:46:56 +01:00
Magnus Norddahl
388da85937 Move some more vars 2017-01-02 03:46:48 +01:00
Rachael Alexanderson
2d1a5e6b36 Merge https://github.com/coelckers/gzdoom 2017-01-01 21:44:56 -05:00
Magnus Norddahl
34bd21449b Move line working variables to r_line 2017-01-02 03:12:51 +01:00
Christoph Oelckers
6ab8e90911 - parse GLDEFS and its game-specific variants in lump order instead of both names sequentially. 2017-01-02 00:28:30 +01:00
Christoph Oelckers
9948189193 - scriptified PowerProtection and PowerDamage.
- made ModifyDamage calls iterative instead of recursive. With going through the VM they'd be too costly otherwise.
- small optimization: Detect empty VM functions right when entering the VM and shortcut them. This is to reduce the overhead of virtual placeholders, which in a few cases (e.g. CanCollideWith and ModifyDamage) can be called quite frequently.
2017-01-01 23:11:48 +01:00
Christoph Oelckers
1d3afce59b - let SBARINFO treat 'null' as 'untranslated'. Strictly speaking this wasn't a bug but apparently some people tend to use 'null' as a general placeholder for 'nothing', even where not intended. 2017-01-01 22:52:11 +01:00
Christoph Oelckers
5de3d662cb - re-added the glow properties for UDMF which somehow got lost. 2017-01-01 19:36:51 +01:00
Christoph Oelckers
66cc68606f - scriptified the methods of APowerMorph.
- made some changes to PowerMorph to better deal with recursive calls from UndoPlayerMorph. The flag hackery was only needed because the 'alternative' pointers were cleared far too late.
2017-01-01 19:23:43 +01:00
Rachael Alexanderson
c5281df691 - We're on version 1.3pre now. 2017-01-01 11:33:54 -05:00
Christoph Oelckers
2d2963ead4 - fixed: The StripRight fix left some code from a previous fix in that no longer applies. 2017-01-01 16:55:45 +01:00
Rachael Alexanderson
c7dce79831 Merge https://github.com/coelckers/gzdoom 2017-01-01 10:54:19 -05:00
Christoph Oelckers
5d9cea9e0e - fixed: FString::StripRight's space checking counter was broken and would cause deletion of the last valid character in the string. 2017-01-01 14:44:16 +01:00
Christoph Oelckers
356c5f2e08 - removed the ZScript warning. 2017-01-01 12:29:03 +01:00
Magnus Norddahl
81658d7c88 Move line handling to more files 2017-01-01 10:28:35 +01:00
Edoardo Prezioso
9575715b1e - Added support to GCC/Clang sanitizers. 2017-01-01 00:17:42 +01:00
Christoph Oelckers
e4c63563e3 - fixed: The 3D floor light splitting code for sprites did not copy the sector's fog density.
- fixed: fog calculations for fuzz effects were wrong.
2017-01-01 00:16:53 +01:00
Edoardo Prezioso
6b943043d1 - Update the list of dummy actor flags from Zandronum. 2016-12-31 23:02:01 +01:00
Rachael Alexanderson
2e2c15848e Merge https://github.com/coelckers/gzdoom 2016-12-31 16:53:30 -05:00
Christoph Oelckers
28d79cc2b0 - added some profiling code to the VM. 2016-12-31 17:59:48 +01:00
Magnus Norddahl
3967156d62 Moved remaining parts of r_plane to r_visibleplane 2016-12-31 14:45:41 +01:00
Magnus Norddahl
07826ccd2f Move variables closer to their correct location 2016-12-31 14:15:06 +01:00
Magnus Norddahl
5967016dbe Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-31 14:00:22 +01:00
Magnus Norddahl
0884a09b38 Move floorclip, ceilingclip, floorplane and ceilingplane closer to their location 2016-12-31 14:00:12 +01:00
ZZYZX
3aee73eaa4 Enabled user shader for a cameratexture 2016-12-31 07:27:27 -05:00
Magnus Norddahl
165134f1a7 Make wallshade private to r_segs 2016-12-31 13:12:09 +01:00
Magnus Norddahl
ce864655e3 Remove wallshade global from R_RenderDecals 2016-12-31 12:59:43 +01:00
Magnus Norddahl
918904074a Remove wallshade global from R_DrawFogBoundary 2016-12-31 12:57:48 +01:00
Magnus Norddahl
6fd3691da4 Remove unused declarations 2016-12-31 12:50:57 +01:00
Magnus Norddahl
ad15d56a81 Move files into additional folders 2016-12-31 12:45:07 +01:00
ZZYZX
c845fc126a Enabled user shader for a cameratexture 2016-12-31 12:17:24 +01:00
Magnus Norddahl
2f96dcc1a8 Move fog boundary drawing to r_fogboundary 2016-12-31 12:04:23 +01:00
Magnus Norddahl
f354cc8c67 Move flat and slope plane drawing to their own files, isolate and privatize their working variables 2016-12-31 11:42:49 +01:00
Magnus Norddahl
447b162534 Move sky rendering to its own file 2016-12-31 10:19:31 +01:00
Rachael Alexanderson
8954efd33c Merge https://github.com/coelckers/gzdoom 2016-12-30 19:21:51 -05:00
Christoph Oelckers
267b1842b4 - scriptified a few more of the simpler powerups. 2016-12-31 01:08:09 +01:00
Christoph Oelckers
3b524cbed4 - scriptified PowerInfiniteAmmo to test the exported functions. 2016-12-31 00:20:02 +01:00
Christoph Oelckers
fe0f19e1e0 - exported Powerup.InitEffect and EndEffect to scripting. 2016-12-30 23:32:43 +01:00
Christoph Oelckers
5e34bad03b - fixed: AActor::Tick must call CallDoEffect, not DoEffect for its inventory items or scripted overrides won't be called. 2016-12-30 21:32:06 +01:00
Christoph Oelckers
a105a08bd6 - restored the original implementation of DONTOVERLAP, because Heretic depends on it being somewhat broken.
A side effect of the incorrect implementation is that Gargoyles hitting other Gargoyles won't call P_DamageMobj.
2016-12-30 20:00:24 +01:00
alexey.lysiuk
e3a909c296 Fixed compilation with GCC/Clang
No more 'error: cannot jump from this goto statement to its label'
2016-12-30 16:05:57 +02:00
Rachael Alexanderson
3992fd32cb Merge https://github.com/coelckers/gzdoom 2016-12-30 05:58:57 -05:00
Magnus Norddahl
99e263e1b3 Decal rendering to r_decal 2016-12-30 08:31:02 +01:00
Magnus Norddahl
50c525161b Move wallsprite handling to r_wallsprite 2016-12-30 08:11:06 +01:00
Magnus Norddahl
98026c5711 Move player sprite handling to r_playersprite 2016-12-30 07:51:39 +01:00
Magnus Norddahl
bf237799bf Move particle drawing to r_particle 2016-12-30 07:26:25 +01:00
Magnus Norddahl
f133b4caa4 Move vissprite to its own file 2016-12-30 07:15:10 +01:00
Magnus Norddahl
80e369541a Move visplane_t to its own file 2016-12-30 06:42:20 +01:00
Magnus Norddahl
775deeb151 Move variables closer to their correct location 2016-12-30 06:15:10 +01:00
Magnus Norddahl
41d0e7c663 Move portal drawing to r_portal 2016-12-30 06:08:47 +01:00
Magnus Norddahl
60c0dcc3c7 Move openings to r_memory 2016-12-30 05:35:25 +01:00
Magnus Norddahl
74e1955afa Move more to r_draw_segment 2016-12-30 05:01:42 +01:00
Magnus Norddahl
d3056d2679 Split poly_triangle into multiple files 2016-12-30 02:20:24 +01:00
Christoph Oelckers
a000b57204 - fixed player visibility determination by tracking and translating the actual actor position in addition to the camera position through portals. I hope this fixes the randomly appearing player sprites for good. 2016-12-29 22:19:09 +01:00
Rachael Alexanderson
308e768903 Merge https://github.com/coelckers/gzdoom 2016-12-29 13:57:50 -05:00
Christoph Oelckers
f52744e8a4 - fixed: When looking through a plane mirror the portal plane exclusion logic needs to be flipped, because the mirror inverts the vertical view direction. 2016-12-29 19:54:38 +01:00
Christoph Oelckers
125a30307a Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-29 14:34:13 +01:00
Christoph Oelckers
a3070e8846 - fixed: FGLTexture::CreateTexBuffer needs to be more careful with setting the texture's translucency information.
First, if it has already been determined the value should be left alone and second, for translated textures the generated buffer is inconclusive so in that case it cannot be used at all.
2016-12-29 14:33:53 +01:00
Christoph Oelckers
4f21ff275c - removed duplicate portal_ceil_alpha and portal_floor_alpha UDMF properties.
These already existed as 'alphafloor' and 'alphaceiling' and got accidentally duplicated by Eternity.
2016-12-29 11:44:07 +01:00
Rachael Alexanderson
07f22a090c Merge https://github.com/coelckers/gzdoom 2016-12-28 21:16:14 -05:00
Rachael Alexanderson
605a60d1d6 - Removed headers from c_functions.cpp, added forward struct declaration for FTranslatedLineTarget in c_functions.h. 2016-12-29 01:30:54 +01:00
Rachael Alexanderson
cab1b60ffc - Some cleanups for c_cmds.cpp, exported some functions as well as functions used for "print/targetinv" to their own file. 2016-12-29 01:30:54 +01:00
Christoph Oelckers
d748b6ad70 - added explicit fog density as a sector property, accessible through UDMF and ACS.
- allow changing sector glow information through ACS.
2016-12-29 01:12:17 +01:00
Magnus Norddahl
b615b1b497 Move some draw segment functions to r_draw_segment 2016-12-29 01:06:24 +01:00
Rachael Alexanderson
de896920b4 Merge https://github.com/coelckers/gzdoom 2016-12-28 17:38:00 -05:00
Christoph Oelckers
11bea8249a . added SetMusicVolume script function. 2016-12-28 21:41:06 +01:00
Christoph Oelckers
02c3b3613f - added UDMF properties to set glows per sector.
- for explicitly defined glows, use the one for the current animation frame, if an animated texture is active. For default glows it will still use the base texture's to avoid inconsistencies.
2016-12-28 21:35:42 +01:00
Rachael Alexanderson
972bdc2001 Merge https://github.com/coelckers/gzdoom 2016-12-28 12:41:18 -05:00
alexey.lysiuk
5dff3d5af0 Do not apply viewport scaling in fullscreen mode
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:24 +02:00
alexey.lysiuk
efaaefcb70 gl_scale_viewport CVAR is now saved to config file
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:10 +02:00
ZZYZX
ed2b73833b Enabled simple intermission for hubs 2016-12-28 14:06:28 +01:00
Magnus Norddahl
18a551f936 Move all clip segment handling to r_clip_segment and make its working data private 2016-12-28 12:07:55 +01:00
alexey.lysiuk
c03cb2c97a Added support for long lines in config file
Single line key-value pair can now exceed 255 characters
Long path names and additional command line parameters (macOS only) are no longer cut off
2016-12-28 11:38:38 +01:00
Magnus Norddahl
1b284ecf3b Create files for clip, draw and portal segments 2016-12-28 07:04:13 +01:00
Magnus Norddahl
b2a0f02f68 Remove unused prototype 2016-12-28 02:21:32 +01:00
Magnus Norddahl
4d906c50f4 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-28 01:56:45 +01:00
Magnus Norddahl
db53d9c706 Remove r_local header 2016-12-28 01:56:37 +01:00
Rachael Alexanderson
92e4eef553 Merge https://github.com/coelckers/gzdoom 2016-12-27 19:37:53 -05:00
Magnus Norddahl
259d724106 Move R_GetColumn to walldraw and create header file 2016-12-28 01:35:22 +01:00
Christoph Oelckers
6322c81719 - added UDMF_fields for sector plane reflectiveness. 2016-12-28 01:09:42 +01:00
Magnus Norddahl
f8010854c3 Move colfunc and friends to r_draw and change them to member function pointers 2016-12-27 23:53:47 +01:00
Christoph Oelckers
80f1661931 - fixed: The player checking code after loading a savegame was not changed when tracer was replaced with alternative for holding the player's unmorphed version. 2016-12-27 22:44:22 +01:00
Christoph Oelckers
721b2fb21d - fixed: Instant floor movers should disable z-interpolation for all affected actors. 2016-12-27 21:16:42 +01:00
Christoph Oelckers
8708c69f83 - added GetClassName script function. 2016-12-27 19:25:55 +01:00
Christoph Oelckers
2478cd0467 - changed locking mechanism for ACS strings.
It will now store the level numbers that lock a string instead of just incrementing a counter. This should make it more robust because each level can lock a string only once and some possible leftover garbage data won't be able to cause a lock decrease when a savegame is being reloaded.
2016-12-27 18:53:30 +01:00
Rachael Alexanderson
bad3a130cf Merge https://github.com/coelckers/gzdoom 2016-12-27 12:21:15 -05:00
Christoph Oelckers
e956d19769 - preserve the factor set by I_SetMusicVolume when starting new music. 2016-12-27 15:44:06 +01:00
Christoph Oelckers
4bf19fb665 - don't let monsters block teleports of non-solid inventory items. Doom's code never considered such a possibility and would consider the move blocking, despite the item being non-solid. 2016-12-27 15:34:44 +01:00
Christoph Oelckers
4da8b1a3b7 - delete r_ headers from portal.cpp. 2016-12-27 13:04:46 +01:00
alexey.lysiuk
2f9d5e285d Removed deprecated code from macOS SDL backend 2016-12-27 13:18:33 +02:00
alexey.lysiuk
186c7b8814 Removed deprecated code from macOS SDL backend 2016-12-27 12:56:21 +02:00
alexey.lysiuk
96228fd645 Fixed compilation of non-Windows backends 2016-12-27 12:55:26 +02:00
Magnus Norddahl
a94fee0e5d Rename R_ActiveDrawers to R_Drawers 2016-12-27 08:54:37 +01:00
Magnus Norddahl
272b302294 Create SWPixelFormatDrawers for pal and bgra drawers 2016-12-27 08:47:51 +01:00
Christoph Oelckers
d5032663ad - fixed: All missiles which can bounce off actors need the CANPASS/PASSMOBJ flag so setting this in the 'bouncetype' property is insufficient, it needs to be done when the actor has been completely parsed. 2016-12-27 02:12:27 -05:00
Magnus Norddahl
398001b6cb Move code into R_UpdateFuzzPos 2016-12-27 07:45:10 +01:00
Magnus Norddahl
4554cf45f1 Remove duplicate prototype entry 2016-12-27 07:41:30 +01:00
Magnus Norddahl
325fa20a02 Add R_DrawFogBoundaryLine and move R_DrawFogBoundary to a source file closer to its correct location 2016-12-27 07:40:35 +01:00
Magnus Norddahl
f1cd91922b Move to correct header 2016-12-27 07:32:21 +01:00
Magnus Norddahl
5a7765910f Merge R_SetupSpanBits with R_SetSpanSource and rename it to R_SetSpanTexture 2016-12-27 07:30:29 +01:00
Magnus Norddahl
4d0cc9e7bb Remove old voxel slab drawer 2016-12-27 07:25:11 +01:00
Magnus Norddahl
46e9a0cdf9 Remove zdoom ifdef version as we aren't doing merges from there anymore 2016-12-27 07:20:22 +01:00
Magnus Norddahl
49903af394 Remove 4 column wall drawers 2016-12-27 07:18:04 +01:00
Magnus Norddahl
2659090e1c Move renders into folders 2016-12-27 06:31:55 +01:00
Magnus Norddahl
e27702481d Fix warning 2016-12-27 05:12:10 +01:00
Magnus Norddahl
e91c5ac54d Merge branch 'master' into OverlayExtension10 2016-12-27 04:32:13 +01:00
Magnus Norddahl
bafc985282 Fix pal particle performance issue 2016-12-27 03:31:34 +01:00
Magnus Norddahl
66b154a475 Voxel mipmap selection 2016-12-27 03:07:50 +01:00
Christoph Oelckers
a37db1c4d7 - fixed: All missiles which can bounce off actors need the CANPASS/PASSMOBJ flag so setting this in the 'bouncetype' property is insufficient, it needs to be done when the actor has been completely parsed. 2016-12-27 00:32:54 +01:00
Rachael Alexanderson
6b2ddb0f3a Merge https://github.com/coelckers/gzdoom 2016-12-26 17:26:55 -05:00
Christoph Oelckers
e9574276a5 - added CanCollideWith calls to a few more places where they are needed. 2016-12-26 22:33:07 +01:00
Rachael Alexanderson
d8df255438 Merge https://github.com/coelckers/gzdoom 2016-12-26 15:46:44 -05:00
Rachael Alexanderson
7ea4c9508f Merge https://github.com/rheit/zdoom 2016-12-26 15:46:17 -05:00
Major Cooke
ff3487d389 Merge branch 'OverlayAlpha' into OverlayExtension9
# Conflicts:
#	src/p_pspr.cpp
#	src/r_draw.cpp
#	wadsrc/static/actors/actor.txt
#	wadsrc/static/actors/constants.txt
2016-12-26 14:37:22 -06:00
Christoph Oelckers
58316c821d - fixed: The pitch shifting info for sounds needs to be taken from the sfxinfo currently being played, not the one it links to. 2016-12-26 21:07:21 +01:00
Christoph Oelckers
5327055495 - fixed: Source for nailbomb damage in A_Explode should be the caller's target, if defined and the caller is a missile. 2016-12-26 20:37:04 +01:00
Christoph Oelckers
b9f7e0eb36 Merge remote-tracking branch 'remotes/zdoom/master' 2016-12-26 19:33:16 +01:00
Edoardo Prezioso
3f7c057f92 - Fixed heap use after free issue with lights. 2016-12-26 18:23:17 +01:00
Christoph Oelckers
625e97dfd1 - fixed: UpdateRenderSectorList needs to reset the sector before traversing floor portals. 2016-12-26 16:22:28 +01:00
alexey.lysiuk
3fe3abc51e Fixed endianness issue in script VM
See https://forum.zdoom.org/viewtopic.php?t=54549
2016-12-26 09:36:01 -05:00
alexey.lysiuk
aeee80c8fa Fixed endianness issue in script VM
See https://forum.zdoom.org/viewtopic.php?t=54549
2016-12-26 15:31:59 +01:00
Christoph Oelckers
470a96d3b2 - fixed: non-damaging attacks should not cause infighting, unless some relevant pain flags are being set. 2016-12-26 08:18:25 -05:00
Rachael Alexanderson
80228562b3 - Fixed problems with FillSub and FillRevSub drawers. 2016-12-26 08:05:04 -05:00
Rachael Alexanderson
5d6d75385e - pulled some things out of the loop for the fill drawer 2016-12-26 07:41:52 -05:00
Christoph Oelckers
be508bc670 - adjust to using msecnode_t's. 2016-12-26 12:11:55 +01:00
Christoph Oelckers
9cb2a8f931 Merge remote-tracking branch 'remotes/zdoom/master' 2016-12-26 12:04:13 +01:00
Christoph Oelckers
7f72de6b71 - use msecnode_t's for the touching_renderlists instead of std::forward_list.
- preparations for checking the proper sector to get a sprite's lighting info.
2016-12-26 11:58:08 +01:00
Magnus Norddahl
100b80143a Add basic voxel drawing showing how to use the input data structures 2016-12-26 05:09:01 +01:00
ZZYZX
6f16597668 GL renderer now uses RenderRadius links too 2016-12-25 23:46:03 +01:00
Christoph Oelckers
19856d6ccb Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-25 22:56:35 +01:00
Christoph Oelckers
c5d75c18b4 - make gl_finishbeforeswap more useful by handling the case where it causes stalls on NVidia. 2016-12-25 22:56:18 +01:00
Christoph Oelckers
04ff4282ef - removed the global 'sector_list' variable.
If the calling code wants to recycle this it will have to pass a container variable to AActor::UnlinkFromWorld and AActor::LinkToWorld.
This was changed because keeping such data in a global variable is dangerous for a set of functions that can be called from a script.
Note that the scripted versions do not yet support saving of the touching_sectorlist.
2016-12-25 22:40:26 +01:00
Christoph Oelckers
5723f10cc3 - use 'for' iterator syntax to check touching_renderlists. 2016-12-25 19:37:07 +01:00
Christoph Oelckers
663b305eec - include proper headers for std::find. 2016-12-25 19:25:19 +01:00
Christoph Oelckers
2ce55e5416 - fixed: non-damaging attacks should not cause infighting, unless some relevant pain flags are being set. 2016-12-25 19:19:49 +01:00
alexey.lysiuk
2901e2d834 Added missing Intel intrinsics #include 2016-12-25 17:43:13 +02:00
Christoph Oelckers
89b7cf4262 - fixed: RenderRadius needs to be serialized.
- fixed: CustomBridge can be visible so it shouldn't be completely excluded from the render lists.
2016-12-25 14:35:35 +01:00
Christoph Oelckers
ad2993950a - fixed light level calculation for low light levels. 2016-12-25 12:58:29 +01:00
ZZYZX
44c19b5ad9 Changed zero RenderRadius logic - negative values now used for 'no rendering', restored old logic with max(radius, renderradius) 2016-12-25 13:40:21 +02:00
ZZYZX
40a180c15f Changed zero RenderRadius logic - thing should still link to own sector 2016-12-25 13:37:45 +02:00
ZZYZX
fcd8a0ce92 Reverted STYLE_None change to P_LinkRenderSectors, implemented zero RenderRadius that effectively disables rendering of an actor entirely 2016-12-25 13:35:03 +02:00
ZZYZX
98657f6844 STYLE_None actors are no more subject to P_LinkRenderSectors 2016-12-25 13:19:45 +02:00
ZZYZX
87b23d160b Ported RenderRadius and related code from gzdoom branch 2016-12-25 13:09:32 +02:00
Magnus Norddahl
66b9e2208d Draw a rect where the voxels would be 2016-12-25 11:07:50 +01:00
Magnus Norddahl
5ec989d563 Make particles always square 2016-12-25 08:08:01 +01:00
Magnus Norddahl
08fd81802d Remove useRt 2016-12-25 08:01:21 +01:00
Magnus Norddahl
6f86c11058 DrawWallAdd1Pal cannot do dynamic lights 2016-12-25 07:56:09 +01:00
Magnus Norddahl
a76cd35333 Dynamic lights to the flats in pal mode 2016-12-25 07:49:44 +01:00
Magnus Norddahl
d428634c58 Add dynlights to pal wall drawers 2016-12-25 07:15:17 +01:00
Magnus Norddahl
ea92b95483 Change define to if statement 2016-12-25 06:00:18 +01:00
Magnus Norddahl
ced7bdf94a Remove rt drawer family and the infrastructure supporting it 2016-12-25 05:46:16 +01:00
Magnus Norddahl
57593adeb0 Simplify ESPSResult to a boolean 2016-12-25 05:15:23 +01:00
Magnus Norddahl
b0febec986 Removed r_columnmethod as its performance gains are too insignificant to justify its complexity on the codebase 2016-12-25 05:05:53 +01:00
Rachael Alexanderson
8231032f89 - fixed a crash
- tried to make MAKETRANSDOT algorithm more consistent with original
2016-12-24 19:22:31 -05:00
Rachael Alexanderson
564bfe482c Merge branch 'zdoom-rgb666-take3' of https://github.com/raa-eruanna/qzdoom into qzdoom-rgb666
# Conflicts:
#	src/r_draw.cpp
#	src/r_plane.cpp
#	src/r_things.h
#	src/v_draw.cpp
#	src/v_video.cpp
2016-12-24 19:00:28 -05:00
Rachael Alexanderson
6a550c89a9 Merge https://github.com/rheit/zdoom 2016-12-24 18:22:14 -05:00
Christoph Oelckers
4ee2d4a1a4 - print proper information in zcc_compile.cpp. 2016-12-24 23:52:52 +01:00
alexey.lysiuk
5d8d15ecc3 Fixed additional format string warning reported by GCC/Clang
See https://forum.zdoom.org/viewtopic.php?t=54541
2016-12-24 23:51:08 +01:00
alexey.lysiuk
e825918451 Fixed format strings warnings reported by GCC/Clang
See https://forum.zdoom.org/viewtopic.php?t=54541 and https://forum.zdoom.org/viewtopic.php?t=54709
2016-12-24 23:51:08 +01:00
Rachael Alexanderson
62e093a7da - fixed: mistyped r_columnmethod instead of r_blendmethod in a span drawer. 2016-12-24 14:10:51 -05:00
Rachael Alexanderson
9ece249dbb - Reimplemented rgb555 into burn/crossfade in f_wipe.cpp. 2016-12-24 12:42:27 -05:00
Rachael Alexanderson
785b58f57a - Reimplemented rgb555 for drawers in r_drawt_pal.cpp 2016-12-24 12:30:45 -05:00
Christoph Oelckers
54822c29eb - changed pitch math in P_RailAttack to avoid having to deal with bogus math throughout the entire function. Effectively the only thing this changes is passing the correct pitch to P_DrawRailTrail. 2016-12-24 18:24:44 +01:00
Christoph Oelckers
39d2945016 fixed two more places where a negative pitch was calculated:
- A_CustomRailgun when missing the target.
 - A_FaceMovementDirection which ironically had some bad compensation inside. It is not restored to how the code looked in 2.8.1.
2016-12-24 18:10:37 +01:00
Rachael Alexanderson
101108877a - Reimplemented rgb555 into all drawers in r_draw_pal.cpp including span drawers. All that remains now are the 4col drawers in r_drawt_pal.cpp. 2016-12-24 11:40:15 -05:00
Christoph Oelckers
287974968a - renamed A_FireCustomMissile and added a deprecated compatibility wrapper to deal with the inverted pitch this function used. 2016-12-24 16:34:45 +01:00
Rachael Alexanderson
80482e98a3 - renamed r_blendmode to r_blendmethod
- did another drawer
2016-12-24 10:15:02 -05:00
Rachael Alexanderson
4e100fc9a1 Merge branch 'master' of https://github.com/rheit/zdoom into zdoom-rgb666-take3 2016-12-24 10:11:53 -05:00
Christoph Oelckers
b807f50bde - fixed: AimBulletMissile used negative pitch to calculate the projectile's trajectory, presumably because A_Face calculated it wrong in recent devbuilds. 2016-12-24 15:10:07 +01:00
Christoph Oelckers
d4c0ee9e43 - address bad use of pitch in A_CustomMissile.
This function calculated everything correctly but ultimately set the vertical velocity wrong. Most importantly this meant that the actual velocity vector and actor pitch - if CMF_SAVEPITCH was used - did not match.
Since this bug has been present since the pitch parameter was added, this deprecates A_CustomMissile and replaces it with a properly implemented A_SpawnProjectile function and handling the compatibility case with a new flag and a scripted wrapper function.
All internal uses of A_CustomMissile have been replaced as well.
2016-12-24 14:46:34 +01:00
Magnus Norddahl
b04ac8f346 Rounded particles 2016-12-24 14:45:56 +01:00
Rachael Alexanderson
88b6038999 - More rgb555 reimplements. 2016-12-24 04:35:05 -05:00
Rachael Alexanderson
9d2128a4f4 - Fixed compile errors. 2016-12-24 04:01:50 -05:00
Rachael Alexanderson
8de11ee81a - Begin reimplementing rgb555 again. 2016-12-24 03:52:18 -05:00
Rachael Alexanderson
4755d56bbe Merge https://github.com/rheit/zdoom 2016-12-24 02:31:38 -05:00
Rachael Alexanderson
fa622710f1 Merge https://github.com/coelckers/gzdoom 2016-12-24 02:31:36 -05:00
Magnus Norddahl
52892cb7ef Move particle drawing to a command to prevent pipeline stalls 2016-12-24 01:50:54 +01:00
Magnus Norddahl
2bb2395569 Add menu option to enable dynamic lights (independent of the OpenGL setting so that you can have it on in OpenGL and off in Software) 2016-12-23 23:44:52 +01:00
Magnus Norddahl
8cc4c8a192 Merge remote-tracking branch 'upstream/master' into zdoom-rgb666-take2
# Conflicts:
#	src/r_draw_pal.cpp
2016-12-23 21:27:50 +01:00
Rachael Alexanderson
821b10a254 - Implementing RGB666 colormatching to replace less precise RGB555 in some parts of the code. 2016-12-23 11:41:10 -05:00
Christoph Oelckers
78737f9bc7 - fixed: The cycler for a pulse light needs to be reinitialized when new light properties get applied.
- do not clamp the cycler's output to a byte.
2016-12-23 15:25:39 +01:00
alexey.lysiuk
2327359d74 Fixed sector floor offset compatibility parameter after floatification
See https://forum.zdoom.org/viewtopic.php?t=54690
2016-12-23 10:21:53 +01:00
Magnus Norddahl
175701ac5d Fix lights not being copied when a visplane is duplicated 2016-12-23 03:54:57 +01:00
Magnus Norddahl
b0a96af220 Improve dynamic light performance by only including lights if they touch a column or span 2016-12-22 21:34:03 +01:00
Christoph Oelckers
a825d1d92f Merge branch 'ssao' of https://github.com/dpjudas/dpDoom 2016-12-22 12:40:57 +01:00
Rachael Alexanderson
fa66ca214e Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/win32/zdoom.rc
2016-12-22 06:24:47 -05:00
Christoph Oelckers
3b823fa3eb Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/compatibility.txt
2016-12-22 11:29:44 +01:00
Rachael Alexanderson
3810328193 - More options for the IWAD picker.
- Rearranged some options around a bit.
- Disable auto load is now an archived cvar.

# Conflicts:
#	src/win32/zdoom.rc
2016-12-22 11:26:23 +01:00
Rachael Alexanderson
cb2c1e591a - Added Zandronum-specific copyright notices for IWAD picker. 2016-12-22 11:26:23 +01:00
Rachael Alexanderson
5fa6094e4f - Changed QZDoom messages to GZDoom. 2016-12-22 11:26:23 +01:00
Rachael Alexanderson
240f973f0c - Implemented Gez's suggestion for disable autoload checkbox on the IWAD selection box.
(cherry picked from commit 578e3270e2)
2016-12-22 11:26:23 +01:00
Rachael Alexanderson
8a9ea2eda8 - Mostly implemented Zandronum's IWAD selection box. Currently, this change only affects Windows.
(cherry picked from commit b3bed807de)
2016-12-22 11:26:23 +01:00
Christoph Oelckers
36f87b7135 - removed gl_light_ambient.
This really serves no use anymore and is mostly a remnant of old times with dark CRT monitors. The default ambient level was set at 20, meaning a sector light level of 40. This is a value actual levels rarely get to, except when using some lighting effects - but it's for those that the ambient clamping did the most damage.
2016-12-22 11:14:13 +01:00
alexey.lysiuk
7dd51d6d1c Fixed infinite execution of error CCMD
https://forum.zdoom.org/viewtopic.php?t=54659
2016-12-22 10:33:21 +01:00
Rachael Alexanderson
ea1aeb3cdc - reversed sub and revsub in LLVM drawers 2016-12-22 03:35:59 -05:00
Magnus Norddahl
4f7c1dfdf5 Dynamic lights on flats 2016-12-22 08:42:21 +01:00
Magnus Norddahl
fcbacf8cac Plane dynlight setup 2016-12-22 07:06:18 +01:00
Magnus Norddahl
5cfe0cc955 Remove some whitespace 2016-12-22 05:20:53 +01:00
Magnus Norddahl
4551052174 Fix dynamic light calculations to be unaffected by wall clipping 2016-12-22 03:02:58 +01:00
Magnus Norddahl
22f07b06cd Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-21 18:38:09 +01:00
Magnus Norddahl
62716c3d91 Fix drawing dormant lights 2016-12-21 18:38:01 +01:00
Rachael Alexanderson
cd3fc2d6b8 - More options for the IWAD picker.
- Rearranged some options around a bit.
- Disable auto load is now an archived cvar.
2016-12-21 05:11:29 -05:00
Rachael Alexanderson
dcd0ab98cc - Added Zandronum-specific copyright notices for IWAD picker. 2016-12-21 02:18:49 -05:00
Magnus Norddahl
4e56c9a41a Hooked up dynamic light on walls 2016-12-21 07:33:28 +01:00
Rachael Alexanderson
578e3270e2 - Implemented Gez's suggestion for disable autoload checkbox on the IWAD selection box. 2016-12-20 23:03:06 -05:00
Rachael Alexanderson
da0f2b47b1 Merge https://github.com/rheit/zdoom 2016-12-20 22:29:02 -05:00
Magnus Norddahl
8a3db6c003 Dynamic lights? Did anyone say DYNAMIC LIGHTS? 2016-12-20 23:21:34 +01:00
Rachael Alexanderson
b3bed807de - Mostly implemented Zandronum's IWAD selection box. Currently, this change only affects Windows. 2016-12-20 13:31:38 -05:00
Christoph Oelckers
b15e620ea8 - fixed: Phased light setup did not check if a sector had been already visited and could cause infinite recursion. 2016-12-20 18:27:24 +01:00
Rachael Alexanderson
8a1ac909b4 Merge https://github.com/rheit/zdoom 2016-12-20 06:57:53 -05:00
alexey.lysiuk
9f6d8d2ba7 Set goal values in decal stretcher to zeros even if they are not used
See https://forum.zdoom.org/viewtopic.php?t=54592
2016-12-20 12:19:12 +01:00
alexey.lysiuk
a0595f17e8 Serializer now writes floating point zero if special value is encountered
See https://forum.zdoom.org/viewtopic.php?t=54592
2016-12-20 12:19:12 +01:00
Magnus Norddahl
452e0dcfc9 Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_draw.cpp
#	src/r_draw.h
#	src/r_plane.cpp
2016-12-20 02:10:10 +01:00
Magnus Norddahl
2676ca1284 Rename wall drawer args and functions to closer match the general naming convention 2016-12-19 21:39:16 +01:00
Rachael Alexanderson
5ffee5231f - Hooking the new RGB256k drawer to triangle drawer in place of RGB32k. 2016-12-19 11:35:43 -05:00
Rachael Alexanderson
978152f483 Merge https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/compatibility.txt
2016-12-19 08:16:41 -05:00
Rachael Alexanderson
5d85990d5f - Implementing RGB666-to-Palette colormatching for textures. 2016-12-19 13:46:08 +01:00
alexey.lysiuk
94f7bef2ff Added compatibility parameter to set sector special 2016-12-19 12:18:43 +01:00
Rachael Alexanderson
a4944067e8 - fixed: whoops, fixed quite a merge faux pas there. 2016-12-18 20:57:27 -05:00
Rachael Alexanderson
bedf4bccea Merge commit '1fa37aaeb79d3ab1e5d4aa2b4376130e9f4826fb' 2016-12-18 20:55:45 -05:00
Rachael Alexanderson
134825a8c8 Merge commit '2fea46a719b2084bde7d9e9e37f9a26a5a59c1ab' 2016-12-18 20:55:00 -05:00
Christoph Oelckers
1fa37aaeb7 - fixed code generation for if statements with empty 'true' part. For those the jump statement backpatching was not done correctly. 2016-12-18 14:09:16 +01:00
Christoph Oelckers
8dd91f7129 - added a missing null pointer check to FxIfStatement::Emit. 2016-12-18 12:18:03 +01:00
Major Cooke
1bcebb091a Added option to check the location for resizing, changing the return into a bool. 2016-12-18 11:59:24 +01:00
Major Cooke
3023af8223 - Added A_SetSize(double newradius, double newheight = -1).
- Changes the calling actor's radius and height.
2016-12-18 11:59:24 +01:00
Magnus Norddahl
2fea46a719 Removed leftovers from QZDoom 2016-12-18 11:58:32 +01:00
Magnus Norddahl
9ac7a07be6 - Set colormap light info using R_SetColorMapLight and R_SetDSColorMapLight rather than manually calculating it
- Move texture and span management into R_DrawMaskedColumn
2016-12-18 11:58:32 +01:00
Christoph Oelckers
98e549246d Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-17 17:39:57 +01:00
Magnus Norddahl
6e8174d9b4 More psprite stuff 2016-12-16 23:02:34 +01:00
Magnus Norddahl
ecebeed296 Fix player sprites disappearing when a texture camera is visible 2016-12-16 22:16:24 +01:00
Magnus Norddahl
b5f3f63b93 Minor bug fixes 2016-12-16 20:52:56 +01:00
Rachael Alexanderson
ace380d5fc Merge https://github.com/rheit/zdoom 2016-12-16 06:39:16 -05:00
Christoph Oelckers
7ca5851f78 - fixed a second spot in RapidJSON where a bad NaN check was done. 2016-12-16 08:05:29 +01:00
Magnus Norddahl
6d295a25c2 Minor tweaking 2016-12-16 06:21:17 +01:00
Magnus Norddahl
9b98c4d512 Fix out of bounds bug 2016-12-16 05:01:49 +01:00
Rachael Alexanderson
0b4fd6c766 Merge https://github.com/rheit/zdoom 2016-12-15 20:07:10 -05:00
Magnus Norddahl
adb65ce72a Remove TriDrawVariant 2016-12-16 00:35:45 +01:00
Christoph Oelckers
9ef551b84a - fixed: Start items for players were never actually checked for their type and could cause crashes if non-inventories were given. 2016-12-16 00:28:16 +01:00
Magnus Norddahl
99435f5018 Remove TriDrawVariant from LLVM codegen 2016-12-15 23:29:31 +01:00
Rachael Alexanderson
8fede44c3d - fixed: Some RenderStyles would crash ZDoom. 2016-12-15 18:55:20 +01:00
Rachael Alexanderson
e556fb16bd Merge https://github.com/rheit/zdoom 2016-12-15 03:42:58 -05:00
Magnus Norddahl
c3cb9d20fb Fix uncleared buffer when upscaling the cursor 2016-12-15 09:30:45 +01:00
Magnus Norddahl
c643238b86 Rewrote the LLVM triangle drawer to use the data from the triangle setup function 2016-12-15 01:33:26 +01:00
Magnus Norddahl
145c0a6d9e Prepare triangle setup to be used by LLVM drawers 2016-12-13 19:26:13 +01:00