Commit Graph

10263 Commits

Author SHA1 Message Date
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
Magnus Norddahl be357e1c98 Triangle setup function for subsector based drawing 2016-12-13 12:57:04 +01:00
Rachael Alexanderson dfc43bcb83 Merge https://github.com/rheit/zdoom 2016-12-12 20:22:55 -05:00
Magnus Norddahl c1e2c25907 Stencil close 2016-12-13 02:13:48 +01:00
Magnus Norddahl 022368d349 Stencil write 2016-12-13 00:55:29 +01:00
Magnus Norddahl 5277d4ae28 Diminishing light test 2016-12-12 22:42:42 +01:00
Magnus Norddahl 9cfee05102 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-12 21:34:29 +01:00
Magnus Norddahl afb946d586 Added texturing 2016-12-12 21:34:22 +01:00
Rachael Alexanderson 5e171824ac - "myinfo" - executes info on oneself
- "targetinv" - executes "printinv" at current crosshair target
2016-12-12 15:22:56 +01:00
Rachael Alexanderson b50ff986a6 Merge https://github.com/rheit/zdoom 2016-12-12 08:26:19 -05:00
Magnus Norddahl 79ad5d2a2a Write out subsector info 2016-12-12 12:39:25 +01:00
Magnus Norddahl e016a96efe Use less triangles for the sky 2016-12-12 12:38:46 +01:00
Christoph Oelckers 56a42a26b2 - fixed: DPSprite's constructor did not initialize the 'Sprite' member variable. This can cause problems if some weapon starts with a placeholder sprite in the first state. 2016-12-12 12:32:48 +01:00
Magnus Norddahl bee363d79a Add stencil testing 2016-12-12 10:44:34 +01:00
Magnus Norddahl b0f3686bc6 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-12 01:34:00 +01:00
Magnus Norddahl b2bed88092 SSE speed test 2016-12-12 01:33:51 +01:00
Rachael Alexanderson 1a111f48bc Merge https://github.com/rheit/zdoom 2016-12-11 16:46:08 -05:00
Christoph Oelckers 77d9978b27 - fixed: Non-Actors cannot act as activators for action specials and must pass null when acticating one. 2016-12-11 21:39:35 +01:00
Christoph Oelckers e61ae9a1f9 - pass a proper self pointer to BuiltinCallActionSpecial instead of making bogus assumptions about a function's parameters. 2016-12-11 21:32:19 +01:00
Magnus Norddahl 2af95965ef Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-11 17:41:07 +01:00
Magnus Norddahl 21341b92a5 Experiment with splitting triangle block coverage from block drawing 2016-12-11 17:39:44 +01:00
Christoph Oelckers 71fd949f26 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-11 14:45:42 +01:00
Christoph Oelckers b43609c701 - fixed: The weapon sprite fudge offset should not be added when just interpolating the position and calculating the delta. 2016-12-11 14:45:20 +01:00
Christoph Oelckers 40355f6298 - allow A_M_Refire to be called without state label because this seems to have been used in existing DECORATE mods. This way of calling it will revert to the old behavior of jumping one state forward instead of to a state label. 2016-12-11 13:07:25 +01:00
Christoph Oelckers aa758159c9 - renamed Actor.NoiseAlert to Actor.SoundAlert to deconflict with the same-named action special. 2016-12-11 12:10:05 +01:00
Christoph Oelckers d2d960672c Revert "Fixed: A_CustomMissile's CMF_AIMDIRECTION's pitch calculations were also backwards."
This reverts commit b17bd65279.

This would break too many existing mods.
2016-12-11 11:39:46 +01:00
Rachael Alexanderson 4eef1d99ee Merge https://github.com/rheit/zdoom 2016-12-10 15:46:35 -05:00
Christoph Oelckers 952e47cfe4 - renamed internal MELEERANGE constant to deconflict with Actor's MeleeRange member. 2016-12-10 16:36:19 +01:00
Rachael Alexanderson c48b528824 Merge https://github.com/rheit/zdoom 2016-12-10 08:04:51 -05:00
Edoardo Prezioso d92a814e8c - Fixed wrong argument format in voxeldef parser code.
It got revealed by the GCCPRINTF format addition to FScanner::ScriptMessage.
2016-12-10 14:02:12 +01:00
Edoardo Prezioso 8036719f45 - Add GCCPRINTF to ZScript compiler code.
This will help spotting errors in code using ZCCCompiler::{Warn,Error}.
2016-12-10 14:02:12 +01:00
Edoardo Prezioso 810c632beb - Added missing GCCPRINTF to FileWriter::Printf.
Luckily, this has shown no problems.
2016-12-10 14:02:12 +01:00
Edoardo Prezioso 45e5e5c6ee - Add missing GCCPRINTF to FraggleScript script_error function.
This will help spotting errors inside FraggleScript.
2016-12-10 14:02:12 +01:00
Edoardo Prezioso d4a674740e - Add missing GCCPRINTF to timidity cmsg function.
Luckily, this has shown no problems.
2016-12-10 14:02:12 +01:00
Edoardo Prezioso b78b8662dc - Add missing GCCPRINTF in scanner code.
This will help spotting erroneous usage of FScanner::{ScriptError,ScriptMessage} and FScriptPosition::Message.
2016-12-10 14:02:12 +01:00
Christoph Oelckers 7d4a5898ac - removed most inline assembly. Integer multiplication gets handled fine by all current compilers and fixed point division is too infrequently used to justify this mess.
That only leaves the Scale function which is still being used in a few places and which would create considerably worse code without assembly on 32 bit platforms. This is also far too primitive (2 or 3 assembly instructions) to claim any copyright on it, so I think m_fixed.h can now be considered free of Build-related issues. The deficated inline headers have been removed because that sole remaining function could be easily moved into m_fixed.h.
2016-12-10 13:58:18 +01:00
Christoph Oelckers 3563718049 - removed all fixed point inlines that aren't used anywhere. Note that most of the rest are only being used in one single function: R_DrawVoxel. 2016-12-10 12:12:29 +01:00
Christoph Oelckers 6c86a33f5d - fixed compilation of cursor scaling code. This reported 'std::vector' not defined, so now it just uses TArray, like the rest of ZDoom. 2016-12-10 12:05:46 +01:00
WilliamFeely 0e448a6450 Change DPI Awareness to per-monitor on Windows8.1+ 2016-12-10 10:30:23 +01:00
Magnus Norddahl 54759782b3 Fix cursor size 2016-12-10 10:29:43 +01:00
Magnus Norddahl c4ca70101d Fix console window geometry size 2016-12-10 10:29:43 +01:00
Christoph Oelckers a7c80ae858 - fixed: The message for invalid class extensions did not pass the class name to the error function. 2016-12-10 10:22:13 +01:00
Magnus Norddahl 7376414607 Added some missing static statements 2016-12-10 00:17:18 +01:00
Magnus Norddahl 012565228d Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/r_segs.cpp
2016-12-10 00:08:56 +01:00
Christoph Oelckers 902a4b839c - fixed: Type determination of multi-dimensional arrays failed, apparently because ZCCCompiler::Simplify is too broken to leave the node's ring list intact.
Instead of trying to fix Simplify, which seems to be a lost cause, the ring list now gets unraveled into an array which is immune from this type of problem.
2016-12-09 23:01:12 +01:00
Major Cooke b17bd65279 Fixed: A_CustomMissile's CMF_AIMDIRECTION's pitch calculations were also backwards. 2016-12-09 16:27:29 +01:00
Rachael Alexanderson d1379e26f5 Revert "- moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more."
This reverts commit 15cf9d36a9.
2016-12-09 09:14:01 -05:00
Christoph Oelckers c7cddcac0b - removed Build notice from r_segs.cpp because there is no Build code left in this file. 2016-12-09 15:12:16 +01:00
Magnus Norddahl 6806b498f8 Fix null pointer crash in rt column drawers if rt_init is not called before the first draw 2016-12-09 15:07:49 +01:00
Christoph Oelckers 5da9f71589 - renamed the WallMost functions because again: No more Build code -> no Build names! 2016-12-09 14:46:05 +01:00
Christoph Oelckers 56f37185b2 - let's be a bit clearer and not name non-Build stuff with Build terms.
(cherry picked from commit f3389ff5b7)
2016-12-09 08:42:35 -05:00
Rachael Alexanderson 2b5f9eebba - Correctly redid commit 34d551fe1f. 2016-12-09 08:41:59 -05:00
Christoph Oelckers 15cf9d36a9 - moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more.
(cherry picked from commit 34d551fe1f)

# Conflicts:
#	src/r_segs.cpp
2016-12-09 08:39:58 -05:00
Christoph Oelckers 356e55f0a2 - made the general entry point to the wall drawer a single function instead of requiring the caller to check for NPOT textures.
- renamed all functions in r_walldraw.cpp to give them names more in line with Doom's naming conventions. Since this is not Build code anymore it also shouldn't use Build names to avoid giving a false impression.
2016-12-09 14:25:51 +01:00
Christoph Oelckers 1ea559dea4 - removed several unused fixed point math functions from the inlines headers.
(cherry picked from commit 86909ecdb2)
2016-12-09 08:13:33 -05:00
Christoph Oelckers cfd6bcec5e - more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.

(cherry picked from commit eab06ef086)
2016-12-09 08:13:22 -05:00
Christoph Oelckers c61f30a627 - got rid of clearbuf.
This was used in only 4 places, 3 of which could easily be replaced with a memset, and the fourth, in the Strife status bar, suffering from a pointless performance optimization, rendering the code unreadable - the code spent here per frame is utterly insignificant so clarity should win here.

(cherry picked from commit 12a99c3f3c)
2016-12-09 08:13:08 -05:00
Christoph Oelckers 695b08ed4b - removed some unused functions from m_fixed.h.
- removed the Build license note from r_bsp.cpp.

This note was for code in R_AddLine which had been both refactored into several subfunctions and completely replaced with a floating point version. What is left is just some basic common math without any traits that resemble anything in Build.

(cherry picked from commit 8748b9ef6d)
2016-12-09 08:11:57 -05:00
Christoph Oelckers 5d210c64e0 - got rid of ksgn.
Because every bit of Build code that can be removed is a good thing.
This was only used in two places, one of which could be done better, the other one in the voxel drawer setup now uses a local C-inline version.

(cherry picked from commit 5536184bee)
2016-12-09 08:11:45 -05:00
Christoph Oelckers b709db3fd3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-09 13:32:05 +01:00
Christoph Oelckers 86909ecdb2 - removed several unused fixed point math functions from the inlines headers. 2016-12-09 13:27:30 +01:00
Christoph Oelckers eab06ef086 - more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.
2016-12-09 13:04:53 +01:00
Christoph Oelckers 12a99c3f3c - got rid of clearbuf.
This was used in only 4 places, 3 of which could easily be replaced with a memset, and the fourth, in the Strife status bar, suffering from a pointless performance optimization, rendering the code unreadable - the code spent here per frame is utterly insignificant so clarity should win here.
2016-12-09 12:48:10 +01:00
Christoph Oelckers f3389ff5b7 - let's be a bit clearer and not name non-Build stuff with Build terms. 2016-12-09 12:21:27 +01:00
Christoph Oelckers 34d551fe1f - moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more. 2016-12-09 11:49:18 +01:00
Magnus Norddahl b7d5110a49 Merge remote-tracking branch 'origin/rt_drawer_crashfix' into qzdoom 2016-12-09 10:36:19 +01:00
Christoph Oelckers 8748b9ef6d - removed some unused functions from m_fixed.h.
- removed the Build license note from r_bsp.cpp.

This note was for code in R_AddLine which had been both refactored into several subfunctions and completely replaced with a floating point version. What is left is just some basic common math without any traits that resemble anything in Build.
2016-12-09 10:31:17 +01:00
Magnus Norddahl 6609403fbe Fix null pointer crash in rt column drawers if rt_init is not called before the first draw 2016-12-09 10:27:18 +01:00
Rachael Alexanderson c53030d550 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-09 03:00:05 -05:00
Rachael Alexanderson c109ebf7cb Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-09 03:00:02 -05:00
Magnus Norddahl f1df400cc7 Add some portal segment culling and disable sector portals for now 2016-12-09 03:17:35 +01:00
Christoph Oelckers 5536184bee - got rid of ksgn.
Because every bit of Build code that can be removed is a good thing.
This was only used in two places, one of which could be done better, the other one in the voxel drawer setup now uses a local C-inline version.
2016-12-09 00:43:54 +01:00
Edoardo Prezioso 67b2e2f52e - Remove valgrind code, now that the assembly stuff is gone. 2016-12-08 22:44:23 +01:00
Christoph Oelckers 8a6d3b8e7b - sprites.cpp 2016-12-08 21:05:53 +01:00
Christoph Oelckers 3fbe41957d - removed GZDoom call. 2016-12-08 21:05:31 +01:00
Christoph Oelckers 6c628c9584 - changed sprite setup to work without global work variables. 2016-12-08 19:27:49 +01:00
Christoph Oelckers ee09219c08 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-08 19:08:25 +01:00
Christoph Oelckers d46ceafd35 - fixed: A_Face* had the sign for the pitch inverted (In Doom, negative pitch is upward, this had positive pitch upward.) 2016-12-08 19:07:50 +01:00
Christoph Oelckers 14400c41b6 Merge branch 'zmaster' 2016-12-08 17:53:41 +01:00
Christoph Oelckers a4d2468d34 - disable weapon interpolation for offset changes.
This has been causing far too many problems so now it will only be done if a A_Weaponoffset is either used with WOF_ADD or WOF_INTERPOLATE.
2016-12-08 17:52:59 +01:00
Christoph Oelckers 8f45664089 - fixed: Fog boundaries were not drawn on line portals.
There's two restrictions, though:

* on one-sided-line portals fog boundaries will not be drawn.
* the filler sector behind the portal may not have a sky ceiling texture. This is because the drawing code contains several sky checks which get in the way here.
2016-12-08 17:00:15 +01:00
Magnus Norddahl fb4e34d178 Fix crash reporter for 64 bit 2016-12-08 14:36:17 +01:00
Rachael Alexanderson dc07c2075f Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-08 07:47:33 -05:00
Magnus Norddahl 2854e1fe03 Fix crash reporter for 64 bit
(cherry picked from commit 3a0de8b0c714507823edaa24875bc97b39c76ab6)
2016-12-08 07:47:31 -05:00
Christoph Oelckers 715bdd69af Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-08 12:50:57 +01:00
Christoph Oelckers 3558b2234c - fixed: The dynamic light setup for walls did not portal-translate the light's coordinate.
- changed ADynamicLight::CollectWithinRadius to work iteratively to avoid the high stack overhead of 64 bit code.
2016-12-08 12:50:45 +01:00
Christoph Oelckers d741e0eb26 - fixed: P_CheckSight returned incorrect results when having to traverse the collected lines just for adding more portals to the list. 2016-12-08 11:23:08 +01:00
Magnus Norddahl dc82c19901 Fix sprites/translucent stuff being occluded by portal walls 2016-12-08 10:35:51 +01:00
Magnus Norddahl a1bb6e6b23 Only render line portals once 2016-12-08 10:29:52 +01:00
Christoph Oelckers 0720dd9816 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/p_map.cpp
2016-12-08 10:17:12 +01:00
Christoph Oelckers 66d287ea81 - fixed: Stepping through a ceiling portal on a two-sided line did not work.
- fixed: Stepping up an actor checked against the sector's own ceiling, even if it was a crossable portal.
2016-12-08 10:16:22 +01:00
Rachael Alexanderson 40b68bfea0 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/CMakeLists.txt
2016-12-07 23:12:42 -05:00
Christoph Oelckers 12f0b56036 - fixed: Stepping up through a portal did not work when the step line was two-sided. This special case was only implemented for one-sided lines
- fixed: The portal collector set bad flags for collected lower portals.
2016-12-08 00:59:04 +01:00
Christoph Oelckers 1e950d75bd - made dynamic light attenuation completely opt-in. This can be done either by setting a MAPINFO option for lights that do not automatically specify it and with a light property. The light property will always take precedence, if set. 2016-12-07 23:17:18 +01:00
Christoph Oelckers aa939ef17a Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-07 22:53:06 +01:00
Christoph Oelckers f547daccc8 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-12-07 22:51:05 +01:00
Rachael Alexanderson d12b92e926 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-07 16:49:44 -05:00
Magnus Norddahl 066158be69 Fix mirror 2016-12-07 22:26:18 +01:00
Magnus Norddahl 480b22c50e Add more checks for FTexture::TEX_Null 2016-12-07 18:59:48 +01:00
Christoph Oelckers 6adcba3c4b - fixed linkage for fuzzviewheight
- fixed naming conflict with GCC's virtual table.
2016-12-07 18:39:09 +01:00
Magnus Norddahl 9ed02a6aec Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/doomtype.h
#	src/r_drawt.cpp
2016-12-07 18:35:27 +01:00
Magnus Norddahl e3e90e1a08 Merge TC handling back into r_draw 2016-12-07 18:28:06 +01:00
Magnus Norddahl beb70d7dfa Merge remote-tracking branch 'origin/zdoom_multithreaded' into qzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/r_3dfloors.cpp
#	src/r_bsp.cpp
#	src/r_bsp.h
#	src/r_draw.h
#	src/r_main.cpp
#	src/r_main.h
#	src/r_plane.cpp
#	src/r_plane.h
#	src/r_segs.cpp
#	src/r_segs.h
#	src/r_swrenderer.cpp
#	src/r_things.cpp
#	src/r_things.h
#	src/r_thread.cpp
#	src/r_thread.h
#	src/v_draw.cpp
#	src/win32/fb_d3d9.cpp
2016-12-07 18:22:02 +01:00
Edoardo Prezioso e4c208602d - Fixed GCC/Clang warning/error. 2016-12-07 16:07:25 +01:00
Christoph Oelckers 2677976cae - r_drawt.cpp is no longer needed. 2016-12-07 15:44:25 +01:00
Christoph Oelckers a118903e3e - complete removal of assembly stuff. Nothing of this gets used anymore. 2016-12-07 14:41:21 +01:00
Christoph Oelckers ed141943e1 - removed use of BestColor_MMX because there is no measurable improvement at all on a modern system. On top of that this function does not get called nearly often enough to justify the hassle. Like DoBlending this would require hundreds of calls per frame to make any impact that would be measurable. 2016-12-07 14:40:19 +01:00
Christoph Oelckers 5910067c44 - discontinue using the MMX assembly version of DoBlending.
Some benchmarking shows that on SSE systems it only harms performance and compared to the intrinsics version the gains are too marginal for something this infrequently called.
Doing 100000 calls of DoBlending results in a 5 ms decrease of using assembly vs intrinsics on a 3.4 GHz Core i7, meaning that even on a computer that is 10x slower you can still do 1000 or so blends per frame without a speed hit.
2016-12-07 14:40:18 +01:00
Rachael Alexanderson 2200f6eda3 - fixed: compile error with SDLGLVideo class macro 2016-12-07 13:21:28 +01:00
Christoph Oelckers 42346c58d3 - disabled assembly entirely to make the MT drawer submission compile.
This still requires a review of the two non-drawer functions that get 'lost'.
2016-12-07 12:31:43 +01:00
Christoph Oelckers 1e42c6f227 - added copyright headers to two files missing them. 2016-12-07 11:40:59 +01:00
Magnus Norddahl 3ff91807b8 Move swrenderer into a namespace, add multithreading framework, and move drawers to commands 2016-12-07 09:34:49 +01:00
Christoph Oelckers 56f67726f0 - seems a Linux file was missed when refactoring the IMPLEMENT_CLASS macros. 2016-12-07 00:54:40 +01:00
Rachael Alexanderson c04e0d0df3 - fixed: Whoops. One of those danged macros got away. ;) 2016-12-06 18:44:59 -05:00
Rachael Alexanderson 8a23befd4d - Fixed abstract class macro in SDLGLFB class. 2016-12-06 18:22:36 -05:00
Rachael Alexanderson a78b713f4b Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/v_video.cpp
2016-12-06 18:19:08 -05:00
Rachael Alexanderson 3fd4d00a77 - 1.2pre tag 2016-12-06 18:13:41 -05:00
Christoph Oelckers 6271ecf2af Merge remote-tracking branch 'remotes/zdoom/master' 2016-12-06 22:47:53 +01:00
Christoph Oelckers c3fb43db3a Merge branch 'gz-zscript' 2016-12-06 22:47:37 +01:00
Christoph Oelckers 52645afb4b - for the time being, make ZScript command line switch locked so that everybody understands that it's not ready for use in released mods yet. 2016-12-06 22:42:10 +01:00
Magnus Norddahl 0083c3c5f0 Fix some typos 2016-12-06 21:41:41 +01:00
Rachael Alexanderson af330e1c41 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-06 13:55:46 -05:00
Magnus Norddahl 7441521a96 Remove comment about Build code as it is no longer correct (there's no build code left in that file) 2016-12-06 19:44:56 +01:00
Magnus Norddahl 30ddcfbc8f Add tilted plane drawer 2016-12-06 19:44:28 +01:00
Christoph Oelckers a3ae05299b - fixed: glPolygonOffset was not called for flat sprites. 2016-12-06 19:17:02 +01:00
Magnus Norddahl bec5d39ca8 ColoredSpan and FogBoundary drawers 2016-12-06 18:58:39 +01:00
Christoph Oelckers c115c0a5b2 - fixed: Random flicker lights must set up their size on the first tic they are run. If not they will keep the radius of the previous effect which may be too large. 2016-12-06 18:35:34 +01:00
Magnus Norddahl d8f805ddc9 Added DrawSlabPalCommand and rewrote the actual for loop so nobody can say it came from build.. 2016-12-06 18:31:26 +01:00
Magnus Norddahl 6054db0d86 Make puzzy pinky fuzzywuzzy about threads 2016-12-06 15:29:04 +01:00
Magnus Norddahl c16506bf59 Add thread awareness to the rt family of drawers 2016-12-06 15:13:43 +01:00
Christoph Oelckers d04c37101e Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-06 12:59:03 +01:00
Christoph Oelckers 17698467d7 - made application of dynamic lights to additively blended surfaces a MAPINFO option. In most cases this is not wanted but sometimes this can be used to good effect so it should be there as an option. 2016-12-06 12:58:45 +01:00
Christoph Oelckers fb7b49bba1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-06 12:35:22 +01:00
Christoph Oelckers e41e404143 Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript 2016-12-06 12:33:52 +01:00
Christoph Oelckers b2d1b0d7a6 - fixed: FTranslatedLineTarget::angleFromSource returned the attack angle, not the angle between actors when returned from P_LineAttack.
For most attack functions this is wrong, it's only the Hexen fighter attack needing this particular value, so it has been split up into two return values now.
2016-12-06 11:04:54 +01:00
Magnus Norddahl 6a3ae2ce45 Add Rt drawers 2016-12-06 07:23:55 +01:00
Magnus Norddahl f4172782ed Fix compile error in debug builds 2016-12-06 06:22:58 +01:00
Magnus Norddahl bd8b05e10a Fix compile error 2016-12-06 05:07:37 +01:00
Christoph Oelckers daaa6e7831 - fixed bad parameter in AActor::ModifyDamage. 2016-12-06 00:00:56 +01:00
Rachael Alexanderson ba723f5296 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-12-05 17:07:27 -05:00
Rachael Alexanderson 824705eaca - Fixed compile errors with maxviewpitch update 2016-12-05 22:32:18 +01:00
Rachael Alexanderson c53a20aea6 - Notify gamesim of maxviewpitch change. 2016-12-05 22:32:18 +01:00
Rachael Alexanderson caa0deec10 - r_polyrenderer now notifies the gamesim on change of new pitch limits. 2016-12-05 16:05:33 -05:00
Christoph Oelckers 092461ed34 - make dynamic object casts a dedicated VM instruction instead of a builtin function.
This can see some heavy use in iterators where saving several hundreds of function calls can be achieved. In these cases, using a function to do the job will become a significant time waster.
2016-12-05 14:52:34 +01:00
Magnus Norddahl 6122d982b7 Thread awareness to column drawers 2016-12-05 13:47:30 +01:00
Christoph Oelckers f722967abe - added automatic type deduction capabilities for local variables. If you type 'let variable = value;' the type of 'variable' will be deduced from the given value. This is mostly of interest for type casting pointers, because 'let p = Classtype(objectvar);' does not require writing the class type name twice. 2016-12-05 13:24:42 +01:00
Magnus Norddahl 836c7a5351 Make sky drawers thread aware 2016-12-05 13:23:30 +01:00
Magnus Norddahl 246d1625e5 Make wall drawers thread aware 2016-12-05 13:05:05 +01:00
Magnus Norddahl d8a3174330 Thread awareness to the span drawers 2016-12-05 12:47:43 +01:00
Magnus Norddahl 2ca0238e2f Add column drawers 2016-12-05 12:41:16 +01:00
Magnus Norddahl bc66682860 Add sky drawers 2016-12-05 12:16:10 +01:00
Christoph Oelckers 67bdac5227 Merge branch 'master' into zscript 2016-12-05 12:03:59 +01:00
Magnus Norddahl b755f489a3 Fix types 2016-12-05 12:01:03 +01:00
Magnus Norddahl 3b2d4fcff2 Added span drawers 2016-12-05 11:59:48 +01:00
Magnus Norddahl 645aed62d1 Add wall drawers 2016-12-05 11:38:21 +01:00
Magnus Norddahl dfbd7fd2ad Add drawer commands for pal mode 2016-12-05 10:44:24 +01:00
Magnus Norddahl 7ffab207cb Move rgba drawers to be dispatched by r_draw_tc 2016-12-05 09:22:45 +01:00
Magnus Norddahl 8a12d040de Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_draw.cpp
#	src/r_draw.h
2016-12-05 08:22:04 +01:00
Magnus Norddahl 2f3a6da295 Fix buffer overrun 2016-12-05 04:05:55 +01:00
Christoph Oelckers c0a622eb54 - removed pointless assignment. 2016-12-05 02:08:26 +01:00
Rachael Alexanderson 659abc9451 - Removed vestigial prototype. 2016-12-04 19:18:13 -05:00
Christoph Oelckers 28f9216e7b - fixed a few prototypes. 2016-12-04 19:16:40 -05:00
Christoph Oelckers f6fb27b683 - deleted rt_copy*col and rt_map*col assembly versions after running benchmarks that show inferior performance to the C++ versions on both older and newer CPUs. 2016-12-05 00:46:58 +01:00
Christoph Oelckers 86fcc3fd21 - added a heavily optimized version of vlinec4 for x64. The original loaded everything from the global variables. While this is acceptable in 32 bit code because it has an immediate register load instruction, for 64 bit this does not exist. Accessing these variables from the stack or a register doubles the execution speed of this function and on a Core i7-3770 from 2012 is even faster than the assembly version. Right now the assembly version is still there, pending a benchmark run on an older 64 bit system. 2016-12-04 23:53:36 +01:00
Christoph Oelckers f4454d2e00 - minor, but very effective optimization for R_DrawSpanMasked: Do not store the texel value in a byte. Store it in a local int variable. This allows the compiler to read it with a zero extending instruction instead of using a byte reading instruction and then later having it to convert to an int anyway. This removes one instruction from the loop which results in a 10% performance increase on 32 bit. 2016-12-04 19:32:54 +01:00
Christoph Oelckers c9caaf08c8 - removed asm version of R_DrawFuzzColumn, because even on my 9 year old laptop this was significantly slower than the C version. 2016-12-04 18:38:38 +01:00
Christoph Oelckers 13efb34964 - removed the asm version of R_DrawColumn because it doesn't provide any significant benefit.
On modern systems it is actually slower than the C version, only on old ones it is marginally faster - but the overall execution time for this function is so low that even in the worst case scenario the minor loss of performance on older systems is still not relevant.
2016-12-04 18:05:34 +01:00
Christoph Oelckers 8fd03bc4a3 - fixed a few prototypes. 2016-12-04 16:57:10 +01:00
Rachael Alexanderson c59925085c - Removal of the ASM functions resulted in failed compile when NO_ASM is set. 2016-12-04 10:05:01 -05:00
Rachael Alexanderson 4196a4d055 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-04 09:34:49 -05:00
Rachael Alexanderson 7f86a5148c Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/r_draw.cpp
2016-12-04 09:33:06 -05:00
Christoph Oelckers 93163d12f1 - removed R_DrawColumnHorizP_ASM completely after discovering that the compiler generated code isn't really anything worse than the old assembly code. This looks like something that may have been relevant 10 years ago but today it looks like there's no need for hand optimization here anymore. And since it appears to be broken anyway, off this goes. 2016-12-04 15:31:08 +01:00
Christoph Oelckers d0cf34890c - disabled R_DrawColumnHorizP_ASM because that function appears prone to crashing when rendering decals. 2016-12-04 15:01:48 +01:00
Christoph Oelckers bf0aedfd9c Merge branch 'master' of https://github.com/rheit/zdoom into zscript 2016-12-04 14:29:24 +01:00
Christoph Oelckers 5a08768eaf - removed unused label. 2016-12-04 14:29:03 +01:00
Magnus Norddahl 0ed0c47a45 Optimize capped sky rendering by writing 4 pixels at a time in 5 bands (solid, fade, texture, fade, solid) 2016-12-04 14:28:13 +01:00
Christoph Oelckers 18b953dd50 - fixed: Blasted objects should also be subject to being checked with CanCollideWith. 2016-12-04 10:34:36 +01:00
Christoph Oelckers 71e8f09126 Merge branch 'master' of https://github.com/rheit/zdoom into zscript 2016-12-04 10:27:35 +01:00
Edoardo Prezioso 0cff443945 - Fixed missing linebreak in 'currentpos' error message. 2016-12-04 10:25:23 +01:00
Edoardo Prezioso c99a051a2a - Added lambda feature to FString::(Strip|Replace)Chars.
Use it in the other (Strip|Replace)Chars methods to show how it would work.
2016-12-04 10:24:49 +01:00
Christoph Oelckers 94287518e0 - added a virtual CanCollideWith script method that can be overridden to do class specific collision checks.
This will get called for both actors taking part in a collision, if one of the two calls returns false it will immediately abort PIT_CheckThing with no collision taking place at all.
2016-12-04 10:13:36 +01:00
Magnus Norddahl 36f168040e Fix null pointer crash bug 2016-12-04 03:12:40 +01:00
Christoph Oelckers daf1a40521 - allow swapping the order of gl_finish and SwapBuffers calls, because some cards do not seem to like the correct order. 2016-12-03 20:09:25 +01:00
Christoph Oelckers 834802def3 - sanitized the old sprite offset adjustment feature and used it to redefine offsets for some sprites that have really bad ones. 2016-12-03 19:49:32 +01:00
Rachael Alexanderson 244eaa99b3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-03 13:23:28 -05:00
Christoph Oelckers dc1f03ec13 Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript 2016-12-03 19:14:39 +01:00
Christoph Oelckers 04f5be6249 - zcc_compile.cpp needs to include version.h for the DYNLIGHT #define. 2016-12-03 19:14:20 +01:00
Christoph Oelckers 5dd63a86cf - removed excess arguments for IMPLEMENT_CLASS. 2016-12-03 18:59:28 +01:00
Christoph Oelckers fbc8d0e83c Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript
# Conflicts:
#	wadsrc/static/zscript.txt
2016-12-03 18:51:10 +01:00
Christoph Oelckers 34970c9b9c - removed hexenglobal include from GL files. 2016-12-03 18:49:52 +01:00
Christoph Oelckers 71bda99c3b - fixed: DECORATE didn't pass all needed arguments to FunctionBuildList.AddFunction. Removed the default parameter values from this function's declaration to prevent it from happening again. 2016-12-03 18:14:07 +01:00
Christoph Oelckers 21e3aba1c7 - optionally allow passing a script position object to V_GetColor and subfunctions for better error output. Implemented this for all occurences where this info was available. 2016-12-03 16:27:53 +01:00
Christoph Oelckers 1fc90b1ba9 - fixed: A_Face* should not require the target to be non-null. 2016-12-03 15:59:02 +01:00
Christoph Oelckers 6a4f867c91 Merge branch 'master' into zscript 2016-12-03 15:54:18 +01:00
Christoph Oelckers 30cbce051e - fixed: Custom automap colors were not invalidated on restart.
- fixed: D_DoomMain has 3 calls to D_DoomLoop but only the main call of these was capable of a clean restart.
2016-12-03 15:44:46 +01:00
Magnus Norddahl e09c7d239f Adjust class naming to closer match the GZDoom renderer and split portal rendering part to its own file 2016-12-03 14:58:56 +01:00
Christoph Oelckers 5117b32431 - fixed: The math for emulating the old slop overflow was not correct and made the affected sectors in void.wad display incorrectly.
- set compat_polyobj for void.wad because its polyobjects glitch quite a bit with the normal setting.
2016-12-03 14:42:06 +01:00
Christoph Oelckers 28604bad62 - fixed: The polyobject init specials must be cleared after Polyobject initialization is done, because they can block usage of regular lines colinear with the polyobject 2016-12-03 14:06:51 +01:00
Christoph Oelckers 0da233a664 changed ZScript include mechanism.
* It will now use #include, just like most other definition formats and can be mixed with regular definitions. However, due to how the Lemon-generated parser works this will not recursively pull in all files, but store them in a list and process them sequentially. Functionally this shouldn't make a difference, because ZScript is mostly order-independent - the only thing where order is important is native classes, but these are completely internal to zdoom.pk3 where proper order is observed.
2016-12-03 13:16:09 +01:00
Christoph Oelckers 136e976b2a - added an error check for duplicate local variable definitions.
Note that this only applies if both are in the same block. Just like in C++, it is perfectly legal to have the same variable name in two different nested scopes.
2016-12-03 12:33:58 +01:00
Christoph Oelckers b3783a3850 redid the exception mechanism for script-side access violations to be of more use for diagnosing problems.
The original implementation just printed a mostly information-free message and then went on as if nothing has happened, making it ridiculously easy to write broken code and release it. Changed it to:

* Any VMAbortException will now terminate the game session and go back to the console.
* It will also print a VM stack trace with all open functions, including source file and line numbers pointing to the problem spots. For this the relevant information had to be added to the VMScriptFunction class.

An interesting effect here was that just throwing the exception object increased the VM's Exec function's stack size from 900 bytes to 70kb, because the compiler allocates a separate local buffer for every single instance of the exception object.
The obvious solution was to put this part into a subfunction so that it won't pollute the Exec function's own stack frame. Interesting side effect of this: Exec's stack requirement went down from 900 bytes to 600 bytes. This is still on the high side but already a lot better.
2016-12-03 12:23:13 +01:00
Magnus Norddahl dbacb75617 Capped sky rendering 2016-12-03 06:58:06 +01:00
Magnus Norddahl ff063a33b5 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-03 05:02:42 +01:00
Magnus Norddahl 04e981dba0 Fix up/down culling issue 2016-12-03 05:02:34 +01:00
Rachael Alexanderson c95372052c Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-02 16:39:50 -05:00
Christoph Oelckers d93b6e31d6 - fixed: The ammo and sister weapon type pointers were not properly declared as pointers to the type system. 2016-12-02 22:10:15 +01:00
Christoph Oelckers 211d9d92a1 Merge branch 'master' into zscript 2016-12-02 21:14:56 +01:00
Christoph Oelckers 60b1f5c25a - fixed: FPNGTexture::fr could be left uninitialized. 2016-12-02 19:38:30 +01:00
Christoph Oelckers 91c3ddf692 - fixed: When a tentative class is being replaced, the old one should be removed entirely so that it cannot cause any problems later. 2016-12-02 19:30:58 +01:00
Christoph Oelckers fbf8084999 - corrected the export signatures of several script exports to contain the correct classes, so that the fudging in FindFunction could be removed.
- fixed PARAM_ACTION_PROLOGUE to assign correct types to the implicit pointers. It gave the actual class to the wrong one, which until now did not matter because all functions were using 'Actor', regardless of actual class association.
- fixed the definition of IceChunk and removed some redundant code here. Since A_FreezeDeathChunks already calls SetState, which in turn calls the state's action function, there is no need to call it again explicitly.
2016-12-02 18:52:58 +01:00
Christoph Oelckers 1e01e6e4df - record all line numbers during function generation. This is useful for error reporting and eventually debugging.
- throw a useful exception when a VM abort occurs, the simple enum was incapable of reporting anything more than the barest minimum, which at least for array index out of bounds errors was insufficient.

The current exception mechanism is still insufficient. It really has to report a proper crash location and print a stack trace to the maximum extent possible. Instead it just prints a message and happily goes on. This is not a good solution.
2016-12-02 17:36:29 +01:00
Christoph Oelckers 967f6c0269 - use a separate exception type for reporting errors from FraggleScript.
CRecoverableError is used in other parts as well and it might create interference.
2016-12-02 16:56:50 +01:00
Edoardo Prezioso 9dbfa6d04e - Fixed uninitialized line number info in thing map parsing. 2016-12-02 14:54:32 +01:00
Magnus Norddahl ce6e1e1e47 Fully hook up sprite clipping by subsector 2016-12-02 13:24:53 +01:00
Magnus Norddahl 01008f0daa Fix sprite bsp clipping bug and wall sorting bug 2016-12-02 13:06:16 +01:00
Christoph Oelckers f9441cd9d9 - added null pointer validation to any relevant exported function. In most cases null pointers were already being treated as 'do nothing', but there's several places where this can make the code silently fail so in these cases a VM exception will be raised, once the VM's exception handling has been repaired to provide useful diagnostics. (Right now all it does is catch the exception, print a useless message and return to the caller as if nothing has happened.) 2016-12-02 12:06:49 +01:00
Magnus Norddahl 71350f2c17 Sprite line clipping by subsector 2016-12-02 08:12:01 +01:00
Christoph Oelckers 05cc3dde72 - fixed: Dehacked did not copy the defaults for DehackedPickup replacements anymore. 2016-12-02 01:33:18 +01:00
Christoph Oelckers 4dd22d74dd - partial optimization of chained comparisons. 2016-12-02 01:16:32 +01:00
Christoph Oelckers fb7a8fb553 - branch optimization for for loops. 2016-12-02 00:56:54 +01:00