Commit graph

10263 commits

Author SHA1 Message Date
Christoph Oelckers
82ac2081b6 - create struct types.
- fixed class creation. There was an infinite loop and some missing checks for native classes.
- do not write the compiler's symbols to the same symbol table as the output. The output must go to GlobalSymbols but the internal symbols must go to a namespace specific table that can be discarded after compilation.
2016-10-08 13:34:37 +02:00
Christoph Oelckers
b71e8d09ed - create class types from the AST.
This is the first thing the compiler has to do to get access to the class's symbol table. Of course at this point the final size of a class is not known yet so these are currently all treated as tentative.
2016-10-08 11:54:33 +02:00
Magnus Norddahl
fc07a25306 Add aliasing meta data to loads and stores 2016-10-08 09:29:26 +02:00
Christoph Oelckers
fff428c71d - added copyright headers to scripting files. 2016-10-08 08:35:16 +02:00
Magnus Norddahl
0b0ee2e3c2 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-08 06:50:42 +02:00
Magnus Norddahl
b3be0d22cc Unroll loops by 8 and enable some additional passes 2016-10-08 06:50:33 +02:00
raa-eruanna
f5681cf42f Merge http://github.com/rheit/zdoom 2016-10-08 00:31:54 -04:00
Magnus Norddahl
606b7f5a00 Run module level LLVM optimization passes before calling finalizeObject 2016-10-08 04:59:24 +02:00
Christoph Oelckers
994bb4fc7a - started to make ZScript parser work on real-life data. It will now read a lump named ZSCRIPT which is a list of filenames to be compiled.
- place generated symbols into GlobalSymbols instead of a scratch table that will be discarded right away.
- allow the state object to change source file scanners (I hope this works, but the old implementation was unable to do more than one with with a parse state so I had to change it.)
- It can now parse constants.txt and insert everything in it into the global symbol table and make subsequent DECORATE compile properly.
2016-10-08 01:05:27 +02:00
Christoph Oelckers
d819aafcf3 - changed handling of duplicate classes in DECORATE.
Instead of replacing the original, the second class will get renamed now, using the originating file as an identifier. In the vast majority of cases this should do exactly what is needed: Create an unconflicting second class that can coexist with the original. Unless the class is used by name this should eliminate all problems with this, but so far I haven't seen anything that used them by name.

This is choosing the lesser of two evils. While some mod out there may get broken, the old setup meant that the first class of a given name could not be written out to a savegame because it was not retrievable when loading it back.
2016-10-07 15:28:25 +02:00
raa-eruanna
a2551ce95e Merge http://github.com/rheit/zdoom 2016-10-07 08:30:25 -04:00
Christoph Oelckers
06ca41f8b5 - do not declare PNamedType::Outer as DObject.
Ultimately we may have to get a fully qualified name out of this, so Outer should be a type that can handle this feature. The new class for this is currently used as base for PType and PSymbol so that PNamedType inherits from it and maybe later a namespace symbol can, too.
2016-10-07 13:59:29 +02:00
Magnus Norddahl
aae4571c95 Changed column drawers to use true color textures 2016-10-07 12:45:21 +02:00
Christoph Oelckers
ee66d22034 Revert "- added an option to disable the pickup screen flash."
This reverts commit 2d320a2e86.

The feature has been superseded by pickup_fade_scalar and is no longer needed.
2016-10-07 08:46:06 +02:00
Magnus Norddahl
6512068005 Remove unused queue_wallcommand 2016-10-07 07:03:13 +02:00
Magnus Norddahl
78415461b9 Removed old SSE macros and drawers 2016-10-07 06:56:20 +02:00
Magnus Norddahl
5a0f67308f Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-07 06:40:39 +02:00
Magnus Norddahl
8c259f50b1 Add codegen for rt column drawers 2016-10-07 06:40:29 +02:00
raa-eruanna
a80c67c2ca - Backported blood_fade_scalar from Skulltag
- Added new pickup_fade_scalar which works the same way for pickups
- Default for blood_fade_scalar is 1.0 instead of 0.5 from Skulltag.
2016-10-07 00:35:06 -04:00
Christoph Oelckers
2e78d34046 - fixed: DCeiling's main constructor could leave some fields uninitialized. 2016-10-07 00:33:53 -04:00
Christoph Oelckers
f89d47d03e - fixed: ZCC_OpInfoType::FindBestProto was missing checks for exact match of the required conversion before testing if it is a F32->F64 conversion.
Of course, since 0 means that there is no conversion it also means that there is no data that could be checked.
2016-10-07 00:33:53 -04:00
Christoph Oelckers
9dc51b2743 - rewrote AActor::DestroyAllInventory so that it clears the item's link to its owner and the owner's inventory list before destroying them.
There have been reports about crashes in here with Linux that point to some of the code that gets called here doing unwanted things on the owner, so with these links cleared that should no longer be possible.
2016-10-07 00:33:53 -04:00
Magnus Norddahl
584220edf0 Move DrawerCommandQueue to its own file 2016-10-07 04:01:38 +02:00
Magnus Norddahl
c1e859dbca Added codegen for column drawers 2016-10-07 03:38:43 +02:00
raa-eruanna
02f66fa34e - Backported blood_fade_scalar from Skulltag
- Added new pickup_fade_scalar which works the same way for pickups
- Default for blood_fade_scalar is 1.0 instead of 0.5 from Skulltag.
2016-10-06 20:01:20 -04:00
Christoph Oelckers
fc246be03e Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-06 21:21:46 +02:00
Christoph Oelckers
99c4d03ad4 - fixed: DCeiling's main constructor could leave some fields uninitialized. 2016-10-06 21:20:49 +02:00
Christoph Oelckers
d7bb5bb41e - fixed: ZCC_OpInfoType::FindBestProto was missing checks for exact match of the required conversion before testing if it is a F32->F64 conversion.
Of course, since 0 means that there is no conversion it also means that there is no data that could be checked.
2016-10-06 12:08:38 +02:00
Christoph Oelckers
c56d2eecb0 - rewrote AActor::DestroyAllInventory so that it clears the item's link to its owner and the owner's inventory list before destroying them.
There have been reports about crashes in here with Linux that point to some of the code that gets called here doing unwanted things on the owner, so with these links cleared that should no longer be possible.
2016-10-06 08:50:46 +02:00
Magnus Norddahl
bb79dcb634 SSAO math bug fixes 2016-10-06 07:36:49 +02:00
raa-eruanna
e592473f57 Merge http://github.com/rheit/zdoom 2016-10-05 21:36:23 -04:00
Christoph Oelckers
59d5b42abf - fixed: G_UnsnapshotLevel should abort with an error if it cannot read the savegame.
- fixed: The exception handler in G_DoLoadGame needs to rethrow the exception it receives.
2016-10-05 19:02:53 +02:00
Christoph Oelckers
aeb5377821 - do not generate SYSEX events when playing MIDIs through FMod, because there has been a report that it doesn't work correctly. 2016-10-05 16:45:12 +02:00
Christoph Oelckers
2d320a2e86 - added an option to disable the pickup screen flash. 2016-10-05 09:59:19 +02:00
Magnus Norddahl
00e72028ef Add another gbuffer with normal data and make ssao pass use it 2016-10-05 07:57:27 +02:00
raa-eruanna
3f020e686f Merge http://github.com/coelckers/gzdoom 2016-10-04 23:26:50 -04:00
Magnus Norddahl
490dd612b3 Keep using render buffers when ssao is off, for better performance 2016-10-05 03:56:58 +02:00
Christoph Oelckers
64863d30f3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-04 18:17:32 +02:00
Major Cooke
0e9f808c8a Fixed: FLATSPRITES were drawn backwards. 2016-10-04 10:05:57 -05:00
Christoph Oelckers
15cbf4bae6 - fixed: DecoHandleRuntimeState must check all parent classes when trying to determine if the target is a valid state. It should also ensure that both the calling and target state belong to the same actor. Although unlikely it cannot be entirely ruled out that a bogus index randomly points to a seemingly valid state elsewhere. 2016-10-04 09:28:19 +02:00
raa-eruanna
cc5f3a0ec0 Merge http://github.com/rheit/zdoom 2016-10-03 23:49:31 -04:00
Marisa Heit
594b344be9 Don't use MIN<short> when clamping topclip.
- This was fine with fixed point numbers, since they could never be
  outside of short range when converted to regular ints. With floating
  point numbers now, that condition no longer holds.
2016-10-03 22:05:02 -05:00
raa-eruanna
f9795a2533 Revert "Remove linear sky again"
This reverts commit 21390e91b8.

- also set r_linearsky to "false" by default.
2016-10-03 21:39:15 -04:00
Magnus Norddahl
e05ed47fee Remove C++ and SSE drawers 2016-10-04 01:36:26 +02:00
Magnus Norddahl
e9d13e5d74 Remove gl_light_math (reverts last remains of old lightmath branch) 2016-10-04 00:25:35 +02:00
Magnus Norddahl
51f867bc6c Merge branch 'ssao' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
#	wadsrc/static/shaders/glsl/main.fp
2016-10-04 00:16:05 +02:00
Magnus Norddahl
ecb57d6cd9 Merge remote-tracking branch 'gzdoom/master' into ssao
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	src/gl/shaders/gl_shader.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-04 00:01:03 +02:00
Magnus Norddahl
bcb64a3445 Merge branch 'ssao' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	src/gl/shaders/gl_ambientshader.cpp
#	src/gl/shaders/gl_ambientshader.h
#	src/gl/system/gl_cvars.h
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-03 23:47:09 +02:00
Magnus Norddahl
dcb6c1ac3a Move ApplyFXAA to PostProcessScene 2016-10-03 23:30:00 +02:00
Magnus Norddahl
9c8f841858 Merge branch 'llvmcompiler' into qzdoom 2016-10-03 23:22:28 +02:00
alexey.lysiuk
5d99e7dafe Fixed compilation on platforms other than Windows 2016-10-03 22:13:33 +03:00
alexey.lysiuk
d6346fb0c6 Fixed compilation with GCC or Clang 2016-10-03 21:44:00 +03:00
Major Cooke
d597af1494 - Fixed a few corner cases where forcing alpha wouldn't work.
- On the other hand, soultrans, fuzzy and stencil (as is, not including the mixing styles like stenciladd) are no longer accounted for by FORCEALPHA.
2016-10-03 13:14:48 -05:00
Christoph Oelckers
15af9242d6 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-03 16:22:16 +02:00
Christoph Oelckers
7ab7fc9a57 - seems I missed this part... 2016-10-03 16:21:50 +02:00
Christoph Oelckers
4eb5f10b02 - use normals to have proper light attenuation. So far only implemented for walls and flats. Models are planned but need some thinking about how to efficiently collect all required lights for an object. 2016-10-03 16:09:32 +02:00
Christoph Oelckers
41ab08ee47 - fixed: TVector::Resized needs to consider that the input vector has a length of 0. In this case just performing the normal calculations results in an invalid vector. 2016-10-03 11:00:26 +02:00
Magnus Norddahl
7c47806382 Fix aspect ratio bug in LensDistortScene 2016-10-03 09:18:47 +02:00
raa-eruanna
267b131c03 Merge http://github.com/rheit/zdoom 2016-10-02 23:10:28 -04:00
raa-eruanna
c6408e92e2 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-02 23:10:07 -04:00
Major Cooke
8cfeca655d Added priority renderstyles, and added PSPF_FORCE(ALPHA / STYLE).
- Renderstyles now override alpha based on which is used.
- The new flags will override whatever renderstyle and alpha is currently being utilized.
2016-10-02 21:19:56 -05:00
Major Cooke
4865e7109c Fixed merge conflicts. 2016-10-02 21:18:01 -05:00
Christoph Oelckers
2da18bfa56 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-03 00:56:55 +02:00
Major Cooke
201ae3c60f Added OverlayID() for retrieving psprite layer numbers. 2016-10-03 00:44:06 +02:00
alexey.lysiuk
c68aa2b241 Added FXAA post-processing
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
5391216756 Delete unused new BlitFromEyeTexture() method I ended up not using. 2016-10-02 16:27:43 -04:00
Christopher Bruns
63b28a1d80 Retain stereoscopic parity after dragging window in row interleaved 3D mode. 2016-10-02 16:11:06 -04:00
Christopher Bruns
0240cdef18 Modulate row interleaved stereo 3d offset with window height parity, because gl_FragCoord.y approaches zero at the bottom, not the top of the window. 2016-10-02 16:10:58 -04:00
Christopher Bruns
576619504e Remove unused WindowHeight uniform. 2016-10-02 16:10:50 -04:00
Christopher Bruns
fcbf9342d6 Compute row location using gl_FragCoord. 2016-10-02 16:10:39 -04:00
Christopher Bruns
460b653709 Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode. 2016-10-02 16:10:21 -04:00
Christopher Bruns
79046580d5 Partial implementation of row interlaced mode. 2016-10-02 16:09:22 -04:00
Christopher Bruns
960d4d6755 Create TopBottom3D mode and begin sketching RowInterleaved3D mode. 2016-10-02 16:09:02 -04:00
N.E.C
671646be26 Fix errors encountered when compiling for v140_xp target 2016-10-02 13:05:26 -07:00
Major Cooke
1620ff58c8 Added INTCVAR to DrawNumber.
- Allows retrieval and displaying of an int/bool user/server cvar.
2016-10-02 20:11:13 +02:00
Christoph Oelckers
e84a7de390 - variable was in the wrong scope. 2016-10-02 18:56:04 +02:00
Christoph Oelckers
37d61167ea - hotfix for a RapidJSON bug: If the Writer tries to process an INF or NaN value, it aborts and leaves the writer in a broken state, unable to recover. Changed so that it writes a 0 value so that the resulting JSON at least parses correctly. 2016-10-02 18:50:37 +02:00
Christoph Oelckers
3418710a38 - be a bit more thorough and also call Effect() on vertically moving missiles with zero damage. 2016-10-02 14:38:48 +02:00
Christoph Oelckers
865863ab6f - fixed: AFastProjectile did not work properly for perfectly vertically moving missiles. Like AActor::Tick it needs to ensure that a tiny bit of lateral movement is present so that collision detection and the Effect() function work as intended. 2016-10-02 14:37:26 +02:00
Christoph Oelckers
0bce6e3925 - added ACS and DECORATE setter functions for named translations. 2016-10-02 14:09:45 +02:00
Christoph Oelckers
a505e91032 - added TRNSLATE lump for defining global translations which are accessible by name.
This is only the definition part, manipulation functions for ACS and DECORATE still to do.
2016-10-02 13:35:25 +02:00
alexey.lysiuk
d7683a8c55 Fixed crash on early fatal error exit
Process terminates correctly if zdoom.pk3 is missing
2016-10-02 10:13:45 +03:00
Marisa Heit
efc9ed2fe9 Fix state lookup from non-action functions (i.e. Damage functions) 2016-10-01 22:31:07 -05:00
Marisa Heit
eb2ee33950 FxVMFunctionCall must pass null pointers when calling an action function from a non-action function 2016-10-01 22:29:57 -05:00
Marisa Heit
944ae2bc09 Only generate the self==stateowner check inside action functions 2016-10-01 21:47:43 -05:00
raa-eruanna
ff0d409e2b Merge http://github.com/rheit/zdoom 2016-10-01 19:06:43 -04:00
raa-eruanna
a89ec61dc1 Merge http://github.com/coelckers/gzdoom 2016-10-01 19:06:40 -04:00
Christoph Oelckers
51ffd6d9c6 - fixed some warnings.
- A_SetRenderStyle should not default to STYLE_None.
2016-10-02 01:00:07 +02:00
Christoph Oelckers
80f2f5829f - added A_SetRenderStyle function which replaces A_SetTranslucent. A_SetTranslucent had to be deprecated due to obsolete semantics of the renderstyle argument. 2016-10-02 00:43:05 +02:00
Christoph Oelckers
ff0b879323 - added UDMF portal flags. Names are identical with Eternity for compatibility reasons. 2016-10-02 00:31:25 +02:00
Christoph Oelckers
cfa6b817b5 - made bloom and tonemap settings game specific and save all related CVARs.
As was pointed out: "That said, there is one minor problem - different game artstyles can constitute whether Bloom is turned on, which tonemap is used, etc. For example, when playing Doom, I like having my bloom on, but if I am going to start playing the Adventures of Square, the art style and bloom don't mix, in my opinion. For this, I have to remember to switch my bloom settings every time I switch IWad"
2016-10-01 21:34:13 +02:00
Christoph Oelckers
3a3d538a45 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-01 18:22:00 +02:00
Christoph Oelckers
7720359f4c - fixed: AActor::Masacre must restore the flag if it cannot kill the monster. 2016-10-01 12:08:07 +02:00
alexey.lysiuk
099bfed806 Fixed endianness issue with precaching of MUS files 2016-10-01 11:50:29 +02:00
Magnus Norddahl
c960742dbd Fix 64 bit compile errors 2016-10-01 11:47:21 +02:00
alexey.lysiuk
e9ce699042 Fixed compilation with GCC or Clang 2016-10-01 12:17:15 +03:00
Magnus Norddahl
8765cf2016 Change Windows build to use a precompiled version of LLVM 2016-10-01 06:51:55 +02:00
raa-eruanna
558a7fcfb0 Merge http://github.com/rheit/zdoom 2016-09-30 19:34:27 -04:00
Christoph Oelckers
b400cf1454 - added an integrity check to the SNDINFO parser to detect and eliminate recursive links. Normally these would crash the sound code later.
- allow recursive linking of $random definitions (as long as they do not link back, see above.)
- fixed the sound precaching which did not handle $alias inside $random. Normally this went undetected but in cases where the random sound index was the same as a sound index in the current link chain this could hang the function.
2016-09-30 10:50:41 +02:00
Magnus Norddahl
28bb5da181 Hooked up LLVM wall drawers 2016-09-30 07:27:25 +02:00
raa-eruanna
6e3a49b065 Multilayer skies (Hexen) now properly show in truecolor mode. This is only supported for paletted skies, but it still offers a true-color output. 2016-09-29 21:29:40 -04:00
raa-eruanna
bbec9b86a3 - fixed: un-commented the line with said hack. oops. 2016-09-29 20:00:56 -04:00
raa-eruanna
1560ed07af Added a hack that allows maps using fogmap to display properly in the true-color renderer. Unfortunately, this could be implemented better but at least for now it's here. 2016-09-29 20:00:00 -04:00
raa-eruanna
7cbaf80a2a - Okay - so - last commit didn't actually fix anything. I think for now, it's better to turn off multi-threading by default until this can be fixed. r_multithreading has been changed to false by default, and is now saved in the user's .ini. 2016-09-29 12:49:10 -04:00
raa-eruanna
d58da58aee - fixed: Prevents too many drawer thread commands from queueing up. Previously, drawing too many columns (which was accumulated by amassing a huge number of sprites) would crash the game. 2016-09-29 12:20:32 -04:00
raa-eruanna
2987668af8 Non-tiling skies (Heretic/Hexen) now render properly. 2016-09-29 06:20:30 -04:00
Magnus Norddahl
afab45674b Added half of wall codegen 2016-09-29 07:38:33 +02:00
Magnus Norddahl
7be2511269 Add codegen files for walls and columns 2016-09-29 05:21:43 +02:00
Magnus Norddahl
e5f3c119cd Codegen all DrawSpan variants 2016-09-29 04:01:42 +02:00
Magnus Norddahl
efd22346d8 Fix linear sampling bug 2016-09-29 02:26:36 +02:00
Magnus Norddahl
bfa291b02f Create LLVMDrawers class as the external interface to the drawers 2016-09-29 02:10:14 +02:00
Magnus Norddahl
3aea3a0bee Fully implemented codegen for DrawSpan 2016-09-28 18:49:39 +02:00
raa-eruanna
2f557419ed Merge http://github.com/rheit/zdoom 2016-09-28 06:40:58 -04:00
raa-eruanna
dd9881b5fa Merge http://github.com/coelckers/gzdoom 2016-09-28 06:40:56 -04:00
Marisa Heit
3988a63789 Fixed: The menu no longer refreshed the screen border 2016-09-28 06:40:55 -04:00
Marisa Heit
77ea195162 Fixed: Y and Z were flipped for sound velocity 2016-09-28 06:40:54 -04:00
Christoph Oelckers
2d5061e81f - fixed: DScroller did not initialize m_LastHeight in all situations. This caused a problem with the serializer because RapidJSON aborts the write of a floating point value if it is invalid.
- ensure that floats are always written out. If the actual value causes an error (i.e. INF or NaN), write a 0 to guarantee proper formatting.
2016-09-28 11:58:12 +02:00
Christoph Oelckers
f1bb7679a3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-28 09:50:03 +02:00
Christoph Oelckers
676d2365e1 - fixed: The ACS strings deserializer set incorrect indices in the bucket array. This only caused a problem if there were gaps in the string pool. 2016-09-28 09:49:41 +02:00
Christoph Oelckers
b75395aa74 - fixed: Screen size update coordinates were copied into the wrong buffer location. 2016-09-28 09:25:48 +02:00
Christoph Oelckers
d5e31aff1b Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-28 08:27:55 +02:00
Christoph Oelckers
12ea8ffbe4 - removed some leftover garbage from the floating point rewrite in the floorRaiseToLowestCeiling case of DFloor. 2016-09-28 08:06:15 +02:00
Magnus Norddahl
576fed5afc Add light, blend and sampler functions 2016-09-28 05:18:16 +02:00
Marisa Heit
e3be6e4819 Fixed: The menu no longer refreshed the screen border 2016-09-27 18:58:09 -05:00
raa-eruanna
d05ed3740b Corrected forum links in version.h 2016-09-27 19:27:57 -04:00
Marisa Heit
40f0dbf51c Fixed: Y and Z were flipped for sound velocity 2016-09-27 16:27:31 -05:00
Magnus Norddahl
f9a7186550 Improve DrawSpan codegen enough to do the simple shade for 64x64 flats 2016-09-27 22:54:37 +02:00
Magnus Norddahl
20f67ad40a Add SSAShort, shift, and, or, and fix unaligned store 2016-09-27 22:53:20 +02:00
raa-eruanna
1b7827342c - Fixed: Changed r_clearbuffer to do a little more than clear the top quarter of the screen. Still need to do an actual color fill - will do it later. 2016-09-27 04:14:00 -04:00
Magnus Norddahl
d5c7a7ab76 Make LLVM compile and optimize for the current CPU 2016-09-27 03:07:03 +02:00
Magnus Norddahl
4f2ae42ed5 Revert duplicate entry in CMakeLists.txt 2016-09-26 09:04:29 +02:00
Magnus Norddahl
3dd8b593b6 Use LLVM to JIT the code for one of the drawer functions 2016-09-26 09:00:19 +02:00
raa-eruanna
c8d0a478d8 Merge http://github.com/coelckers/gzdoom 2016-09-25 19:43:52 -04:00
Christoph Oelckers
750c194959 - changed order of SwapBuffers and glFinish call. The new order with glFinish coming last is recommended by OpenGL and it fixes a stalling problem with portals and camera textures visible at the same time.
- check and use WGL_EXT_swap_control_tear extension. The above change makes the system always wait for a full vsync with a wglSwapInterval of 1, so it now uses the official extension that enables adaptive vsync. Hopefully this also works on the cards where the old setup did not.
2016-09-26 01:38:25 +02:00
raa-eruanna
0bc54cbda4 Fixed SDL backend. This project is now Linux capable! 2016-09-25 17:40:37 -04:00
raa-eruanna
d91fe1572c Merge http://github.com/coelckers/gzdoom 2016-09-25 14:08:20 -04:00
raa-eruanna
6cc1cea54d Merge branch 'master' of https://github.com/raa-eruanna/QZDoom 2016-09-25 13:50:11 -04:00
raa-eruanna
08166473ca Merge branch 'truecolor' of http://github.com/dpjudas/dpdoom
# Conflicts:
#	src/v_video.cpp
2016-09-25 13:48:52 -04:00
alexey.lysiuk
e9b1da57a3 Fixed compilation on macOS 2016-09-25 17:43:52 +03:00
Christoph Oelckers
d65589281f Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-25 10:28:51 +02:00
Christoph Oelckers
f4462a7b93 - fixed: Any DSectorEffect thinker must be placed into STAT_SECTOREFFECT.
The slot had been there forever to address this same problem but only one of the two constructors actually set it, too bad that it was the wrong one...

This is something that normally won't be noticed. But if some actor is spawned on a moving platform, with both thinkers on the same statnum it means that the order of execution is not correct with the platform being done first, resulting in the actor to 'jump' while the platform is moving. To prevent this it is necessary that all sector movers only tick after all actors have completed their thinking turn.
2016-09-25 09:43:17 +02:00
Christoph Oelckers
92d0043a81 - undid part of the last commit and hopefully corrected it for good now.
We have to be extremely careful with the player data, because there's just too much code littered around that has certain expectations about what needs to be present and what not.
Obviously, when travelling in a hub, the player_t should be retained from the previous level. But we still have to set player_t::mo to the PlayerPawn from the savegame so that G_UnsnapshotLevel doesn't prematurely delete it and all associated voodoo dolls, because it checks player_t::mo to decide whether a player is valid or not.
The actual deletion of this redundant PlayerPawn should only be done in G_FinishTravel, after the actual player has been fully set up
2016-09-25 09:23:44 +02:00
raa-eruanna
ed07ff1bdd Merge http://github.com/dpjudas/dpdoom 2016-09-25 02:19:39 -04:00
raa-eruanna
1c25ad7ce4 Merge http://github.com/rheit/zdoom 2016-09-24 23:36:51 -04:00
raa-eruanna
9ecb7d44f7 Merge http://github.com/coelckers/gzdoom 2016-09-24 23:36:47 -04:00
Christoph Oelckers
6a6a0e8017 - removed some more hubtravel related player start fudging.
* do not skip the player_t init when travelling in a hub. The old player may still be needed in some edge cases. This applies only to singleplayer for now. The multiplayer version still needs reviewing. I left it alone because it may shuffle players around which is not wanted when doing hub travelling.
 * do not spawn two temp players in G_FinishTravel. Instead handle the case where no player_t::mo can be found gracefully by adding a few nullptr checks. This temp player served no real purpose except for having a valid pointer. The actual start position was retrieved from somewhere else.
2016-09-25 01:28:27 +02:00
Magnus Norddahl
287acea6b4 Update copyright 2016-09-25 00:31:57 +02:00
Magnus Norddahl
6cb9f875dd Fix missing call from merge 2016-09-25 00:31:43 +02:00
Magnus Norddahl
979e70ca8f Add gl_ssao_portals for controlling how many portals gets SSAO 2016-09-25 00:22:38 +02:00
Magnus Norddahl
3f11c0562c Add ssao quality setting 2016-09-25 00:22:38 +02:00
Magnus Norddahl
0397fe185f Don't do ambient occlusion when rendering to texture 2016-09-25 00:22:32 +02:00
Magnus Norddahl
d774136282 Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it 2016-09-25 00:22:32 +02:00
Magnus Norddahl
9af34bac69 Add gbuffer pass support to FShaderManager and FRenderState 2016-09-25 00:22:32 +02:00
Magnus Norddahl
37e3172c94 Fix random texture sampling bug 2016-09-25 00:22:31 +02:00
Magnus Norddahl
0a8cc1b74c Fix depth blur 2016-09-25 00:22:31 +02:00
Magnus Norddahl
24ab13f1ce Fix stripes in the reconstructed normals due to down scaling 2016-09-25 00:22:31 +02:00
Magnus Norddahl
11725c435e Grab tanHalfFovy from the projection matrix 2016-09-25 00:22:31 +02:00
Magnus Norddahl
e025f6e54b Mark portals in scene alpha channel for the SSAO pass 2016-09-25 00:22:31 +02:00
Magnus Norddahl
c7c0ffadb5 Move SSAO pass to be before translucent rendering
Fix depth sampling location when not using fullscreen scene
2016-09-25 00:19:16 +02:00
Magnus Norddahl
09bec67821 Resolve multisampling depth in shader 2016-09-25 00:19:16 +02:00
Magnus Norddahl
a246b58673 Change SSAO blur to be depth aware 2016-09-25 00:19:16 +02:00
Magnus Norddahl
a6fdaca633 Fix precision issue in SSAO shader 2016-09-25 00:19:16 +02:00
Magnus Norddahl
723eb746f6 Add ssao random texture 2016-09-25 00:19:15 +02:00
Magnus Norddahl
9076d46261 Added SSAO pass 2016-09-25 00:19:15 +02:00
Christoph Oelckers
7d978a115e Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-24 17:54:53 +02:00
Major Cooke
74b8e9f286 - Don't use Normalized180() on angles. This could result in ranges being wrongly inverted.
- Fixed properties not having the proper indices.
- Use ViewPos-to-actor instead of measuring actor-to-actor.
- Use the actual camera instead of the actor so camera textures can work.
2016-09-24 17:54:09 +02:00
alexey.lysiuk
a419b581a8 Fixed compilation on macOS 2016-09-24 13:15:45 +03:00
Christoph Oelckers
8907a8bfe8 - fixed incorrect function name in sprites drawer.
- fixed duplicate property key in ADynamicLight serializer. Radius was already claimed by AActor so this needs a different name.
2016-09-24 12:09:53 +02:00
Christoph Oelckers
3f17d64f90 - fixed pitch comparison in visibility checking. 2016-09-24 09:42:35 +02:00
Magnus Norddahl
5ef46d1730 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2016-09-24 09:37:18 +02:00
Magnus Norddahl
7ef5a9f117 Add the experimental swrenderer2 2016-09-24 09:36:37 +02:00
Major Cooke
561edd31ec Added check for angle visibility for GZDoom. 2016-09-24 09:29:00 +02:00
Christoph Oelckers
6b02ea9871 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	CMakeLists.txt
2016-09-24 09:28:09 +02:00
Christoph Oelckers
3862c77b4b - undid savegame version bump because it's not needed. 2016-09-24 09:18:25 +02:00
Major Cooke
dfa4f38c8f Updated to new save game code. 2016-09-24 09:17:18 +02:00
Edoardo Prezioso
7e4d0ecdbf - Fixed GCC/Clang regression post serialization. 2016-09-24 09:00:31 +02:00
Magnus Norddahl
8172949800 Merge branch 'lightmath' into dpdoom 2016-09-24 08:40:47 +02:00
Magnus Norddahl
4350587714 Remove accidental UpdateCameraExposure duplicate from merge 2016-09-24 08:40:28 +02:00
Magnus Norddahl
c21090333f Merge remote-tracking branch 'qzdoom/master' into dpdoom 2016-09-24 08:17:49 +02:00
Magnus Norddahl
d126e91ded Merge remote-tracking branch 'gzdoom/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
2016-09-24 08:12:12 +02:00
Christoph Oelckers
ee2766d00b - made adjustments for new savegame code. 2016-09-24 01:47:44 +02:00
Christoph Oelckers
6bfbe30b99 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/g_level.cpp
#	src/p_saveg.cpp
#	src/r_defs.h
#	src/version.h

(note that this commit will not compile!)
2016-09-24 00:40:15 +02:00
Christoph Oelckers
b7c822d208 - fixed secplane_t serializer. It passed incorrect defaults to the sub-serializers and calculated negiC wrong. 2016-09-23 23:47:25 +02:00
Christoph Oelckers
69291b9cf9 - completely eliminated the horrible fudging that went on with players during hub travel. This means that DestroyMostThinkers and the player substitution mechanism in the object deserializer are gone now.
I wish I had realized this the last time it came up - it would have saved me a lot of trouble.
But as it turns out, the more recent travelling code makes all of this completely unnecessary, working perfectly fine with deleting the player pawns along with the rest of the thinkers before loading the stored ones from the savegame (and getting rid of those in G_FinishTravel.)
And with a sane savegame format that does not depend on side effects from how the thinker serializing handled linking into the lists the old code was even harmful, leaving voodoo dolls behind.
I had the exact same effect when I tried to reshuffle some things for reliably restoring portals, but did not make the connection to interference between two mutually incompatible player travelling mechanisms that just worked by sheer happenstance with the original order of things.
2016-09-23 23:03:11 +02:00
Christoph Oelckers
2318db0b1a - let DWaggleBase use the interpolation pointer of its parent instead of defining its own one.
- do not call checking code for loading savegames when writing them in ACS module serializer.
2016-09-23 22:03:44 +02:00
Christoph Oelckers
36bf099d54 - fixed: object pointers as array members may not be skipped if they are null.
- changed S_GetMusic to return a const pointer to the actual music name instead of a copy. The only thing this is used for is the savegame code and it has no use for a copy, it can work far more efficiently with a const pointer.
2016-09-23 21:24:56 +02:00
Christoph Oelckers
02b3884dff - added copyright header to serializer.cpp. 2016-09-23 20:13:22 +02:00
Christoph Oelckers
e4924c3d47 - added some missing End... calls in player deserialization code.
- fixed reading of music name.

In its current state the code is now capable of reading an E1M1 savegame and continuing play.
2016-09-23 20:05:12 +02:00
Christoph Oelckers
b844ab137e - added some comments about the special player treatment in hub travels because this is not really intuitive... 2016-09-23 18:12:38 +02:00
Christoph Oelckers
01d28e3eb2 - added the last missing bits of the savegame code - thinker list deserialization and handling of players during hub travel. Now testing is what remains... 2016-09-23 17:49:33 +02:00
Christoph Oelckers
edb7f7959e - re-enable some commented-out stuff. 2016-09-23 14:06:51 +02:00
Christoph Oelckers
86e9282193 - removed the sequential processing of JSON objects because the benefit is too small.
After testing with a savegame on ZDCMP2 which is probably the largest map in existence, timing both methods resulted in a speed difference of less than 40 ms (70 vs 110 ms for reading all sectory, linedefs, sidedefs and objects).
This compares to an overall restoration time, including reloading the level, precaching all textures and setting everything up, of approx. 1.2 s, meaning an increase of 3% of the entire reloading time.
That's simply not worth all the negative side effects that may happen with a method that highly depends on proper code construction.
On the other hand, using random access means that a savegame version change is only needed now when the semantics of a field change, but not if some get added or deleted.

- do not I_Error out in the serializer unless caused by a programming error.

It is better to let the serializer finish, collect all the errors and I_Error out when the game is known to be in a stable enough state to allow unwinding.
2016-09-23 14:04:05 +02:00
Christoph Oelckers
5a3f1dcdb6 - made reading of objects from the savegame work.
It turned out this may not be done automatically when opening the savegame - it has to be done later, after the pre-spawned map thinkers and all connected objects have been destroyed.
The object deserializer also has to be rather careful about dealing with parse errors, because if something goes wrong a whole batch of uninitialized or partially initialized objects will be left behind to destroy.
This means that no object class may assume that anything but the default constructor has been run on it and needs to check any variable it may reference.
2016-09-23 09:38:55 +02:00
Christoph Oelckers
a83ea4ddd2 - fixed two typos in property names. 2016-09-23 09:20:58 +02:00
Christoph Oelckers
cad2be46ac - fixed several Destroy methods which blanketly assumed that the object's pointers were valid to use without checks.
This is not the case if deserialization prematurely aborts. The entire object may be invalid if something in the deserializer I_Error's out.
2016-09-23 08:49:30 +02:00
Christoph Oelckers
657140f985 - fixed: The canvastexture serializer did not call EndArray to close the containing object. 2016-09-23 08:27:31 +02:00
Christoph Oelckers
4964f94de1 - added a destructor zo DFsScript, because if this gets deleted outside the GC process it'll leave an allocated buffer behind, so make sure it always gets destroyed. 2016-09-23 08:26:36 +02:00
Christoph Oelckers
f397a4943c - added OutputDebugString calls to I_Error functions in Win32, so that these messages can be seen in the debug output. 2016-09-23 08:14:40 +02:00
Christoph Oelckers
c17da32dbd - added object deserialization. It seems to work, at least the stuff I sampled looked like it was properly reatored and it triggers no error condition.
- always make the top level object randomaccess when opening a JSON file for reading. Some things won't work right if this is opened for sequential access.
2016-09-23 00:45:41 +02:00
Christoph Oelckers
604b2b316b - we need to save the OF_JustSpawned flag to insert thinkers into the proper list. 2016-09-22 21:17:34 +02:00
Christoph Oelckers
c22e8c50af - fixed some errors with parsing globals.json. It looks like this file is being processed correctly now. 2016-09-22 19:36:23 +02:00
Christoph Oelckers
d9dbf26f63 - do not list savegames for different IWADs. 2016-09-22 17:39:09 +02:00
Christoph Oelckers
f52e2a8cc4 - removed bogus BeginObject call in deferred script serializer. 2016-09-22 12:36:29 +02:00
Christoph Oelckers
d5b771afdd - fixed: Both array serializers need the bounds check. 2016-09-22 11:53:09 +02:00
Christoph Oelckers
68dc75bf9e - fixed: array clamping may only be done when reading a savegame.
- fixed generation of savegame names for level snapshots.
2016-09-22 11:51:29 +02:00
raa-eruanna
2a9e97688d Merge http://github.com/coelckers/gzdoom 2016-09-22 05:23:02 -04:00
Christoph Oelckers
e01965b747 - fixed deserialization of level.Scrolls. 2016-09-22 11:22:15 +02:00
Christoph Oelckers
18ee6353fa - let's be safe and set the proper texture mode for the fullscreen blend rect. I've got spurious reports that on some occasions it was rendered opaque. 2016-09-22 10:54:16 +02:00
Christoph Oelckers
1bddc277e6 - fixed winding of voxel polygons. 2016-09-22 10:28:14 +02:00
Christoph Oelckers
960ed5130c - fixed: DTA_ColorOverlay was not properly handled by F2DDrawer. 2016-09-22 10:20:36 +02:00
Christoph Oelckers
52d4c3970e - use glPOlygonOffset on non-translucent flat and wall sprites to avoid z-fighting. 2016-09-22 10:00:40 +02:00
Christopher Bruns
2e8d2ed626 Implement vr_swap_eyes CVAR, now that side-by-side mode is mostly working. 2016-09-22 09:25:49 +02:00
Christopher Bruns
a1cbd39f3f Move call to Stereo3DMode.AdjustPlayerSprites into FGLRenderer.DrawPlayerSprites()
(cherry picked from commit 5b5598d7d85c6bb8930e874d5d94cca835061bf0)
2016-09-22 09:25:48 +02:00
Christopher Bruns
a5c27af59b Show weapon at full width in SideBySideFull 3D mode.
(cherry picked from commit c42e98c0042937adc05c1f1569d909d58a5b8ffb)
2016-09-22 09:25:48 +02:00
Christopher Bruns
7b8847c6be Update comment for other file. 2016-09-22 09:25:47 +02:00
Christopher Bruns
d10a0309ab Update header comment in gl_sidebyside3d source files 2016-09-22 09:25:47 +02:00
Christopher Bruns
1f79e23d5b Implement wide side-by-side mode, using adjusted aspect ratio in projection matrix.
Use optimal framebuffer size for side-by-side modes.
2016-09-22 09:25:46 +02:00
Christopher Bruns
9a257ac158 Implement side-by-side narrow 3D mode. 2016-09-22 09:25:46 +02:00
raa-eruanna
72491049e0 Changes to the contrast/brightness/gamma formula for both hardware and shader gamma correction. Mainly makes a correction with the shader version where contrast/brightness being negative values would clip them inappropriately. 2016-09-22 09:23:25 +02:00
Magnus Norddahl
af699dcebc Make bloom/exposure less aggressive 2016-09-22 09:13:33 +02:00
Magnus Norddahl
f7b6b1433c Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing 2016-09-22 09:13:32 +02:00
Christoph Oelckers
f0e8e860f1 Merge branch 'master' into json 2016-09-22 09:09:48 +02:00
Christoph Oelckers
1e6b99cebd Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-22 09:06:34 +02:00
Christoph Oelckers
146b5d2d06 - use 'override' qualifier on renderer interface.
Bad things can happen if these get changed in ZDoom without adapting to the change so better let the compiler handle this automatically.
2016-09-22 09:06:21 +02:00
nashmuhandes
a49e15c541 Added REOPEN script type. These scripts behave just like OPEN scripts, except they will re-execute themselves every time the level is re-entered (ie as part of a hub). 2016-09-22 08:57:22 +02:00
LordMisfit
715aa80cf2 - Fix for DamageFactor bug w/ PowerDamage & PowerProtection 2016-09-22 08:52:43 +02:00
alexey.lysiuk
2d55f713c2 Fixed support for automatic graphics switching on macOS
The corresponding setting in .plist is wrong but Xcode fixes it automatically
This doesn't happen however when building via makefiles
2016-09-22 08:52:43 +02:00
Major Cooke
1383355be7 Removed the positive-only ripper level requirement.
- Several mods were able to just take advantage of A_SetRipperLevel and the likes, essentially bypassing this gate so there really is no point in doing this anymore.
2016-09-22 08:50:38 +02:00
raa-eruanna
76c5ff29fe If Inventory.MaxAmount > 1 on weapons, allow and track multiple pickups. 2016-09-22 08:47:23 +02:00
alexey.lysiuk
0a24c15445 Added ability to customize path to FluidSynth dynamic library
Use fluid_lib CVAR to set path or default name of dynamic library will be used instead
2016-09-22 08:43:00 +02:00
alexey.lysiuk
4f7e1f0171 FluisSynth dynamic library is now referenced by system specific name on macOS 2016-09-22 08:43:00 +02:00
raa-eruanna
bc0624e3b2 Fixed my error where I was using a local session variable rather than the proper user info for the weapon bob speed. 2016-09-22 08:42:59 +02:00
raa-eruanna
780d672b25 Adds user-definable weapon bob speed 2016-09-22 08:42:59 +02:00
Leonard2
b5b9baaa87 The VM now aborts when a wrong self pointer is used with user variables to avoid random crashes 2016-09-22 08:42:59 +02:00
Magnus Norddahl
7c862b85b3 Don't do ambient occlusion when rendering to texture 2016-09-22 03:49:19 +02:00
Christoph Oelckers
5dfc396bb9 - read snapshots from zip. 2016-09-22 01:28:05 +02:00
Christoph Oelckers
f93e4813d1 - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
Christoph Oelckers
1c9dbc3c36 - converted the basic savegame loader so that all remnant of FArchive have been removed now. 2016-09-22 00:18:31 +02:00
Christoph Oelckers
88c27e2cc0 - allow the compact and pretty writers for JSON to coexist by wrapping the whole stuff into another class that calls the proper one as needed. Due to the implementation it is not possible to decide at run time how this should behave so there have to be two different objects for either mode.
- savegame code handles new format.
2016-09-21 21:57:24 +02:00
Christoph Oelckers
ac3c00883d - implemented saving of new format savegames as zips. The code for that was adapted from zipdir.c. 2016-09-21 17:37:56 +02:00
Christoph Oelckers
810ef8f775 - save global savegame data to JSON as well.
This is incomplete and untested, just a safety commit before going on.
2016-09-21 12:19:13 +02:00
Christoph Oelckers
dbea80e943 - put savegame extension in version.h 2016-09-21 09:06:04 +02:00
Christoph Oelckers
67239cd623 - added a FileWriter class (taken from another project of mine) and changed m_png.cpp to use it.
This is so that PNGs can be written to memory, not just to an external file. stdio's FILE cannot be easily redirected but a C++ class can.
The writer is very simple and primitive right now, allowing no seeking, but for the job at hand it is sufficient.

Note that large parts of savegame creation have been disabled, because they are about to be rewritten and it makes no sense to adjust them all before.
2016-09-21 09:01:12 +02:00
Rachael Alexanderson
eeb4cbdfbc Merge http://github.com/rheit/zdoom 2016-09-21 01:47:36 -04:00
raa-eruanna
d9e60644b1 Some Linux SDL fixes. Will have to do this for Mac, later, too. 2016-09-21 01:08:00 -04:00
Braden Obrzut
8aa09768f0 - Fixed: Memory(Array)Reader's seek range didn't include the end of file. Since GetLength exists this is inconsequential for ZDoom, but still incorrect. 2016-09-20 21:23:37 -04:00
Magnus Norddahl
b6c64416be Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it 2016-09-21 02:04:56 +02:00
Christoph Oelckers
075e98c967 - use FCompressedBuffer to store level snapshots. FCompressedMemFile has been removed. 2016-09-21 01:48:23 +02:00
Christoph Oelckers
da83d9e2bd - converted player serializer and everything it needs.
This means that everything belonging to the level snapshot will be generated in the JSON output.
2016-09-21 01:18:29 +02:00
Christoph Oelckers
3a1191281f - some preparations for converting the player serialization code.
- converted sound and canvas texture serialization.
- refactored file_zip, so that it can be used to load loose zip files and extract their compressed data directly.
- added handling to FSerializer to generate and consume compressed Zip file entries.

If all goes well this will allow saving savegames as Zips when the rework is done, which will make analyzing them a lot easier.
2016-09-20 23:13:12 +02:00
Christoph Oelckers
970c168b13 - re-added serialization of treanslations.
- removed more dead code.
2016-09-20 19:45:32 +02:00
Christoph Oelckers
e101014432 - converted the user variable serializer. 2016-09-20 18:27:47 +02:00
Christoph Oelckers
e41296a64d - added some separators to dobject.cpp
- added restore code for subsector automap info.
2016-09-20 13:30:31 +02:00
Christoph Oelckers
f3e8c7c241 - fixed incomplete hudmessage serialization.
- fixed a few errors in the ACS module serializer.
- reordered a few things to how they were in the old code.
- optimized serialization of the level.Scrolls array to happen within the sector. This is to allow skipping 0-entries which normally constitute the vast majority of them.
2016-09-20 13:21:41 +02:00
Christoph Oelckers
cf1e6d5275 - converted FBehavior::StaticSerializeModuleStates.
- removed some code which is no longer needed.
2016-09-20 11:35:25 +02:00
Christoph Oelckers
42e38f6cc1 - more cleanup to reduce references to FArchive. 2016-09-20 10:59:48 +02:00
Christoph Oelckers
af6404f763 - all DObjects converted.
- cleaned out some old cruft that's no longer needed.
2016-09-20 10:27:53 +02:00
Christoph Oelckers
daf43f9d35 - added polyobject serializer.
- added sanity checks to prevent a savegame from being loaded with an incompatible map
- refactored a few things to simplify serialization.
- started work on main level serializer function.
2016-09-20 09:11:13 +02:00
Magnus Norddahl
24f748da03 Add gbuffer pass support to FShaderManager and FRenderState 2016-09-20 02:57:57 +02:00
Christoph Oelckers
ab43e0c8cb - all thinker serializers done. 2016-09-20 00:41:22 +02:00
Magnus Norddahl
77233f2f65 Merge remote-tracking branch 'upstream/master' into truecolor
# Conflicts:
#	src/v_video.cpp
2016-09-19 23:55:15 +02:00
Christoph Oelckers
a5000ead4c - another batch. 2016-09-19 19:58:04 +02:00
Christoph Oelckers
e89d072abc - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
Christoph Oelckers
340c7795f3 - clean out the dump. It's not like this branch is ever going zo be used for saving with the old code anyway. Only the stuff needed to not make it crash or fail on compilation is kept. 2016-09-19 16:10:25 +02:00
Christoph Oelckers
88eab9d1f9 - And another batch of serializers. 2016-09-19 15:07:53 +02:00
Christoph Oelckers
a542e99143 - a few more 2016-09-19 13:36:58 +02:00
Christoph Oelckers
7edf4c1afc - added new serializers to several classes and moved the old ones to the dump file. 2016-09-19 12:53:42 +02:00
Christoph Oelckers
d24aa5dec9 - reformatting for easier search. 2016-09-19 10:47:59 +02:00
Christoph Oelckers
e754fae0a8 - removed FS HUD pics. No mod in existence ever used them and a quickly thrown together test showed that the code did not even work. And since there's no reason to fix it they are gone now. 2016-09-19 10:41:21 +02:00
Christoph Oelckers
c665cc53f9 - moved new code to its proper location and started moving the replaced old archive code to a placeholder file for easy removal later. 2016-09-19 10:34:54 +02:00
raa-eruanna
20e620bbe7 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/version.h
2016-09-19 03:05:38 -04:00
Christoph Oelckers
475077f1de Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-19 09:01:34 +02:00
Christoph Oelckers
daf33b5b4f - master is now at 2.3pre. 2016-09-19 09:01:21 +02:00
Christoph Oelckers
65c6388d44 Merge branch 'master' into json 2016-09-19 03:54:36 +02:00
Christoph Oelckers
3eb1af6957 - added a GetMissileDamage function to DECORATE which can be used to properly retrieve an actor's damage value.
The damage property should be considered deprecated inside expressions from now on.
2016-09-19 03:45:22 +02:00
Christoph Oelckers
f1ba19073f - split Damage into two variables: DamageVal for the old constant and DamageFunc for the DECORATE function.
The way this was done was a major headache inducer, requiring reconstruction of the function each time the value was changed and in general made actor damage a major hassle.
There was a DECORATE wrapper to mimic the original behavior but this looked quite broken because it completely ignored the different semantics of both damage calculation types.
It also made it impossible to determine if damage was a function or a value.
This accessor has been reverted to what it should be, only returning the constant, which now is -1 for a damage function. I am sorry if this may break the odd mod out but a quick look over some DECORATE-heavy stuff showed that this was never combined in any of them so that accessing 'damage' in DECORATE code depended on an actual damage function.

To get proper damage, a future commit will add a DECORATE function which calls AActor::GetMissileDamage.
2016-09-19 03:36:51 +02:00
Christoph Oelckers
967ed48fd3 - fixing. 2016-09-19 01:48:48 +02:00
Christoph Oelckers
718614a820 - cleanup 2016-09-19 01:07:51 +02:00
Magnus Norddahl
b1871b272b Merge branch 'exposure_pass' into lightmath 2016-09-18 19:31:36 +02:00
Magnus Norddahl
210dd6d26a Make bloom/exposure less aggressive 2016-09-18 19:31:09 +02:00
Christoph Oelckers
ceaa040750 - added a workaround to avoid sprite splitting when it may cause glitches for sprites that get rotated in the draw pass. 2016-09-18 17:45:02 +02:00
Christoph Oelckers
a5628518c1 - cut down on data size by not saving trivial defaults. 2016-09-18 16:41:34 +02:00
Magnus Norddahl
38be2333d0 Merge branch 'exposure_pass' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
2016-09-18 16:22:44 +02:00
Magnus Norddahl
8dd12c8216 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-18 16:01:21 +02:00
Magnus Norddahl
1e2935f4e0 Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing 2016-09-18 15:57:22 +02:00
Christoph Oelckers
9313a99e12 - started implementing a JSON based serializer. Unfortunately it is far too slow to be of any real use. 2016-09-18 13:26:34 +02:00
Christoph Oelckers
3db7d9ad84 - fixed: AActor::alternative was not declared as a pointer. 2016-09-18 12:22:56 +02:00
raa-eruanna
e47e6d1d6e Merge http://github.com/coelckers/gzdoom 2016-09-17 20:06:22 -04:00
Christoph Oelckers
6b4aee28bc Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-17 20:22:43 +02:00
Major Cooke
80c1baa596 Fixed: Pitch was rotating around the wrong axis. 2016-09-17 12:10:22 -05:00
raa-eruanna
962291d18e Merge http://github.com/coelckers/gzdoom 2016-09-17 11:32:57 -04:00
Christoph Oelckers
bec17bd222 - FLATSPRITE fixes. 2016-09-17 08:26:30 +02:00
Major Cooke
d01b0e061e Moved flatsprite code into CalculateVertices. 2016-09-16 12:07:28 -05:00
Major Cooke
66d20726c2 Reintroduced flat sprites once more.
- Take note, current flat sprites will change. With no pitch involved, sprites are now flat across the ground.
2016-09-16 11:47:20 -05:00
raa-eruanna
922360ae35 Merge http://github.com/rheit/zdoom 2016-09-16 11:49:45 -04:00
raa-eruanna
7da94e5aca Merge http://github.com/coelckers/gzdoom 2016-09-16 11:49:42 -04:00
Christoph Oelckers
7c2886e8ea - fixed the last commit:
The altered vertices must always be copied to the actual buffer and it's not necessary to copy everything, copying the 4 changed ones is sufficient.
2016-09-16 08:10:19 +02:00
raa-eruanna
476b727d5d "actorlist" and "actornum" no longer return already-owned inventory objects 2016-09-16 00:47:56 -04:00
Magnus Norddahl
3c1868f7e6 Fix wrong flash rectangle size after window resize 2016-09-16 02:53:19 +02:00
raa-eruanna
a83477e549 Merge http://github.com/rheit/zdoom 2016-09-15 19:18:56 -04:00
raa-eruanna
ac70f77e44 Added the following ccmds:
actorlist, actornum, monsternum, itemsnum, countitemsnum
Modified the following ccmds:
 monster, items, countitems

All commands with "num" at the end simply print a count of their respective filters, all other listed commands now print a list and a count.
2016-09-15 15:09:36 -04:00
Magnus Norddahl
0d27996a64 Replace CheckRatio with AspectTallerThanWide in DrawHUD 2016-09-15 07:52:53 +02:00
Magnus Norddahl
48f491cfd1 Fix video mode selection bug 2016-09-15 07:52:53 +02:00
Magnus Norddahl
95fef44200 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-15 00:31:34 +02:00
Christoph Oelckers
d128e28044 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-14 21:05:45 +02:00
Leonard2
cb17e109f1 Added "division by zero" to the VM-aborting errors 2016-09-14 20:47:00 +02:00
Leonard2
65af26f962 The VM now properly aborts on critical errors 2016-09-14 20:46:18 +02:00
raa-eruanna
4ccba9c49e Merge http://github.com/rheit/zdoom 2016-09-14 14:08:41 -04:00
raa-eruanna
343cde4595 Merge http://github.com/coelckers/gzdoom 2016-09-14 14:08:19 -04:00
Christoph Oelckers
8b6e09ca09 - changed the license of the OpenGL renderer to LGPL v3.
This was done to clean up the license and to ensure that any commercial fork of the engine has to obey the far stricter requirements concerning source distribution. The old license was compatible with GPLv2 whereas combining GPLv2 and LGPLv3 force a license upgrade to GPLv3. The license of code that originates from ZDoomGL has not been changed.
2016-09-14 20:01:13 +02:00
raa-eruanna
842558384a Forgot to set vid_renderer defaults for Linux and Mac. 2016-09-14 07:33:31 -04:00
raa-eruanna
b0029fcd1e Set version to 0.0 (prerelease), set render defaults for true-color software renderer since that is the focus of this project 2016-09-14 06:38:08 -04:00
raa-eruanna
3ebf8c7e74 More code fixes - now it compiles. 2016-09-14 06:28:39 -04:00
raa-eruanna
004c7de89b Part 1 of code merge 2016-09-14 04:03:39 -04:00
raa-eruanna
b17b7446cb Merge http://github.com/coelckers/gzdoom 2016-09-14 03:15:56 -04:00
raa-eruanna
81545d9b4e Merge http://github.com/rheit/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-14 02:24:59 -04:00
raa-eruanna
b85e3b56e3 Establish QZDoom 2016-09-14 02:21:35 -04:00
Major Cooke
3b2359959e Quakes must use their own independent falloffs.This caused discrepencies and sudden drop-outs in stacked quakes otherwise. 2016-09-13 23:06:57 -05:00
Braden Obrzut
f1bca9d20e The old DirectX setup is required to utilize v140_xp.
Revert "- removed DirectX setup from CMakeLists for Visual Studio"

This reverts commit 954ac8ce5e.
2016-09-13 20:12:59 -04:00
Magnus Norddahl
c54b4e74f5 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-13 23:44:12 +02:00
Magnus Norddahl
017d1cee29 Change canvas rendering to use the aspect ratio of the canvas and generalize 5:4 rendering as AspectTallerThanWide 2016-09-13 23:42:05 +02:00
Magnus Norddahl
172f58c165 Fix 5:4 aspect ratio gun and status bar 2016-09-13 23:42:05 +02:00
Christoph Oelckers
0c0e716ccd Merge remote-tracking branch 'remotes/zdoom/master' 2016-09-13 23:37:30 +02:00
Christoph Oelckers
a98f364cc3 - added another missing nullptr check. 2016-09-13 23:37:19 +02:00
alexey.lysiuk
dcabcaa5b6 Fixed compilation on non-Windows platforms 2016-09-13 22:10:07 +03:00
Christoph Oelckers
ba68cfd611 - do not even allow creation of names in C_RemoveTabCommands if there are no tab commands, so that FindName cannot be called after the NameManager has been destroyed. 2016-09-13 21:01:50 +02:00
Christoph Oelckers
e10abcad06 - fixed: The TabCommands array needs to be cleared before the NameManager is destroyed.
TabCommands use an FName to store the command's name so once the NameManager is destroyed its data will become invalid.
This is a problem because C_RemoveTabCommand is being called from FBaseCVar's destructor and most CVARs are global variables.
2016-09-13 10:43:53 +02:00
Christoph Oelckers
c593dda8f3 - added missing nullptr check. 2016-09-12 23:03:27 +02:00
Magnus Norddahl
0fc5ee1ffd Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-12 22:30:46 +02:00
Christoph Oelckers
3778799f92 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-12 21:33:49 +02:00
Christoph Oelckers
823f75e592 - fixed: UDMF user value lists need to be sorted for binary search to work but weren't. 2016-09-12 21:32:17 +02:00
Magnus Norddahl
b378b3d05a Remove black bars from windowed mode 2016-09-12 20:43:45 +02:00
alexey.lysiuk
b308a7df52 Proper name of FMOD .dylib in loading path adjustment for macOS 2016-09-12 20:37:13 +02:00
alexey.lysiuk
9c91686e0f Set delay loading for proper .dll depending on FMOD version (Studio vs. Ex) 2016-09-12 20:37:13 +02:00
alexey.lysiuk
7e61a1ce2b Added simple detection for FMOD Studio API in CMake 2016-09-12 20:37:12 +02:00
alexey.lysiuk
c88eec3d73 Fixed 'unreferenced local variable' warnings when building with FMOD Studio API 2016-09-12 20:37:12 +02:00
alexey.lysiuk
764705a8e0 Fixed 'Could not set resampler method. Defaults will be used. (Error 31)' message with FMOD Studio API 2016-09-12 20:37:11 +02:00
alexey.lysiuk
a2a1d2a36d Fixed significant distortion of sound effects with FMOD Studio API 2016-09-12 20:37:11 +02:00
Magnus Norddahl
7bdbaaff22 GL aspect ratio adjustments 2016-09-12 20:29:26 +02:00
Magnus Norddahl
7070bded77 Merge remote-tracking branch 'origin/aspectratio' into aspectratio_gzdoom 2016-09-12 20:03:21 +02:00
Magnus Norddahl
01b1efe9ee Switch from abs to fabs 2016-09-12 18:44:04 +02:00
Magnus Norddahl
4e58e6626c Fix buffer overrun in CommandAspectRatio for 21:9 aspect ratio 2016-09-12 16:05:42 +02:00
Magnus Norddahl
5b438d220f Switch from ratio enum to float 2016-09-12 15:51:50 +02:00
Magnus Norddahl
6d4e4dad25 BaseRatioSizes replacement functions 2016-09-12 14:37:10 +02:00
Magnus Norddahl
5720634045 Add ActiveRatio to be used where CheckRatio is used today 2016-09-12 13:59:01 +02:00
Magnus Norddahl
b003c47e3e Improve CheckRatio to always return the closest ratio 2016-09-12 13:37:05 +02:00
Magnus Norddahl
d3d8180f57 Resize framebuffer in windowed mode to match the client area 2016-09-12 13:04:36 +02:00
Magnus Norddahl
a0b6a0275c Fix random texture sampling bug 2016-09-11 11:09:40 +02:00
Christoph Oelckers
be647dc7b2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-11 00:45:40 +02:00
Christopher Bruns
924aaa3a92 fixed: Delay setup of quad-buffered stereo 3d mode, in case a useful OpenGL context is not immediately provided. 2016-09-11 00:45:17 +02:00
Magnus Norddahl
03d0b09f29 Fix depth blur 2016-09-10 22:39:09 +02:00
alexey.lysiuk
66c5121e38 Do not use OpenGL Core Profile for software renderer on macOS 2016-09-10 17:54:19 +03:00
Christoph Oelckers
71f4bacbd7 - missed something for last commit. 2016-09-10 12:36:44 +02:00
Christoph Oelckers
d3246be488 - draw wall sprites without translucent pixels as opaque. This looses the border smoothing with texture filtering but avoids sorting problems. 2016-09-10 12:24:13 +02:00
Christoph Oelckers
30cb651d92 - completely removed the flat sprite code.
This was conceptionally so wrong that there is no chance to salvage any of it.
2016-09-10 10:58:53 +02:00
raa-eruanna
02e4ba464a Fixed mirror angle issue, fixes rendering of mirrors 2016-09-10 08:56:40 +02:00
Magnus Norddahl
303da0e071 Fix center text alignment issue 2016-09-09 20:09:54 +02:00
Magnus Norddahl
63fb604e98 Fix stripes in the reconstructed normals due to down scaling 2016-09-09 18:19:00 +02:00
raa-eruanna
b0e104d566 Merge http://github.com/coelckers/gzdoom 2016-09-09 11:31:31 -04:00
Magnus Norddahl
8861b1aaff Grab tanHalfFovy from the projection matrix 2016-09-09 09:47:46 +02:00
Magnus Norddahl
f6bede8374 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.z
2016-09-09 09:31:30 +02:00
Magnus Norddahl
d83a72f361 Add missing IsEnabled check 2016-09-09 00:36:12 +02:00
Magnus Norddahl
63dc394913 Present function for left, right and quad-buffered stereo3d 2016-09-09 00:36:11 +02:00
Magnus Norddahl
8b7267cf87 MaskAnaglyph present mode 2016-09-09 00:36:11 +02:00
Magnus Norddahl
ccbe5160b0 Split F2DDrawer::Flush into Draw and Clear 2016-09-09 00:36:10 +02:00
Magnus Norddahl
aaa3581ee6 Hook up eye textures in renderer 2016-09-09 00:36:10 +02:00
Magnus Norddahl
4bdd872f09 Add eye textures and FBOs to FGLRenderBuffers 2016-09-09 00:36:09 +02:00
Christoph Oelckers
b9ca3c85f8 - fixed: translucency detection in multipatch textures did not work.
- fixed: The flat drawer never checked if a texture had translucent parts.
2016-09-08 12:18:09 +02:00
raa-eruanna
dede94b7e2 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
#	src/win32/hardware.cpp
#	wadsrc/static/menudef.txt
2016-09-08 03:26:11 -04:00
raa-eruanna
32f758de41 Merge branch 'truecolor' of https://github.com/dpjudas/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-08 03:19:08 -04:00
raa-eruanna
5a64307ad1 Changes the tonemap generation algorithm. 2016-09-08 00:51:48 +02:00
Christoph Oelckers
7e2e3e8768 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-08 00:48:27 +02:00
Magnus Norddahl
e794e59cd2 Add con_scale for scaling just the console 2016-09-08 00:39:52 +02:00
Magnus Norddahl
d2f8fc63fc Scale the console itself as specified by con_scaletext 2016-09-08 00:39:51 +02:00
Magnus Norddahl
6414e01354 Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext 2016-09-08 00:39:51 +02:00
Major Cooke
01e9d351b4 - Don't pass flags directly from A_Explode to P_RadiusAttack. XF_EXPLICITDAMAGETYPE would cause explosions to deal no damage otherwise. 2016-09-08 00:38:12 +02:00
Major Cooke
043ada24da Wave quakes now stack. 2016-09-08 00:38:12 +02:00
Major Cooke
ce13b5c6e1 Enhanced FastProjectile trails.
- Trails now copy pitch, and set the projectile as the target.
- Added GETOWNER flag. Using it sets the owner of the fast projectile as the target instead, if it has an owner.
2016-09-08 00:38:11 +02:00
yqco
2e8aa53e6a Add SetActorFlag ACS function
int SetActorFlag(int tid, str flagname, bool value);

- Mimics DECORATE's A_ChangeFlag
- Returns number of actors affected (number of things with the flag)
- Affects activator if TID is 0

# Conflicts:
#	src/p_acs.cpp
2016-09-07 20:44:56 +02:00
Christoph Oelckers
33ac551a9a Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-06 22:37:15 +02:00
Christoph Oelckers
f536523fbd - It's Height, not height... 2016-09-06 22:36:53 +02:00
Christoph Oelckers
77a79048f8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-06 22:35:27 +02:00
Christoph Oelckers
5a3147407e - fixed floatification error in A_MaulerTorpedoWave. 2016-09-06 22:34:59 +02:00
Christoph Oelckers
181e5dc4db - fixed floor clipping of sprites. 2016-09-06 22:18:47 +02:00
Christoph Oelckers
bfe34f4dc7 - cleanup. 2016-09-06 21:39:13 +02:00
Christoph Oelckers
a36d89405a - separated the coordinate calculation from GLSprite::Draw. 2016-09-06 12:22:00 +02:00
Christoph Oelckers
a5c0f9a548 - use the predefined fullscreen vertices for clearing a portal instead of using the quad drawer. 2016-09-06 11:58:22 +02:00
Christoph Oelckers
3ce25bc348 - fixed: FxPreIncrDecr depended on undefined compiler behavior.
It could only work with right to left function argument processing, but with left to right it failed because the ParseExpressionA call altered sc.TokenType.
Note that with register-based arguments on 64 bit platforms this is a very critical issue!
2016-09-06 08:41:13 +02:00
Christoph Oelckers
74ede7bb4e - fixed: The DrawBlend call in the postprocessing case was using the global 'viewsector' variable directly.
As with the Stereo3D stuff, this cannot be done because recursive processing of portals will change it. Instead the local copy has to be used here, just like the EndDrawScene call already did.
2016-09-05 09:10:29 +02:00
alexey.lysiuk
108dcf122a Updated support for legacy renderer in Cocoa backend
Added fallback to legacy profile when creation of pixel format for core context failed
Added handling of -glversion command line switch
2016-09-04 15:25:37 +03:00
Christoph Oelckers
d2ead39bcc - force framebuffers for camera textures on GL 3+ hardware. With all the postprocessing stuff added I don't think it's ok to use the screenbuffer for this anymore.
- disable framebuffers for camera textures in legacy mode entirely. This depends on a GL_DEPTH24_STENCIL8 surface which most of these old chipsets do not support, and I really see no point to invest any work here. The worst that can happen is that oversized camera textures won't be processed, which, due to general performance issues, might even be a good thing.
2016-09-04 14:16:05 +02:00
Christoph Oelckers
95bedac6ca - inlined FHardwareTexture::GetTexDimension. 2016-09-04 13:14:14 +02:00
Christoph Oelckers
8b01a88b76 - removed gl_lights_size and gl_lights_intensity.
Both of these were inherited from ZDoomGL and in terms of light design in maps it makes absolutely no sense to have them user configurable. They should have been removed 11 years ago.
2016-09-04 12:45:09 +02:00
Christoph Oelckers
e7856ce1e3 - removed unused forceadditive parameter from gl_GetLight.
- restricted gl_lights_additive to legacy code and removed menu entry for this.

For modern hardware this setting is completely pointless, it offers no advantage and degrades visual quality. Its only reason for existence was that drawing additive lights with textures is a lot faster, and that's all it's being used for now.
2016-09-04 12:35:26 +02:00
Christoph Oelckers
37d0f97808 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 10:29:15 +02:00
Christoph Oelckers
954ac8ce5e - removed DirectX setup from CMakeLists for Visual Studio
For VS 2015 this is no longer needed, the DX headers and libraries are part of the Windows SDK and do not need to be looked for explicitly.
2016-09-04 10:28:29 +02:00
Christoph Oelckers
eff03d13f0 - fixed last commit. 2016-09-04 10:28:29 +02:00
alexey.lysiuk
677efb73bc Fixed compilation with GCC/Clang
No longer aborts with error: cannot pass object of non-trivial type 'FString' through variadic method; call will abort at runtime
2016-09-04 10:05:07 +03:00
Christoph Oelckers
f021d13ead Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 08:33:40 +02:00
Christoph Oelckers
77ac3bb265 - fixed angle range checks in A_CheckIfTargetInLOS.
The fixed point version had a mostly useless check that excluded ANGLE_MAX, this got incorrectly converted to floating point.
Note that this version will clamp the angle to 360°, not merely overflow like it did with the fixed point code
2016-09-04 08:33:19 +02:00
Magnus Norddahl
3727c5ed0f Mark portals in scene alpha channel for the SSAO pass 2016-09-04 08:15:29 +02:00
Magnus Norddahl
527703ae8c Fix missing flash if multisampling was on and no post processing effects active 2016-09-04 03:21:47 +02:00
Magnus Norddahl
5f02e08c8e Fix minimize crash 2016-09-04 03:15:50 +02:00
Magnus Norddahl
dc39a006dc Fix palette tonemap precision and compile error on Intel 2016-09-04 02:37:59 +02:00
Christoph Oelckers
4eda5f841e Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 01:46:49 +02:00
Christoph Oelckers
217601f338 - fixed: FPortal::ClearScreen may not use the 2D drawing code anymore.
2D calls are accumulated and then executed all at once at the end of the frame, but this one needs to be interleaved with the 3D rendering. It now uses the quad drawer to fill the portal with blackness.
2016-09-04 01:46:29 +02:00
Blue-Shadow
2ed4208a1b Added IfCVarInt SBARINFO command 2016-09-03 18:55:19 +03:00
Christoph Oelckers
c3ad0a2f16 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-03 17:29:47 +02:00
Christoph Oelckers
f31346968f - added missing #include. 2016-09-03 17:29:28 +02:00
Christoph Oelckers
3ae2e77512 - added xBRZ files. 2016-09-03 16:55:16 +02:00
Christoph Oelckers
4a80f8e4ed - fixed: Camera textures and savegame pictures should not be drawn with a Stereo3D mode. 2016-09-03 16:54:17 +02:00
Christoph Oelckers
e08015a181 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-03 14:02:28 +02:00
Christoph Oelckers
aece9aaa58 - added xBRZ texture scaler after clearing the licensing conditions. A screenshot of the confirmation that this is ok has been added to the 'licenses' folder. 2016-09-03 14:01:51 +02:00
Christoph Oelckers
5770e5dfaf - split up m_specialpaths.cpp to be a separate file for each operating system.
The reason for this is that the macOS version uses a deprecated API and in order to correct this, the file needs to be compiled as Objective-C++ which requires a different extension.
2016-09-03 12:00:08 +02:00
arookas
d7b5bdc0f7 Renamed Thing_Damage3 to DamageActor 2016-09-03 08:27:38 +02:00
arookas
d14782fb37 Added Thing_Damage3 function
It acts as a simple wrapper around P_DamageMobj which can damage a
single actor, but can also set the actor inflicting the damage. It
returns the amount of damage actually done, or -1 if the damaging was
cancelled.
2016-09-03 08:27:38 +02:00
Magnus Norddahl
e7765bb240 Move SSAO pass to be before translucent rendering
Fix depth sampling location when not using fullscreen scene
2016-09-03 04:29:50 +02:00
Magnus Norddahl
902097d6da Resolve multisampling depth in shader 2016-09-03 04:12:00 +02:00
Magnus Norddahl
b1c1e6aae7 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
2016-09-03 01:17:16 +02:00
Christoph Oelckers
8b7a87f256 - fix conditions for DrawBlend calls. 2016-09-03 00:43:18 +02:00
Christoph Oelckers
90ab0223a6 - handle colormap parameter reset when renderbuffers are toggled. 2016-09-03 00:36:23 +02:00
Magnus Norddahl
77dde2e3ad Fix not switching back to the default frame buffer when gl_renderbuffers is toggled off 2016-09-03 00:13:05 +02:00
Christoph Oelckers
ee503ea275 - removed now redundant mystdint.h file.
Visual Studio now ships stdint.h so this workaround is no longer needed.
2016-09-02 10:55:56 +02:00
Magnus Norddahl
98032bc73f Change SSAO blur to be depth aware 2016-09-02 05:45:00 +02:00
Magnus Norddahl
5a0c61a2d5 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/scene/gl_scene.cpp
2016-09-02 02:40:44 +02:00
Christoph Oelckers
7135a6909c Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-02 00:44:10 +02:00
Major Cooke
c4357bd352 Tracer pointer is no longer a safe candidate for storing player morph pointers. Instead, actors must have a new, non-manipulatable pointer. This fixes the following circumstances:
- Crashes occurred if a particular actor was a tracer to the player and the actor was not gone by the time the player unmorphs.
- Failed unmorphs occur if tracer was manipulated through means like A_RearrangePointers, etc.
2016-09-01 13:49:58 -05:00
Christoph Oelckers
4e8027612f - restored 2 lines of code that somehow got lost before the last commit. 2016-09-01 17:38:17 +02:00
Christoph Oelckers
589936f570 - draw the colormap blend after postprocessing, not before it.
- added colormap shader to postprocessing.

This replaces the in-place application of fullscreen colormaps if renderbuffers are active. This way the fully composed scene gets inverted, not each element on its own which is highly problematic for additively blended things.
2016-09-01 17:14:51 +02:00
Christoph Oelckers
7efae2c8f8 - fixed: When requesting GL version 2.x, do not try to create a core profile context, because that can not support legacy features. 2016-09-01 12:14:20 +02:00
Christoph Oelckers
3389a5a74e - removed most of the specific options for legacy hardware and consolidated them in one variable (does not work yet.) 2016-09-01 11:52:52 +02:00
Magnus Norddahl
8a2737a0ce Fix precision issue in SSAO shader 2016-09-01 07:15:40 +02:00
Christoph Oelckers
4a0e082836 - fixed: The wall splitter in the translucent sorting code needs to set fracleft and fracright so that vertex generation is done correctly for the split segments. 2016-08-31 23:26:49 +02:00
Christoph Oelckers
4993018520 - fixed: Actor velocity requires an upper limit to prevent uncontrolled accumulation, as can happen when multiple exploding and pushable objects overlap. The value 5000 was chosen because it is high enough to not occur under regular circumstances and small enough to prevent severe slowdowns. In the old fixed point code the lack of such a check just caused random overflows. 2016-08-31 09:18:59 +02:00
Magnus Norddahl
55ea4a7729 Add ssao random texture 2016-08-30 01:09:21 +02:00
Christoph Oelckers
45ff15559d - removed gl_draw_synv because with the postprocessing this is no longer useful. 2016-08-30 00:33:02 +02:00
Magnus Norddahl
240ebf94a1 Remove radius increase in point light modes 2016-08-29 22:42:46 +02:00
alexey.lysiuk
3ba3149df3 Deleted remains of obsolete multisampling in Cocoa backend 2016-08-29 22:08:57 +03:00
alexey.lysiuk
b7ec26335f Enabled OpenGL Core Profile on macOS 2016-08-29 22:03:25 +03:00
Magnus Norddahl
737e700774 Added SSAO pass 2016-08-29 13:10:22 +02:00
Magnus Norddahl
a1d90e1229 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-08-29 12:58:20 +02:00
Christoph Oelckers
8f535997f8 - enable core profile by default on GL 3.x.
After doing some profiling it was very obvious that this has better performance than client arrays. Persistent buffers are still better, though, especially for handling dynamic lights.
2016-08-29 11:33:20 +02:00
Christoph Oelckers
0f0dc2c852 - implemented buffers for GL 3.x. These only get mapped during the data collection pass so the order of some things is different here. 2016-08-29 10:43:03 +02:00
Magnus Norddahl
e0e43ee7b3 Fix mColor reset value 2016-08-29 05:31:12 +02:00
Magnus Norddahl
71387b1b42 Fix wrong initial mClipSplit values. 2016-08-29 05:19:47 +02:00
Magnus Norddahl
945d5b154a Remove gl_vid_multisample 2016-08-28 18:10:39 +02:00
Magnus Norddahl
bb066f6f07 Fall back to gl_renderbuffers 0 if buffer creation fails 2016-08-28 18:07:44 +02:00
Christoph Oelckers
3299a29c44 - added CheckClass ACS function. 2016-08-28 16:14:24 +02:00
alexey.lysiuk
47714509d6 Changed render buffers format back to RGBA16F
Reverted a03b2ff48b to fix issues with nVidia graphics on macOS
2016-08-28 11:15:16 +03:00
Christoph Oelckers
03d055a5ec - adjustments for message modes. 2016-08-28 10:11:09 +02:00
Christoph Oelckers
abafcd5486 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/language.enu
2016-08-28 10:00:19 +02:00
Christoph Oelckers
e04055dbb2 - added multiple message levels for 'developer' CVAR so that the important stuff won't get drowned in pointless notification spam that's of no use to anyone.
- made 'developer' CVAR persist across launches and added some menu entries for it.
- added checks for 'developer' to ACS's CheckInventory function.
2016-08-28 09:55:04 +02:00
alexey.lysiuk
9b91a13487 Restored legacy way to collect OpenGL extensions 2016-08-28 10:21:20 +03:00
Braden Obrzut
716fbec8ee - Added support for building with FMOD Studio Low Level API (partially based off of Emile Belanger's/Beloko Games Android work)
- Use with FMOD Studio 1.06.x. 1.07 and 1.08 compile but for some reason produce a lot of noise on vanilla Doom sounds.
	- Crashes when used with fluidsynth provided by Ubuntu 16.04, but a self compiled version of the library works just fine.
	- Reverbs are mostly untested, but implemented.
	- Debug waveform drawing is not implemented as it requires a non-trivial amount of work.
	- It will still show as FMOD Ex in the menus since I'm too lazy at the moment to make it a "separate" backend.
2016-08-27 22:14:57 -04:00
Magnus Norddahl
6c5109ec99 Fix uninitialized mPipelineTexture and fix BindCurrentTexture using the wrong handle 2016-08-27 06:24:36 +02:00
Magnus Norddahl
b1a0108a96 Fix tonemap palette not being rebuilt on palette change 2016-08-26 19:52:15 +02:00
Christoph Oelckers
c9578ae72d - create vertex buffer data for horizon portals in the constructor instead of in the draw function.
This was the last remaining place where the vertex buffer was accessed in the render pass.
2016-08-26 18:18:50 +02:00
Christoph Oelckers
5303526c70 - actually use the parameter... 2016-08-26 08:34:27 +02:00
Christoph Oelckers
597e10116f - added missing framebuffer function to fudging block. 2016-08-26 08:30:47 +02:00
Christoph Oelckers
58bc64ee8f Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-26 02:20:53 +02:00
Christoph Oelckers
10550c4ef0 Merge branch 'init_global_state' of https://github.com/dpjudas/zdoom 2016-08-26 02:20:00 +02:00
Christoph Oelckers
465792df0a - make sure that after travelling has finished, no travelling thinkers are left in the list.
Since this list is excluded from regular thinker cleaning, anything that may survive through the end of G_FinishTravel will endlessly multiply and severely break the following savegames or just simply crash on broken pointers.
2016-08-26 02:16:06 +02:00
Christoph Oelckers
abba548e40 - render sector hacks through the quad renderer if the vertex buffer is not accessible. 2016-08-26 02:03:24 +02:00
Magnus Norddahl
5f09d3b7ef Add FBufferedUniformSampler because sampler uniforms may default bind to other locations than zero 2016-08-26 01:46:39 +02:00
Magnus Norddahl
b68bbaf617 Fix uninitialized memory access if a FShaderProgram is destroyed without being fully compiled and linked 2016-08-26 01:40:28 +02:00
Magnus Norddahl
960038bb81 Clear global state tracking variables when the OpenGL context is (re)created 2016-08-26 01:36:21 +02:00
Christoph Oelckers
f6544f3c44 - removed unused GLFLat::sub and all codes depending on it a valid pointer. 2016-08-26 00:04:29 +02:00
Christoph Oelckers
6755cb2a25 - use the quad drawer for skybox-flagged sectors. 2016-08-26 00:02:32 +02:00
Christoph Oelckers
b83c2056a8 - store the stencil caps in the reserved part of the main vertex buffer instead of constantly recreating them. 2016-08-26 00:01:51 +02:00
Christoph Oelckers
76d7b52fcd - handle the case where a wall gets drawn with an unmapped buffer and no vertex data.
This uses the quad drawer because it can only happen with translucent walls that got split during sorting.
2016-08-25 23:20:23 +02:00
Christoph Oelckers
4598c4138c - added vertex initialization for walls in the processing pass for core profile without persistent buffers.
This is slower than doing it in the render pass so it's only active when actually needed - it's also slower than using a client array so this code only gets used when there is no choice but to work with a 3.x core profile context.
2016-08-25 23:13:49 +02:00
Christoph Oelckers
8f331f56e2 - use MakeVertices directly in the portal code and remove all related code from RenderWall. 2016-08-25 23:02:43 +02:00
Christoph Oelckers
8cf53f04e8 - split off the vertex creation from RenderWall. 2016-08-25 22:54:08 +02:00
Christoph Oelckers
4ab8ca63ce - use more desctiptive names for the predefined vertex buffer indices. 2016-08-25 22:23:31 +02:00
Christoph Oelckers
4a822a8f50 Merge branch 'master' of c:\programming\doom-dev\zdoom into Branch_97ff4cc02574e3773ff231b1d74c0fdb25e9440d 2016-08-25 22:02:23 +02:00
Christoph Oelckers
9ca6764556 Revert "- removed STAT_INVENTORY."
This reverts commit 5ff0abe568.

- use STAT_INVENTORY only for held items.

Seems this was causing some strange issues with hubs, but for items placed in the world it still cannot be allowed to have them in a different statnum.
2016-08-25 21:41:17 +02:00
Christoph Oelckers
48430d9b1a - don't assume that deserializing an actor will result in a valid pointer.
This addresses a very strange crash I encounteded while travelling in a hub, and ended up with a NULL pointer after the 'Serialize' call which means that some code cleared the variable that is currently being deserialized. I was completely unable to find out what caused this because there is so much recursion going on in the deserializer. All actions on the deserialized actor are now being done with a local copy of that variable so that altering the actual one won't have any adverse effects.
2016-08-25 21:15:53 +02:00
Magnus Norddahl
9525d3690f Added gl_light_math and changed pixelpos + lights to be in eye space 2016-08-25 06:25:05 +02:00
alexey.lysiuk
f79c442df5 Fixed compilation of SDL backend 2016-08-24 16:44:40 +03:00
alexey.lysiuk
52b51e79b9 Fixed missing decals in compatibility renderer
The problem was appeared in conjunction with dynamic lights only
See http://forum.zdoom.org/viewtopic.php?f=4&t=19321&start=405#p932733
2016-08-24 10:27:14 +03:00
alexey.lysiuk
a185886924 Added compatibility handling for fog and dynamic lights used together
See http://forum.drdteam.org/viewtopic.php?t=7063
2016-08-24 10:26:11 +03:00
Magnus Norddahl
25645d901e Add Palette LUT tonemap mode 2016-08-23 09:18:18 +02:00
Christoph Oelckers
13a583faee Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-22 22:02:44 +02:00
Christoph Oelckers
9555617816 - fixed: The default for position.w is 1, so gl_quaddrawer.cpp needs to set this, too, for the uniform vertex positions. 2016-08-22 22:02:02 +02:00
Christoph Oelckers
b946114145 - removed unused variable. 2016-08-22 22:00:45 +02:00
Magnus Norddahl
276fb7dbb2 Add vid_maxfps support for Windows and Linux 2016-08-22 22:00:44 +02:00
Magnus Norddahl
1594cc9570 Only use KHR_debug if available 2016-08-22 19:25:13 +02:00
Christoph Oelckers
250be72939 - added handling for drawing with uniform vertices. It draws something but in the wrong place. Right now I have no idea what's happening... 2016-08-22 15:31:23 +02:00
Christoph Oelckers
7ba5acfb35 - added quad drawer interface so that this part can be done without altering a vertex buffer.
So far it's only the framework, the new code is not active yet.
2016-08-22 14:00:25 +02:00
Major Cooke
e22043a25b Fixed: A_FaceMovementDirection would not adjust the angle if it was actually under the limit. 2016-08-22 09:46:00 +02:00
yqco
df4a8e38c5 Add CheckActorState ACS function
bool CheckActorState(int tid, str statename, bool exact = false);

- Same parameter order as SetActorState
- Returns true if actor has the state; else returns false
2016-08-22 01:21:38 -06:00
Magnus Norddahl
302f59ea33 Fix r_clearbuffer color not being used 2016-08-22 01:52:51 +02:00
alexey.lysiuk
3e01039bbb Fixed missing #include for GCC/Clang 2016-08-21 15:47:56 +03:00
Christoph Oelckers
dde81b33ea - glEnable(GL_TEXTURE_2D) only makes sense if no shaders are being used. 2016-08-21 08:45:21 +02:00
Christoph Oelckers
5c267a2169 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/language.eng
2016-08-21 08:42:06 +02:00
Christoph Oelckers
5ff0abe568 - removed STAT_INVENTORY.
This was causing issues with sprite sorting. For this to work as intended, all actors in the world that display sprites need to remain in spawn order, including inventory items.
The only thing this statnum was used for were some bot related search actions which are simply not worth breaking actual maps for some very minor performance gain.
2016-08-20 19:10:14 +02:00
Christoph Oelckers
97ff4cc025 Merge branch 'debug' of https://github.com/dpjudas/zdoom 2016-08-20 12:34:56 +02:00
Magnus Norddahl
f63635e07a Fix RFL_INVALIDATE_BUFFER check being inverted 2016-08-19 01:11:11 +02:00
Christoph Oelckers
eadc2f35dd - fixed: The crossfade wipe must use its own alpha for the second layer, not the one from the vertex buffer. 2016-08-19 00:21:17 +02:00
Magnus Norddahl
e8fc935f04 Another IsFilteredByDebugLevel typo.. 2016-08-18 02:24:57 +02:00
Magnus Norddahl
4241026f1c Swapped order in IsFilteredByDebugLevel 2016-08-18 02:21:53 +02:00
Magnus Norddahl
f75b6d8c5d Improve debug level filtering 2016-08-18 02:10:54 +02:00
Magnus Norddahl
b21b65eb43 Rearrange binding of texture and sampler to get rid of texture state usage warning 2016-08-18 01:32:41 +02:00
Magnus Norddahl
01f9a2d27a Fix clear warning 2016-08-18 00:21:33 +02:00
Magnus Norddahl
18ff65fb0e Filter logging to only display each message once 2016-08-17 23:52:20 +02:00
Magnus Norddahl
d380d765c9 OpenGL object labels and debug groups 2016-08-17 23:18:47 +02:00
Magnus Norddahl
2825bd4967 Fix invalid value error 2016-08-17 21:25:31 +02:00
Magnus Norddahl
a37225b81e Don't debug break on notifications 2016-08-17 21:25:03 +02:00
Magnus Norddahl
0c2db5447c Save gl_debug in ini file and add support in Linux 2016-08-17 20:57:00 +02:00
Magnus Norddahl
2cb5f1740e Add OpenGL debug messages to the console 2016-08-17 20:33:10 +02:00
Magnus Norddahl
fc01a6b832 Only query for GL_MAX_SAMPLES once 2016-08-17 17:59:47 +02:00
Magnus Norddahl
3c08f5ae48 Fix multisample count bug 2016-08-17 17:37:49 +02:00
Magnus Norddahl
5eeac830eb Clear and InvalidateFramebuffer optimization 2016-08-17 17:37:13 +02:00
Magnus Norddahl
fa2bcebd51 Add KHR_debug and ARB_invalidate_subdata 2016-08-17 16:48:11 +02:00
Christoph Oelckers
314e89b84f - fixed what looks like a copy/paste error in A_Explode. 2016-08-16 10:53:30 +02:00
Leonard2
e93b64f249 Fixed: a register from a return statement's value would not be freed 2016-08-16 08:59:27 +02:00
Major Cooke
aa2ca77412 Added damagetype parameter and XF_NOACTORTYPE to A_Explode.
- By default, A_Explode will refer to the actor's damagetype if using none. The flag forces the function's type if used regardless of type.
2016-08-16 08:59:27 +02:00
Christoph Oelckers
c02960e2cf - added error message highlighting for one overlooked DECORATE error. 2016-08-16 08:58:29 +02:00
Magnus Norddahl
a8d1197ea7 Make sure we never pass a negative value to pow, and optimize gamma uniform 2016-08-16 00:01:18 +02:00
Magnus Norddahl
a03b2ff48b Change render buffers from RGBA16F to RGBA16 2016-08-15 23:51:49 +02:00
Christoph Oelckers
ac80ffcc00 - fixed scissor calculations in 2D drawer. 2016-08-15 08:53:49 +02:00
Christoph Oelckers
df0f06a5ce - fixed: FraggleScript's SetCamera function must call SetOrigin to set the camera's z. This needs updating of floorz and ceilingz, in case the camera is moved past a 3D floor. 2016-08-14 23:33:31 +02:00
Christoph Oelckers
0a555038e3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-14 22:11:17 +02:00
Christoph Oelckers
6deb185b46 - fixed another typo in scroller code.
Now Scroll_Texture_Model is working properly again. (Note: Whoever designed this function must have been on drugs - its use of the source data in Boom is completely insane.)
2016-08-14 22:10:44 +02:00
Christoph Oelckers
c59fd26d8a Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-08-14 21:57:04 +02:00
Christoph Oelckers
47d2fd403c - fixed typos in scroll code. 2016-08-14 21:55:20 +02:00
Christoph Oelckers
4275aed3d9 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-14 20:52:35 +02:00
Christoph Oelckers
a0d66be6e9 - fixed: Terrain splashes could be generated for 3D floors that were below the sector's actual floor. 2016-08-14 20:52:13 +02:00
Christoph Oelckers
e03696a6c9 - fixed: The model matrix must be disabled right after rendering the sky dome, so that it won't get used for the skyfog layer. 2016-08-14 20:11:46 +02:00
Christoph Oelckers
4e8a96aa0e - removed FRenderState::set2DMode because it had no effect. This looks like development garbage from old times. 2016-08-14 09:14:26 +02:00
Magnus Norddahl
f8cc56ea3a Move SetOutputViewport to OpenGLFrameBuffer::Update as it cannot be safely called from Begin2D 2016-08-14 09:05:54 +02:00
Magnus Norddahl
fd4422eb62 Restore bound texture when FGLRenderBuffers::Setup finishes 2016-08-14 09:05:53 +02:00
Magnus Norddahl
94b72d25e9 First render may not have known scene dimensions 2016-08-14 09:05:52 +02:00
Magnus Norddahl
af62352860 Fix uninitialized data in render buffers at creation 2016-08-14 09:05:52 +02:00
Magnus Norddahl
847d2e8862 Fix viewport not being updated when resizing window when no scene is active 2016-08-14 09:05:51 +02:00
Magnus Norddahl
4e38f31a86 Change GetClientWidth/GetClientHeight on macOS to grab size from view.
Fix that GetClientWidth/Height returns 0 when queried before initial show.
Allow window to be resizable on macOS.
2016-08-14 09:05:51 +02:00
Magnus Norddahl
647ef5d029 Fix blur shader to use RenderScreenQuad 2016-08-14 09:05:50 +02:00
Magnus Norddahl
210fce1193 Fix bloom shader missing its target 2016-08-14 09:05:50 +02:00
Magnus Norddahl
4ecb77385d GetScreenshotBuffer bug fix 2016-08-14 09:05:49 +02:00
Magnus Norddahl
d5b122b092 Fix GetScreenshotBuffer grabbing from wrong location 2016-08-14 09:05:48 +02:00
Magnus Norddahl
c817979eae Remove GetTrueHeight from GL renderer and concentrate all viewport calculations in SetOutputViewport 2016-08-14 09:05:48 +02:00
Magnus Norddahl
f56250b910 Remove premultiplied alpha 2016-08-14 05:10:34 +02:00
Christoph Oelckers
353a464f5b - fixed: The 2D texture drawer did not reset the render state's color so any previously set desaturation would persist. 2016-08-13 22:15:00 +02:00
Christoph Oelckers
34c62c4d33 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-12 09:23:24 +02:00
Major Cooke
9dd458030e This isn't needed. It's already checked at this point. 2016-08-12 09:17:21 +02:00
Major Cooke
7ffccd0009 Fixed: RGF_KILLED was not part of the mask.
- Greatly optimized DoRadiusGive by putting actor flag checking first ahead of pointer, classname and species checking.
2016-08-12 09:17:20 +02:00
Major Cooke
ec14dd94a7 A_Explode now returns the number of actors damaged and can be used in expressions.
- Enemies that do not take damage in any way are not counted.
2016-08-12 09:17:20 +02:00
yqco
ee7d933ed6 Add assert for previous I_Error condition 2016-08-11 04:47:17 -06:00
yqco
054f5c963e Use verbose error message with DECORATE array indices 2016-08-11 04:22:37 -06:00
Christoph Oelckers
0fdd80eae7 - removed debug Printf. 2016-08-10 16:32:31 +02:00
Christoph Oelckers
0e5a3ebe50 - fixed bad function call in vertex buffer init code. 2016-08-10 00:35:42 +02:00
Christoph Oelckers
36a4352867 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-09 20:15:35 +02:00
Christoph Oelckers
b4e712ab01 - made disabling the push window check a real compatibility option.
No idea why this was a hidden one, this one definitely needs to be in the menu.

- set some required compatibility options for Super Sonic Doom.
2016-08-09 20:15:13 +02:00
Christoph Oelckers
7104b01193 - added Hexen compatible handling to specials that stop perpetual sector movement.
This uses the same logic as Eternity.
2016-08-09 17:09:12 +02:00
Christoph Oelckers
054dd8e5d9 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-09 15:11:41 +02:00
Christoph Oelckers
6b27d0c3ba - fixed: FPolyObj::RecalcActorFloorCeil altered the floorz of all actors in the same blockmap block as the polyobject, even when they were nowhere near its bounding box.
This fix is still incomplete, it should really discard everything outside the polyobject, not outside its bounding box, but at least it eliminates the most severe occurences of dislocated items.
2016-08-09 15:11:11 +02:00
yqco
b2a6512981 Fix partial initialization in ACS PickActor function 2016-08-09 02:11:13 -06:00
Christoph Oelckers
30b49572e1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-09 10:07:41 +02:00
Christoph Oelckers
19b65195ea - added an internal compatibility option to disable setting the line ID for the Plane_Align special.
There have been reports for some Skulltag maps a few years back and I just ran across an old beta version of a map that got completely broken by this.
2016-08-09 10:07:06 +02:00
Magnus Norddahl
abef073ea4 Implemented sloped planes for true color mode 2016-08-09 01:17:45 +02:00
Magnus Norddahl
3c8719f945 Fix buffer overflow in FTexture::GenerateBgraMipmaps 2016-08-08 22:35:26 +02:00
Christoph Oelckers
56a60ebe85 - restored a line that got accidentally deleted. 2016-08-08 20:47:54 +02:00
Christoph Oelckers
e5f88a9883 - fixed: The textured automap was not using correct light levels.
In order for the externally passed vertex attribute to work the buffer's color attrib array needs to be disabled for these.
2016-08-08 16:18:07 +02:00
Christoph Oelckers
675822004d - use static buffer data and a uniform to handle the texture positioning of the present shader.
That's again one less write access to the buffer. The uniform method was chosen because this way a buffer update can be completely avoided, and setting a single uniform is a lot cheaper and simpler to handle.
2016-08-08 16:06:02 +02:00
Christoph Oelckers
8daaf61160 - predefine the vertex data for the blend overlay which will never change throughout the lifetime of the GLRenderer object. 2016-08-08 14:24:48 +02:00
Christoph Oelckers
d7c0dda722 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-08 13:08:41 +02:00
Christoph Oelckers
d62d345a7b - fixed: The cosine of 0° is 1, not 0, as the portal code assumed for linked portals. 2016-08-08 13:06:29 +02:00
Christoph Oelckers
9c9edbffdb - on older ATI drivers where the clip planes are broken, only disable the clip planes themselves, but not OpenGL 3.x so that dynamic lights still work as intended.
- only disable clip planes on Windows, but not on Linux or macOS.
- If a driver reports full OpenGL 4.5 support, assume that all features are working properly.
2016-08-08 12:55:09 +02:00
Magnus Norddahl
2ac91f0c5a Fix Nvidia driver ignoring wglSwapIntervalEXT 2016-08-08 12:22:40 +02:00
alexey.lysiuk
9ab9548723 Additional fix for splitting of complex wall in compatibility renderer
warp 2720 -200 -32 on Extreme Terror
https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/exterror
2016-08-08 12:19:37 +02:00
Christoph Oelckers
def3ad7533 - refactored all 2D drawing to use its own vertex buffer which does not need to be mapped permanently. 2016-08-08 12:13:09 +02:00
Christoph Oelckers
9a5cbbe6d8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-07 22:13:55 +02:00
Leonard2
b97024b710 The return statement now accepts any expression as its return value
So something like 'return ++user_x;' is now possible
Admittedly this needed quite a bit of refactoring mainly due to the fact that return types now have to be checked after resolving the function rather than before
2016-08-07 22:10:02 +02:00
Leonard2
e79c0225ed Added all compound assignment operators to DECORATE 2016-08-07 22:10:02 +02:00
Leonard2
90cc79a902 Added the direct assignment operator to DECORATE 2016-08-07 22:10:01 +02:00
Leonard2
8437313e7c Added post/pre increment/decrement operators to DECORATE 2016-08-07 22:10:01 +02:00
Leonard2
2ef51d0d50 Re-allow casts in sequences 2016-08-07 22:10:00 +02:00
Leonard2
db9f4c1385 Re-allow indexes as state parameter in sequences 2016-08-07 22:10:00 +02:00
Leonard2
a4142ad9fb Re-allow action function calls with no argument list in sequences 2016-08-07 22:09:59 +02:00
Leonard2
078881a941 Parse statements as expressions in sequences
This will be needed for assignment operators to work
2016-08-07 22:09:59 +02:00
Christoph Oelckers
ab837b608d - compatibility optioned triggering sector actions by indirectly initiated teleports
There's several old maps depending on this not happening.

- Set the option for Hell's Twisted Influence Part 1.
2016-08-07 22:04:16 +02:00
Edoardo Prezioso
5a66fdf9be - Hide Clang -Winconsistent-missing-override warnings in non-Apple targets, too. 2016-08-07 20:55:16 +02:00
alexey.lysiuk
5b079dd40b Fixed wrong height of player coordinates text 2016-08-07 11:32:55 +02:00
Magnus Norddahl
d4615861ae Fix missing FGLRenderBuffers::IsEnabled checks 2016-08-07 00:41:17 +02:00
Christoph Oelckers
04c59b434b - renamed WipeVertexBuffer to FSimpleVertexBuffer because this will be useful elsewhere, too. 2016-08-07 00:40:31 +02:00
Magnus Norddahl
2f512e54cd Remove unused code 2016-08-06 23:12:34 +02:00
Magnus Norddahl
7000d0ccf9 Change GetPixelsBgra to use CopyTrueColorPixels 2016-08-06 22:59:16 +02:00
Magnus Norddahl
21390e91b8 Remove linear sky again 2016-08-06 21:04:45 +02:00
Christoph Oelckers
52537b0af2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-06 20:57:46 +02:00
Magnus Norddahl
9953d70eaa Merge remote-tracking branch 'upstream/master' into truecolor 2016-08-06 20:45:35 +02:00
Christoph Oelckers
fd7b833ad5 - added some helper code mainly designed to help GZDoom maintain the vertex buffer for the textured automap. 2016-08-06 19:20:41 +02:00
Christoph Oelckers
8f0629932d - ImmRenderBuffer is not needed anymore. 2016-08-06 14:29:21 +02:00
Christoph Oelckers
6a66d0255d - use a dedicated vertex buffer for rendering the wipes.
- fixed: The postprocessing shaders clobbered the render state's vertex buffer info by bypassing and not notifying it of the change.
2016-08-06 14:12:40 +02:00
Christoph Oelckers
7576e85cef - force use of shaders on all hardware, unless -noshader is specified.
Right it's only for easy testing, so only the code that does the feature checking has been disabled.
2016-08-06 13:06:55 +02:00
Christoph Oelckers
2e555e6dab - use client arrays on compatibility profiles instead of calling glBegin/glEnd.
This eliminates most behavioral differences for FFlatVertexBuffer between both operating modes, now the only difference is where the buffer is located.
2016-08-06 12:03:16 +02:00
Magnus Norddahl
346badf25f Moved state to FGLPostProcessState and merged vertex shaders 2016-08-06 11:51:08 +02:00
Christoph Oelckers
13a2bf57e5 - fixed vertex coordinate ordering for the sky cubemap.
This was done differently for FFlatVertex and FSkyVertex which caused a switch of the y and z coordinates for the skybox image.
2016-08-06 11:47:03 +02:00
Christoph Oelckers
5b201287fa - fixed bad #pragma pack combination in hqnx_asm_Image.h 2016-08-05 15:27:35 +02:00
Christoph Oelckers
09e40840b5 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-05 15:15:11 +02:00
Magnus Norddahl
a893013dbb Adds HUD quadruple scale and a scale slider for the crosshair 2016-08-05 12:20:34 +02:00
Leonard2
01fb2eaecc Fixed a typo in FxBoolCast::Emit 2016-08-05 12:16:13 +02:00
Leonard2
73d0ed78fe Fixed: the game could crash while resolving expressions in some places 2016-08-05 12:16:13 +02:00
Leonard2
4a859393fe Fixed: the game could crash while parsing expressions in some places 2016-08-05 12:16:12 +02:00
Christoph Oelckers
9229146eeb - fixed: DFloor set the 'gap' for one wrong movement type. 2016-08-05 12:13:47 +02:00
Christoph Oelckers
13527fdd0a Merge branch 'lensshader' of https://github.com/dpjudas/zdoom 2016-08-05 00:58:14 +02:00
Magnus Norddahl
976a78429e Simplify post process buffer handling 2016-08-04 17:16:49 +02:00
Christoph Oelckers
1d434add50 - fixed: monsters which were made friendly by the MBF map flag lost their friendliness when being revived with Thing_Raise. 2016-08-04 17:14:31 +02:00
Magnus Norddahl
6fc7596d52 Fix aspect ratio and texture clipping in lens shader 2016-08-04 15:47:15 +02:00
Christoph Oelckers
21536781a9 - forgot to save this. 2016-08-04 13:01:42 +02:00
Christoph Oelckers
63ad7d99d1 - fixed: The dynamic light buffer's behavior needs to obey the gl.lightmethod variable, and not depend on presence of persistently mapped buffers.
Since there is a command line switch to revert to the lower behavior it can well be that they do not match.
2016-08-04 12:55:21 +02:00
Christoph Oelckers
7ba6269450 - changed rendering of sky cubemaps to use precalculated vertex data from the SkyVertexBuffer. 2016-08-04 12:16:53 +02:00
Christoph Oelckers
c1a4dd74c4 - added handling for Eternity's 'gap' parameter to:
Ceiling_LowerToFloor
Ceiling_LowerToHighestFloor
Ceiling_ToFloorInstant
Floor_RaiseToCeiling
Floor_RaiseToLowestCeiling
Floor_ToCeilingInstant
2016-08-03 12:59:40 +02:00
Christoph Oelckers
d8ab0b40dc Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-03 12:17:55 +02:00
Christoph Oelckers
95c3464973 - properly handle 3D floors with inverted planes in the list sorter. 2016-08-03 12:17:22 +02:00
Magnus Norddahl
6b9529d70f Added lens distortion shader 2016-08-02 17:32:21 +02:00
Magnus Norddahl
43e577ce79 Merge remote-tracking branch 'gzdoom_upstream/master' into postprocess_vbo_bind_fix
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
2016-08-02 10:00:53 +02:00
Magnus Norddahl
5a67ae6021 Fix missing VBO bind calls 2016-08-02 00:27:01 +02:00
Magnus Norddahl
f980a1f42b Fix wrong UV calculations when resizing or maximizing window 2016-08-01 15:12:13 +02:00
Christoph Oelckers
8aebfdb3ab - fixed: gl_bloom_amount may never be 0. 2016-08-01 11:29:28 +02:00
Magnus Norddahl
e8c98a5901 No gamma and player sprites on screenshots 2016-07-31 16:56:41 +02:00
Magnus Norddahl
7709db4bb0 Fix broken viewport/backbuffer location for WriteSavePic 2016-07-31 16:23:21 +02:00
Magnus Norddahl
a6354c74cf Fix incorrect viewport location when not using fullscreen HUD 2016-07-31 13:23:49 +02:00
alexey.lysiuk
d3457f4508 Implemented hardware gamma support for macOS
Hardware gamma is limited to main display only, use shader-based correction for other displays
2016-07-31 12:19:08 +03:00
Christoph Oelckers
a69182f9ef Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-31 09:19:36 +02:00
Christoph Oelckers
20f4975e2b Merge branch 'blurshader_120_fix' of https://github.com/dpjudas/zdoom 2016-07-31 09:17:28 +02:00
Magnus Norddahl
849e80074e Added GLSL 120 fallback support 2016-07-31 03:54:16 +02:00
Magnus Norddahl
b789aaa0eb Fix binding error that Nvidia didn't complain about but Intel on Mac does 2016-07-31 03:16:48 +02:00
Leonard2
c0d3eb997a Fixed: the instant weapon switch flag didn't work anymore 2016-07-30 23:50:14 +02:00
Christoph Oelckers
c93204cace Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-07-30 22:09:56 +02:00
Christoph Oelckers
bc51e98612 Merge branch 'blackscreenfix' of https://github.com/dpjudas/zdoom 2016-07-30 20:28:41 +02:00
Magnus Norddahl
1682b02c67 Fix glBindSampler state messing up post processing shaders 2016-07-30 19:54:20 +02:00
Christoph Oelckers
124c109e18 Merge branch 'multisamplingbuffers' of https://github.com/dpjudas/zdoom 2016-07-30 16:35:19 +02:00
Magnus Norddahl
cfc20d1198 Added multisample support to FGLRenderBuffers and added gl_multisample to the menus 2016-07-30 15:33:30 +02:00
alexey.lysiuk
bd3fd22ac9 Do not use unicode characters in macOS console window
The same characters as in stdout are now used to draw bars in console window on macOS
All messages are treated as in ISO Latin 1 encoding and bars looked like garbage output
2016-07-30 16:21:48 +03:00
alexey.lysiuk
7de242930a Removed obsolete gamma correct shader used on macOS only 2016-07-30 15:30:35 +03:00
alexey.lysiuk
cbe0a34f0b Fixed usages of abs() function with double arguments
Clang no longer issues "warning: using integer absolute value function 'abs' when argument is of floating point type"
2016-07-30 14:03:57 +02:00
Christoph Oelckers
39059b3b5c Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-07-30 13:26:37 +02:00
Christoph Oelckers
0c8a4689b8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-30 13:26:25 +02:00
Christoph Oelckers
5ddee98e70 - fixed: Voxels with scaled to 0 caused a division by zero crash. 2016-07-30 13:19:02 +02:00
alexey.lysiuk
0648ef693f Fixed compilation with Clang and GCC
No more "error: cannot pass object of non-trivial type 'FString' through variadic method; call will abort at runtime"
2016-07-30 13:04:16 +02:00
alexey.lysiuk
c0b86278e3 Removed old cruft from macOS OpenGL backend
The only thing left unimplemented is gl_smooth_rendered CVAR
2016-07-30 12:57:30 +03:00
Christoph Oelckers
b52d457146 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-07-30 11:45:19 +02:00
alexey.lysiuk
e2a2d38a25 Removed redundant comparison in compatibility renderer
Clang no longer reports "warning: comparison of array 'this->tcs' not equal to a null pointer is always true"
2016-07-30 10:25:42 +03:00
Xaser Acheron
a1a0da1f13 added SWF_SELECTPRIORITY flag to A_SelectWeapon 2016-07-29 18:48:54 -05:00
Major Cooke
36705b0f04 Added GZDoom version of SpriteAngle and SpriteRotation. 2016-07-30 00:33:33 +02:00
Christoph Oelckers
50765f8b79 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-30 00:32:29 +02:00
Christoph Oelckers
f4cbde856b Merge branch 'bloom' of https://github.com/dpjudas/zdoom 2016-07-30 00:30:27 +02:00
Major Cooke
13fa06fe7a Renamed GetProximity to CountProximity.
# Conflicts:
#	wadsrc/static/actors/actor.txt
2016-07-30 00:27:12 +02:00
Major Cooke
167cb28563 Added GetProximity(classname, distance, flags, ptr).
- Behaves similarly to A_CheckProximity but returns the count of classname instead of true/false.

# Conflicts:
#	wadsrc/static/actors/actor.txt
2016-07-30 00:26:55 +02:00
Leonard2
d0b953cbb7 Added for loops to DECORATE 2016-07-30 00:26:42 +02:00
Leonard2
e2fa8c2257 Added do-while loops to DECORATE 2016-07-30 00:26:41 +02:00
Leonard2
d1749233ec Added while loops to DECORATE 2016-07-30 00:26:41 +02:00
Leonard2
c4eafc1c38 DECORATE can now handle jump statements
break and continue were added but are not yet useable anywhere
This was made general enough so that loops and switch statements that accept breaks/continues can be done without much difficulty as well as goto statements with explicit labels if those are ever wanted
2016-07-30 00:26:41 +02:00
Major Cooke
dfed6ac1fb Added SpriteAngle and SpriteRotation properties.
- Includes four functions, A_SetSprite(Angle/Rotation) and GetSprite(Angle/Rotation).
- SpriteRotation offsets the angle of the sprite, allowing for actors to move backwards or sideways for example.
- SpriteAngle requires +SPRITEANGLE and sets the actor's sprite to the absolute rotation found at that angle. Overrides SpriteRotation once the flag is on.
2016-07-30 00:26:40 +02:00
Magnus Norddahl
9bfce5b6ea Moved post processing effects to its own file 2016-07-30 00:02:26 +02:00
Magnus Norddahl
5849c83028 Added bloom and tonemap to menus
Added gl_renderbuffers CVAR that disables render buffers
Added patch shader support to FShaderProgram
Added OpenGL 2 fallback support to render buffers
2016-07-29 21:31:20 +02:00
Magnus Norddahl
0efee85bd8 Added tonemapping and sector based exposure control 2016-07-29 00:36:43 +02:00
Major Cooke
6ada8aa644 Fixed A_CopySpriteFrame not working under certain circumstances. 2016-07-28 15:55:49 -05:00
Leonard2
5907ff662d Added a new state that the weapon jumps to when it is lowered all the way and the player is currently dead
The state is undefined by default to preserve the original behavior of having the weapon layer deleted which modders can now avoid by defining it properly
2016-07-28 17:42:22 +02:00
Magnus Norddahl
50f59bd3c7 Merge remote-tracking branch 'upstream/master' into truecolor 2016-07-28 10:54:44 +02:00
Christoph Oelckers
b8abec4e1f Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-28 09:20:48 +02:00
Christoph Oelckers
759753eadc - replaced more copystrings with FString. 2016-07-28 09:06:49 +02:00
Christoph Oelckers
66006a5c14 - use an FString to handle the new message. 2016-07-28 08:54:51 +02:00
yqco
58a6d7df1f Added optional prompt argument to MENUDEF's SafeCommand 2016-07-28 08:41:55 +02:00
MajorCooke
3d9591229e Added A_CopySpriteFrame(from, to, flags)..
- Copies a sprite/frame from one actor pointer to another. Sprite and/or frame copying can be disabled with flags CPSF_NO<SPRITE/FRAME>.
2016-07-28 08:39:32 +02:00
Jordon Moss
c0eb8f3b96 Added KILL Script type and associated flags and GameInfo keyword.
This is different from the original "Death Scripts" idea. This tackles
some issues I've found with the original idea (now you can have as many
scripts as you want, not just global and actor-defined). Also takes care
of other complaints about the original idea and push request. Flags and
their use are in code comments.
2016-07-28 08:34:23 +02:00
MajorCooke
1322ef2449 Renamed NODEATHJUMP to NODEATHDESELECT. 2016-07-28 08:29:47 +02:00
Leonard2
797f3aec0a Added a weapon flag to ignore a player's input when dead
The reason this is not set by default is because before that anyone could call A_WeaponReady within their Deselect state which would have allowed players to fire even when dead
2016-07-28 08:29:46 +02:00
Leonard2
bcb18cf7d8 Added a flag to prevent the weapon from jumping to its Deselect state when the player dies 2016-07-28 08:29:46 +02:00
alexey.lysiuk
f38f7adf17 Automatic layout for ammo images in alternative HUD
When ammo icon is displayed before text its position depends on number of digits in current and maximum amounts
2016-07-28 08:19:31 +02:00
Magnus Norddahl
69f52cc898 Added bloom shaders 2016-07-27 21:50:30 +02:00
Christoph Oelckers
da1762ac2c - fixed: DoSetMapSection could cause a stack overflow on large maps. Made it iterative instead of recursive to avoid that. 2016-07-27 16:27:40 +02:00
Christoph Oelckers
c9f93d9c88 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-27 11:28:55 +02:00
Magnus Norddahl
e82c38e4f9 Update copyright and typo fix 2016-07-27 11:15:20 +02:00
Magnus Norddahl
aeb7df09de Added hardware gamma option and improved window handling on Windows 2016-07-27 11:15:19 +02:00
Christoph Oelckers
f67243a40f - fixed: The NO_CHANGE constant shouldn't have been floatified because this is an input value for action specials which will remain integers. 2016-07-27 08:23:00 +02:00
Christoph Oelckers
071485b22e - fixed: If the resulting render style, after all adjustments, is None for the weapon sprite, do not attempt to draw it at all. 2016-07-25 11:55:47 +02:00
alexey.lysiuk
4345623e28 Fixed incorrect scaling of particles
http://forum.zdoom.org/viewtopic.php?t=52906
2016-07-24 14:25:31 +03:00
MajorCooke
41414830a5 - Fixed: A_Warp never properly positioned actors on floors, if they wound up in or on one 2016-07-24 01:02:21 +02:00
Blue-Shadow
121db8fd37 Fixed: The player failed to unmorph upon resurrection
This happened if the morphing was triggered by a PowerMorph power-up.
2016-07-24 00:59:35 +02:00
Blue-Shadow
69a00ddabb Added TRANSFERTRANSLATION morph flag 2016-07-24 00:56:57 +02:00
Magnus Norddahl
41e959e102 Adds the last texture filter mode (trilinear min filter with nearest magnification) 2016-07-23 18:57:37 +02:00
Christoph Oelckers
2cdc77de34 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-23 10:56:12 +02:00
Christoph Oelckers
54a120d612 - do not process subsectors if rendering a stacked sector portal and the clipper is set to 'blocked', i.e. no visible parts are present.
This solves the most severe occurences of sprites being drawn in front of a portal's contents. It is not a full fix, though, there's still some extreme cases where portals may glitch if some stuff gets between the camera and the actual portal area.
Normally this has to perform a full check of the subsector against the portal's camera-facing linedefs but that's too costly for those rare cases where it may be an issue.
2016-07-23 10:23:34 +02:00
alexey.lysiuk
a1a0bdefff Added support for older versions of DeHackEd patches
Patches from DeHackEd 2.3 and 2.4 are now loaded without warnings/errors
2016-07-23 11:09:52 +03:00
Christoph Oelckers
d405cf5b7c - fixed: Before rendering a sector stack portal the clipper needs to be completely filled, if the view point's subsector is not inside the portal. If this is not done, some setups where a recursive look into the originating area is possible may exhibit some issues. 2016-07-23 09:47:14 +02:00
yqco
4d6532d303 Added RGF_NORANDOMPUFFZ flag for A_CustomRailgun and A_RailAttack 2016-07-22 02:46:41 -06:00
MajorCooke
35666f1e09 Fixed a nullptr crash with flatsprite actors. 2016-07-21 13:12:59 -05:00
Christoph Oelckers
dd962798a5 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-21 12:01:53 +02:00
Christoph Oelckers
fa22acca5d - fixed: Dehacked's 'Speed' value should be treated as signed when being assigned to a double variable. 2016-07-21 12:01:06 +02:00
Christoph Oelckers
881731d76b Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-21 08:28:56 +02:00
Blue-Shadow
c428e376cd Added INFLICTORDMGTYPE flag to A_Damage* action functions
It forces the use of the inflictor's damagetype instead of whatever is
passed to the functions.
2016-07-19 08:34:55 +02:00
Blue-Shadow
d09ec5a930 Added DamageType ACS actor property 2016-07-19 03:16:12 +03:00
Magnus Norddahl
421cd2f403 Merge remote-tracking branch 'upstream/master' into truecolor 2016-07-17 23:36:35 +02:00
Christoph Oelckers
d4352dd1a7 - fixed slope calculation error. 2016-07-17 23:13:10 +02:00
alexey.lysiuk
8369833dc5 Fixed setting of custom color for static text in menu 2016-07-17 17:28:46 +02:00
Leonard2
446bc1018c Fixed: weapons didn't clear their flash layer when the player died 2016-07-17 17:28:45 +02:00
Leonard2
e482a54389 Fixed a crash with A_ClearOverlays 2016-07-17 14:27:56 +02:00
alexey.lysiuk
39042dc4bf macOS application controller is now using proper delegate protocol
Fixes compilation error with Xcode 8:
cannot initialize a parameter of type 'id<NSApplicationDelegate> _Nullable' with an lvalue of type 'ApplicationController *'
2016-07-17 08:02:55 +02:00
Christoph Oelckers
bce9929c22 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-16 19:57:09 +02:00
Christoph Oelckers
c150116f79 - fixed: When changing weapons due to starting or ending a Tome of Power effect, the PSprite's caller needs to be changed.
In this case the PSprite animation won't be changed, only the ReadyWeapon. But in order to work, the PSprite's caller needs to change as well so that the next weapon check does not fail.
2016-07-16 19:55:00 +02:00
MajorCooke
7544adfc91 Combined the target/master/tracer checking into AimBulletMissile. 2016-07-16 17:43:00 +02:00
MajorCooke
376c9b0306 - Optimized handling of puffs in the event they're null.
- Only spawn the puff as needed again if the projectile actually spawns.
2016-07-16 17:41:28 +02:00
MajorCooke
02064437c5 Fixed wrong angle/slopes being used and one too many &s for NOINTERACT. 2016-07-16 17:34:17 +02:00
MajorCooke
10fabc3ab7 Cleaned up code. Puffs no longer need ALWAYSPUFF.
- A_CustomBulletAttack and A_FireBullets will perform a second P_LineAttack to get a puff which only returns to the previous function after a tracer.
2016-07-16 17:34:17 +02:00
MajorCooke
4750dfd8b6 Added ability to set the puffs directly as the spawned projectile's target, master, and/or tracer. 2016-07-16 17:34:16 +02:00
MajorCooke
cc8e7f8de6 Cleaning finished. 2016-07-16 17:34:16 +02:00
MajorCooke
791852a6bd Cleaned up. 2016-07-16 17:34:15 +02:00
MajorCooke
3c7e1e0528 - Added the tracer actor spawning for A_FireBullets and A_CustomBulletAttack.
The projectiles spawning conditions rely upon the puff successfully spawning.

# Conflicts:
#	wadsrc/static/actors/actor.txt
2016-07-16 17:34:15 +02:00
alexey.lysiuk
ee72760f3a libc++ is now used by the linker too (when applicable) 2016-07-16 17:04:38 +02:00
alexey.lysiuk
58fb993402 Added ability to select ammo image and text display order in alternative HUD
Controlled via hud_ammo_order CVAR:
* 0 (default): image and text
* any other value: text and image
2016-07-16 16:15:59 +02:00
alexey.lysiuk
74fc45d7b7 Fixed instant boss brain spawning
There was a possibility of division by zero which led to nonsensical spawn time
http://forum.zdoom.org/viewtopic.php?t=52760
2016-07-16 15:39:57 +03:00
Christoph Oelckers
c5db5dff99 - fixed a crash when initializing the GL portal data for an incomplete or inactive portal. Also did a bit of cleanup on this code, the 'delta' member was never used. 2016-07-16 12:45:49 +02:00
Christoph Oelckers
a2f56b6ef5 - This should have been part of an earlier commit, no idea why it wasn't saved... 2016-07-16 09:35:20 +02:00
Jordon Moss
1ef8057fa7 Updated SurfaceSkin to take the path property. 2016-07-16 09:30:26 +02:00
Jordon Moss
6014bde3d0 Renamed PushSpriteFrame to PushSpriteMDLFrame for consistency. 2016-07-16 09:30:26 +02:00
Jordon Moss
8bbc04a46f Fixed a minor typo in SurfaceSkin validity check. 2016-07-16 09:30:25 +02:00
Jordon Moss
b3b2eb42c6 Added SurfaceSkin MODELDEF property, allows overriding MD3 per-surface skins. 2016-07-16 09:30:25 +02:00
Christoph Oelckers
bc7b439dd0 - addressed: MDL_INHERITACTORPITCH got the direction of the rotation wrong. Fixed by deprecating this flag (and also MDL_INHERITACTORROLL) and introducing proper flags, named MDL_USE*. This not only resolves the issue but also elimintates the nonsensical INHERIT part of the names. 2016-07-16 09:10:18 +02:00
Christoph Oelckers
f4b80a451e - fixed: The render style specific blend settings were overridden when adding code to ensure proper setup of all properties.
It turned out that the only thing that wasn't set is the alpha function, not the blend settings themselves.
2016-07-16 08:57:48 +02:00
Christoph Oelckers
943a799aee Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-16 08:30:33 +02:00
MajorCooke
b121284fc0 Added GAF_SWITCH to GetAngle, inverting the function to get the caller's angle on the pointer instead. 2016-07-14 17:14:17 +02:00
MajorCooke
09175a6a7a This wasn't supposed to be committed... 2016-07-14 09:55:13 -05:00
MajorCooke
59593e57c6 - Fixed: RGF_ITEMS wasn't considered a part of the RGF_MASK flag. 2016-07-14 09:27:29 -05:00
Leonard2
5c182c7fd7 Fixed a crash with heretic's ChickenPlayer class 2016-07-13 13:01:32 +02:00
Leonard2
05d1df3571 Fixed crashes with the A_CrispyPlayer and A_HandLower action functions
Simply using FindPSprite in those functions wouldn't be enough because if a mod is using the firehands layer when they are called this would go very wrong
2016-07-13 13:01:32 +02:00
Leonard2
3ea70980f9 Fixed: the strife firehands were interpolated if a mod used the layer before them
The flags were also already reset, no need to do it twice
2016-07-13 13:01:32 +02:00
Leonard2
b8e1bead0a Removed unneeded checks
GetPSprite cannot return a null pointer and calling setstate with a null pointer destroys it
2016-07-13 13:01:32 +02:00
Leonard2
da6e12d5bc Fixed: the weapon layer offsets were interpolated even after the player switched his weapon 2016-07-13 13:01:32 +02:00
Leonard2
75cb8c00a6 Fixed: the flags weren't properly reset if a mod used the old layers before the code used them 2016-07-13 13:01:32 +02:00
MajorCooke
e56196eb1a Disable facing camera rotations if the actor is a flat/wall sprite.
- It not only looks bad, it also throws off users when trying to make perfectly aligned images since the plane is distorted wildly.
2016-07-13 09:31:22 +02:00
MajorCooke
cc8d84cd5d Fixed sprites defaulting to rotate around the center instead of the offsets. Seeing how it's still useful however, ROLLCENTER can still be used to center upon actors that are offsetted like monsters. 2016-07-13 09:31:22 +02:00
Christoph Oelckers
2a42c20c8c Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-13 09:30:16 +02:00
MajorCooke
7ded355d5d Added rollcenter compatibility. 2016-07-13 09:29:36 +02:00
Christoph Oelckers
79264cb8cd - fixed missing QuakeEx parameter conversion. 2016-07-12 19:57:32 +02:00
Leonard2
bdeb233849 Fixed: conditionals didn't properly compile to vm code 2016-07-12 19:50:37 +02:00
Leonard2
bbdc64a955 Fixed bad serialization of float types
The value was written twice if it couldn't be reduced to a single precision value
2016-07-12 19:37:00 +02:00
Leonard2
af53f5a825 Properly use the boolean type in function declarations
This will get rid of useless casts like 'if (isPointerEqual(x))'
It will also allow for proper casting in parameters like using a state as a boolean which is allowed in if statements for example
2016-07-12 19:36:59 +02:00
Leonard2
371896b2cc Properly use the boolean type in expressions
This fixes things like 'if (GetCVar(x))' not working
2016-07-12 19:36:59 +02:00
subenji
7d1dc46665 Implemented fix discussed in http://forum.zdoom.org/viewtopic.php?f=2&t=52428 rearding UserVar corruption in savegames 2016-07-12 19:36:59 +02:00
Blue-Shadow
1f2c8181bb Added IfWaterLevel SBARINFO command 2016-07-12 19:36:58 +02:00
Braden Obrzut
e401588f40 - Set -stdlib=libc++ and disable inconsistent-missing-override warning with OS X Clang (the latter may be useful for recent versions of Clang in general, but I can't tell at the moment.) 2016-07-11 01:22:37 -04:00
Magnus Norddahl
19030b555f Fix sky stretching on widescreen displays 2016-07-06 20:19:01 +02:00
Christoph Oelckers
b2a88c1abd - fixed: mapthinghexen_t::flags needs to be unsigned.
This is necessary so that an incorrectly set 0x8000 bit won't enable all high flags.
2016-07-05 01:17:12 +02:00
Christoph Oelckers
6f57c9c8b1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-04 22:37:12 +02:00
Christoph Oelckers
b81876698f - changed P_ChangeSector so that for bridges it only keeps the floorz and ceilingz of the spawn position.
This is necessary to prevent moving sectors from altering the bridge's z-position. The bridge should remain at its current z, even if the sector change would cause floorz or ceilingz to be changed in a way that would make P_ZMovement adjust the bridge.
2016-07-04 22:36:27 +02:00
Magnus Norddahl
b0e9adfc10 Fix single layer skies by using a cube box rather than a cylinder 2016-07-04 16:33:19 +02:00
Christoph Oelckers
6b0b7ea049 - fixed sprite z coordinate calculation for flatsprites. 2016-07-04 01:00:01 +02:00
Christoph Oelckers
cc784fff14 Merge branch 'rollGZ2' of https://github.com/MajorCooke/zdoom 2016-07-04 00:45:37 +02:00
Christoph Oelckers
279b939521 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-07-04 00:44:52 +02:00
Christoph Oelckers
0b93e9b897 Merge branch 'roll' of https://github.com/MajorCooke/zdoom 2016-07-04 00:43:16 +02:00
Christoph Oelckers
d87665bfe0 - fixed: A_CheckTerrain must add to the actor's current velocity, not set it. 2016-07-04 00:39:35 +02:00
Christoph Oelckers
560c1d5c1c Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-03 13:43:44 +02:00
Christoph Oelckers
d6d9057f1f - removed the old way to stop the AnimatedDoor interpolation, now that the parent class can be told that we do not want one. This old code was no longer functionsl. 2016-07-03 13:42:54 +02:00
Christoph Oelckers
e42442732a Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-03 13:39:58 +02:00
Christoph Oelckers
1b6a850bf6 - fixed: DAnimatedDoor's main constructor did not disable ceiling interpolation. 2016-07-03 13:39:33 +02:00
Magnus Norddahl
13ef9a834c Compile fix for gcc/clang 2016-06-30 13:56:53 +02:00
Magnus Norddahl
d1617fcdf0 GCC compile fixes 2016-06-30 13:45:06 +02:00
Christoph Oelckers
3e3a0cdc3d Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-30 12:02:51 +02:00
Christoph Oelckers
7bdb98cc0b - removed debug stuff. 2016-06-30 11:31:00 +02:00
Christoph Oelckers
fc3682006a - fixed PointOnSide functions to consider 'on the line' as 'in front of'.
The bad code was taken from the 2005 floating point rewrite that, by comparing the value with '> -EQUAL_EPSILON', returned 1 for any value close to 0 (as 'on the line') so it was mistakenly reported as 'behind the line'.
2016-06-30 11:30:32 +02:00
Christoph Oelckers
c6fb35ed52 - added per-item colors for static text items in the menu.
For option menus this replaces the 'highlighted' parameter with an actual color, for list menus it adds a new parameter.
2016-06-30 10:27:14 +02:00
Christoph Oelckers
57667c2e0b Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/language.eng
2016-06-29 14:58:32 +02:00
Edoardo Prezioso
4defb6e967 - Fix myoffsetof using misaligned pointer access.
That could be a problem for particularly pedantic platforms.
2016-06-29 13:04:31 +02:00
MajorCooke
41d20fa6cf Fixed freeze with A_ClearOverlays. 2016-06-29 12:46:50 +02:00
Christoph Oelckers
6cf96372ba - fixed: incorrect flag masking for polyobjects disabled all line portals. 2016-06-29 12:46:20 +02:00
Christoph Oelckers
f8ae166281 - fixed return value inversion of FS's ceilingheight and floorheight functions. 2016-06-29 12:46:20 +02:00
Christoph Oelckers
a3450ab824 - removed unused cruft in FS code. 2016-06-29 12:46:19 +02:00
Christoph Oelckers
c6d8125b45 - fixed FraggleScript's resurrect function to call AActor::Revive to ensure that everything gets reset. 2016-06-29 12:46:19 +02:00
alexey.lysiuk
924b8105c5 Fixed splitting of complex walls in compatibility renderer
Example: +warp 2720 -200 -32 on Extreme Terror
https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/exterror
2016-06-29 12:34:35 +02:00
alexey.lysiuk
e6a7db99e4 Fixed missing polyobjects in compatibility renderer 2016-06-29 12:23:16 +02:00
alexey.lysiuk
fc8eaab57b Fixed crash in dynamic lights compatibility renderer
Reproduces using -iwad plutonia -file brutalv20b.pk3 +map map07
2016-06-29 12:21:39 +02:00
Christoph Oelckers
17c212d5bc - disable transparent door render hacks if any of the involved sectors contains floor slopes.
These lead to false positives but rarely represent actual hacks.
2016-06-29 12:19:00 +02:00
Magnus Norddahl
335ca12909 Merge remote-tracking branch 'upstream/master' into truecolor 2016-06-27 12:29:23 +02:00
Christoph Oelckers
a99ff71d18 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-06-27 12:01:48 +02:00
Christoph Oelckers
8e3263a433 - fixed return value inversion of FS's ceilingheight and floorheight functions. 2016-06-27 12:01:11 +02:00
Magnus Norddahl
7a65a0f595 Made mipmapping a little less aggressive 2016-06-27 11:57:27 +02:00
Magnus Norddahl
200d357b0d Linear filtering bug fix 2016-06-27 11:43:24 +02:00
Magnus Norddahl
8f38d3af99 Replaced the bicubic interpolation filter with a simple sharpening filter 2016-06-27 10:49:15 +02:00
Magnus Norddahl
6c037fa249 Throwing templates at the code redundancy problem in drawers 2016-06-26 21:23:32 +02:00
Magnus Norddahl
928e8e0d43 Improved linear filtering performance by adding a lookup table 2016-06-26 12:53:10 +02:00
Magnus Norddahl
4fd127651d Fixed fuzz drawer crash 2016-06-26 06:54:32 +02:00
Magnus Norddahl
3b6d177787 Added bicubic interpolation when generating mipmaps 2016-06-25 12:14:15 +02:00
Magnus Norddahl
7705463966 Improved linear filtering of walls
Fixed some crash bugs
Added mipmap and filtering options to the display menu
2016-06-25 10:33:35 +02:00
Magnus Norddahl
8ec420a597 Added support for more texture filtering control 2016-06-24 19:05:04 +02:00
Magnus Norddahl
b7f32d1bfc Added LoopIterator to the drawt family of drawers 2016-06-24 18:05:32 +02:00
Magnus Norddahl
698b5f3db1 Simplify drawer code by creating loop iterators
Fixed blending bug
2016-06-24 11:37:51 +02:00
Christoph Oelckers
96272fc8b8 - removed unused cruft in FS code. 2016-06-22 13:37:35 +02:00
Christoph Oelckers
4e1c53af91 - fixed FraggleScript's resurrect function to call AActor::Revive to ensure that everything gets reset. 2016-06-22 13:35:03 +02:00
Magnus Norddahl
7a0c801a18 Added mipmapping to wallscan 2016-06-22 08:23:16 +02:00
Magnus Norddahl
ca9d8e580e Increase command queue memory pool to 16 MB and make it flush if its exhausted 2016-06-22 00:51:16 +02:00
Magnus Norddahl
db4cba239a Renamed member variable to make it compile with gcc 2016-06-22 00:27:12 +02:00
Magnus Norddahl
e294906d69 Voxel support in true color mode 2016-06-22 00:22:06 +02:00
Magnus Norddahl
f81042b3e2 Fix warning generated by gcc 2016-06-21 22:10:04 +02:00
Magnus Norddahl
4142b6ed1b GCC compile fix 2016-06-21 22:03:34 +02:00
Magnus Norddahl
c235de5c22 Native mipmap support to FTexture 2016-06-21 21:55:08 +02:00
Christoph Oelckers
af20f31b94 Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-21 10:46:12 +02:00
Christoph Oelckers
4899c405c3 - fixed: all non-ZDoom compatibility profiles need compat_maskedmidtex set.
This was neither fixed in Boom nor MBF.
2016-06-21 10:45:17 +02:00
MajorCooke
613fa4c9e4 Fixed: GetDistance was missing the original Z check disabling introduced in commit bd16ccb. 2016-06-21 10:14:25 +02:00
Magnus Norddahl
d15af1524c Added mipmap support for floor and ceiling 2016-06-21 09:38:47 +02:00
Magnus Norddahl
c1b5ba5b90 Added SSE versions of bilinear filtering 2016-06-21 06:22:43 +02:00
MajorCooke
9df65f73fc Localized the input checker into P_Thing_CheckInputNum now called by both ACS and DECORATE.. 2016-06-20 09:41:46 -05:00
MajorCooke
26408a5043 Switched the pointer to AAPTR_DEFAULT. 2016-06-20 09:11:38 -05:00
MajorCooke
85a34bbb88 Added GetPlayerInput(int numinput, int ptr = AAPTR_PLAYER1).
- Works exactly like the ACS version, but with pointers instead. The pointer can be anything, so long as it can be identified as a player.
2016-06-20 08:49:57 -05:00
Edoardo Prezioso
6384e81d0f - Add support for Skulltag ACS IsNetworkGame.
Once known as PlayerOnTeam, then it became IsMultiplayer, but Skulltag code ignored emulated multiplayer, hence the new and clearer name.
2016-06-20 09:34:41 +02:00
Magnus Norddahl
c70aa1fe99 Added bilinear filtering 2016-06-20 08:24:02 +02:00
Magnus Norddahl
6daeb5a158 Blend mode fixes 2016-06-20 02:36:54 +02:00
MajorCooke
e02ed3a6f7 Take in the targeter layers if someone disables the safety and uses 0 for start and stop. 2016-06-20 01:15:51 +02:00
MajorCooke
ecfa7415b3 This small change was left out by mistake. 2016-06-20 01:15:51 +02:00
MajorCooke
30880aab79 And a bit more optimization... 2016-06-20 01:15:50 +02:00
MajorCooke
2b91db7b3a Refactored A_ClearOverlays. 2016-06-20 01:15:50 +02:00
MajorCooke
dd410876cf Added A_ClearOverlays(int start, int stop, bool safety).
- Clears a set of overlays in ranges [start,stop]. If unspecified, wipes all non-hardcoded layers. Safety determines whether to affect core layers or not (i.e. weapon). Returns the number of layers cleared.

Added no override boolean to A_Overlay and a boolean return type.

- If true, and a layer already has an active layer, the function returns false. Otherwise, sets the layer and returns true.
2016-06-20 01:15:49 +02:00
Magnus Norddahl
d3bc68a160 Disabled the AVX intrinsics 2016-06-19 23:37:22 +02:00
Magnus Norddahl
b322043724 Merge remote-tracking branch 'upstream/master' into truecolor 2016-06-19 23:13:16 +02:00
Magnus Norddahl
e72a032a11 Fixed alpha channel issue with textures 2016-06-19 23:12:10 +02:00
Magnus Norddahl
38aba81dcc Added more SSE drawers 2016-06-19 23:11:41 +02:00
Edoardo Prezioso
2f6c98ead3 - Added support for old Skulltag ACS PlayerTeam. 2016-06-19 22:57:42 +02:00
Edoardo Prezioso
de55d693f9 - Fixed ACS Singleplayer for non-net multiplayer. 2016-06-19 12:59:46 +02:00
Christoph Oelckers
8cf150e68a - set up portal rotations in the finalizing step, not during initialization.
Anything earlier may miss some information required to do this correctly.
2016-06-19 12:40:38 +02:00
Christoph Oelckers
da05dfa72e fixed: Polyobject-based line portals may not cache their angle as it may change at any time. 2016-06-19 12:32:45 +02:00
Edoardo Prezioso
4e148f00e6 - Fixed wrong Skulltag ConsoleCommand pcode name.
Also report this pcode as not supported by the program.
2016-06-19 12:01:29 +02:00
Christoph Oelckers
b364926e93 Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-19 11:53:17 +02:00
Christoph Oelckers
cebd877191 - fixed the center point calculation for triangular sectors.
The old method does not work as expected with the higher precision of doubles, so instead just average the 3 vertex positions to get the triangle's center.
2016-06-19 11:48:20 +02:00
alexey.lysiuk
2813a22740 Fixed inconsistent state of lights in compatibility renderer 2016-06-19 11:19:31 +03:00
Magnus Norddahl
3f905197d0 Moved vectorized drawers to their own files 2016-06-19 07:40:01 +02:00
Christoph Oelckers
7b99c883e1 - use the exact same semantics and methods to handle player visibility as in the software renderer.
This fixes invisible player sprites in recursive line portals.
2016-06-18 12:14:20 +02:00
Magnus Norddahl
3e7eb79729 Added some experimental AVX2 drawers 2016-06-18 11:17:59 +02:00
Christoph Oelckers
849ee50689 Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-18 10:01:44 +02:00
Christoph Oelckers
87d27b8db3 - fixed some crash issues with recent changes. 2016-06-18 10:01:24 +02:00
Magnus Norddahl
e7cdcd9c0a Change to one pass rendering to remove fuzz artifact 2016-06-18 05:20:34 +02:00
Edoardo Prezioso
56508a2d82 - Avoid issues with misused Strife actions. 2016-06-17 23:09:34 +02:00
Leonard2
24c73071f4 Fixed a crash with A_JumpIfNoAmmo
Non-weapon layers can pass the caller check even when there is no ReadyWeapon
2016-06-17 18:36:57 +02:00
Leonard2
68c483c041 Renamed the weapon action function caller check to ACTION_CALL_FROM_PSPRITE to avoid confusion
This was always checking for every psprites rather than just weapon layers
2016-06-17 18:36:57 +02:00
Leonard2
abc7113e09 Removed the INSTATECALL flag because it is now unused and was replaced by stateinfo 2016-06-17 18:36:57 +02:00
Christoph Oelckers
92e2ce2aef - adjustments for weapon rendering in GL.
This adds support for the new weapon state code and fixed some lighting calculations.
Note that this currently will not allow combination of HUD models with other sprite frames yet.
2016-06-17 17:21:42 +02:00
Christoph Oelckers
b7d13c0711 Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-17 16:18:24 +02:00
Christoph Oelckers
8ca07443f1 - fixed: Sprite splitting at 3D floors must set the fog parameters for the new light level. 2016-06-17 16:16:31 +02:00
Christoph Oelckers
05fabbe294 - fixed: G_InitNew may only clear the hub statistics when it is not called during loading of a savegame. 2016-06-17 16:14:58 +02:00
Christoph Oelckers
2c928a2cda - fixed: Strife's firehands' coordinates need WEAPONTOP being added because it cannot be taken from the main weapon layer which no longer exists when the hands appear. 2016-06-17 15:26:00 +02:00
Magnus Norddahl
4ef2fb3cdb Fixed multithreaded rendering issue with the fuzz effect 2016-06-17 14:45:52 +02:00
Christoph Oelckers
018615ca0d - fixed weapon-based Psprite adjustment to always use the weapon this was called from and make non-weapon specific checks only exclude the targeter. 2016-06-17 14:14:35 +02:00
Magnus Norddahl
822bbd5b9a Fuzz (invisibility) adjustments 2016-06-17 13:40:23 +02:00
Magnus Norddahl
f53e468f3f Fixed fill column rgba drawers 2016-06-17 12:38:00 +02:00
Magnus Norddahl
35c078dc1e Screenshot fix 2016-06-17 11:24:21 +02:00
Magnus Norddahl
12a50c140c Fix animated textures not updating in swtruecolor mode 2016-06-17 10:47:30 +02:00
Edoardo Prezioso
574f2936d4 - Fixed GCC/Clang compiler errors and warnings. 2016-06-17 10:19:03 +02:00
Magnus Norddahl
5963f29afd Added missing SetUpdated 2016-06-17 10:16:34 +02:00
Magnus Norddahl
000008e04d Fixed empty canvas in kdizd intermission screen 2016-06-17 10:14:33 +02:00
Magnus Norddahl
3089043b07 Fixed typo 2016-06-17 08:28:30 +02:00
Magnus Norddahl
3369a2747c Merge remote-tracking branch 'upstream/master' into truecolor
# Conflicts:
#	src/r_things.cpp
2016-06-17 08:23:42 +02:00
Magnus Norddahl
fee8650357 Add r_multithreaded and fix color issue 2016-06-17 08:02:41 +02:00
Christoph Oelckers
cfaa3e3fa9 - changed action function interface so that callers can be identified directly, instead of guessing it from looking at the parameters.
With arbitrary PSP layers the old method was no longer safe because the layer ID was not available in the action function.
2016-06-16 16:16:27 +02:00
Christoph Oelckers
7ccdbf9b62 Merge branch 'PSprites' 2016-06-16 16:16:16 +02:00
MajorCooke
c9f4620702 Reimplemented P_SetPsprite. 2016-06-16 07:24:00 -05:00
Xaser Acheron
de0301a704 split bfg self-damage code into its own function, A_RadiusDamageSelf 2016-06-16 00:43:07 +02:00
Xaser Acheron
481ef7a5b5 added SMMU-BFG11k-style 'damrad' property to A_BFGSpray 2016-06-16 00:43:07 +02:00
Xaser Acheron
8e8248284a added BFGF_HURTSOURCE and BFGF_MISSILEORIGIN to A_BFGSpray 2016-06-16 00:43:06 +02:00
MajorCooke
2d4eb8dde4 - Added limit parameter to A_RailAttack and A_CustomRailgun. 2016-06-14 18:20:43 -05:00
Magnus Norddahl
77c4786b9d Minor code cleanup 2016-06-14 23:05:20 +02:00
Magnus Norddahl
9c8c1e0ea5 Fixed window transparency bug 2016-06-14 00:27:08 +02:00
Magnus Norddahl
586d5cdf1e Normalize naming convention a little 2016-06-13 23:33:52 +02:00
Magnus Norddahl
69b2fa72e8 Moved RGBA draw stuff to its own header file 2016-06-13 23:10:54 +02:00
Magnus Norddahl
8ba6a4f175 Precache, Unload and FillSimplePoly bug fix 2016-06-13 21:39:55 +02:00
Christoph Oelckers
f1597a5d26 - fixed: Trace should set CrossedWater only if a water surface actually is crossed, i.e. the start of the trace and the end of the trace are on different sides of the surface.
This was incorrectly spawning splashes when shooting inside a deep water sector, but in most cases the splash just was not visible. It could become visible if its position got clipped by a nearby one-sided wall.
2016-06-13 21:30:58 +02:00
Magnus Norddahl
3ce2d8365d Fix HUD colors when hw2d is off 2016-06-13 20:01:31 +02:00
Magnus Norddahl
e31331bed2 Sloped plane adjustments 2016-06-13 19:09:48 +02:00
MajorCooke
82bc5e7bd1 Fixed wrong token for Light keyword. 2016-06-13 09:50:12 -05:00
Christoph Oelckers
d74584e5b2 - fixed: DAnimatedDoor must not start an interpolation on the door sector's ceiling. 2016-06-13 13:58:39 +02:00
Magnus Norddahl
cc10c2a970 Fix cameras and kdizd intro for true color mode 2016-06-13 03:16:48 +02:00
Magnus Norddahl
0f0859b0b2 Special colormap support for when no hw accel is available 2016-06-12 22:54:23 +02:00
Magnus Norddahl
350857a9f6 Fixed fuzz effect when using multiple cores 2016-06-12 19:19:44 +02:00
Braden Obrzut
624c935385 - Fixed: Floating point conversion error in SBarInfo DrawBar which broke interpolation. 2016-06-12 06:28:50 -04:00
Christoph Oelckers
b8e392eaa5 - do not try to load empty BEHAVIOR lumps.
These would otherwise print an error message but there's a lot of maps out there which only have an empty entry to mark the map as Hexen format.
2016-06-12 11:45:25 +02:00
Magnus Norddahl
42efc7334e Fix missing particles in true color mode 2016-06-12 00:50:43 +02:00
Magnus Norddahl
351874be30 Merge remote-tracking branch 'upstream/master' 2016-06-12 00:08:05 +02:00
Christoph Oelckers
373c59f924 - fixed inverse sign for rocket trail particle movement. 2016-06-12 00:05:23 +02:00
Christoph Oelckers
db2cef96d6 - removed unnecessary FLOAT2FIXED call in particle code. 2016-06-11 23:43:07 +02:00
MajorCooke
4c8028d64b - Fixed a discrepancy with A_FaceMovementDirection involving pitch adjustments going the wrong way both in motion, and standing still. 2016-06-11 14:07:27 -05:00
Magnus Norddahl
40b76dc9b0 Apply gamma when using true color output on Linux and Mac 2016-06-11 18:41:56 +02:00
Christoph Oelckers
9eb18a9e45 Merge branch 'master' of https://github.com/rheit/zdoom 2016-06-11 17:15:55 +02:00
Magnus Norddahl
5ae8e9e8c2 Fix missing colormap lookup 2016-06-11 16:17:30 +02:00
MajorCooke
fb286d1737 - Changed endsize to sizestep. Endsize affected more things than I thought it would. 2016-06-11 08:05:29 -05:00
Leonard2
ebe3f23677 Added GetCVar(string name)
Works like ACS's GetCVar
2016-06-11 10:15:49 +02:00
MajorCooke
d8bf958a06 Fixed: Frozen particles would still be deleted when frozen instead of doing nothing with. 2016-06-11 10:00:50 +02:00
MajorCooke
f787056198 - Added endsize parameter and SPF_NOTIMEFREEZE for A_SpawnParticle.
SPF_NOTIMEFREEZE processes particles with this flag regardless of time freeze. The endsize parameter changes the scale of the particle to that size throughout its lifetime linearly.
2016-06-11 10:00:50 +02:00
Magnus Norddahl
a6d696bbfd Undo removal of wallscan_np2 and wallscan_np2_ds 2016-06-11 00:50:36 +02:00
Magnus Norddahl
d5331e6095 Wallscan fix 2016-06-10 22:22:40 +02:00
Magnus Norddahl
07571da98c Improved how threaded rendering is handled 2016-06-10 18:43:49 +02:00
Magnus Norddahl
ffcfe0b54f Fix warning 2016-06-10 17:08:45 +02:00
Magnus Norddahl
9420826094 Merge remote-tracking branch 'upstream/master' 2016-06-10 16:59:20 +02:00
Magnus Norddahl
27156eb60a Linux compile fixes and missing variable declarations 2016-06-10 16:32:47 +02:00
Magnus Norddahl
103a6baac5 Support for drawing in multiple passes 2016-06-10 15:57:31 +02:00
Magnus Norddahl
6c70eaea2f Add jpeg bgra support 2016-06-10 15:56:50 +02:00
Magnus Norddahl
24f846f702 Bug fixes 2016-06-10 14:25:56 +02:00
Magnus Norddahl
05b6fe6174 Added true color texture support for walls and floors 2016-06-10 13:50:34 +02:00
Christoph Oelckers
c4d8950a7f - fixed: APROP_Friction was missing a 'break'. 2016-06-10 13:23:23 +02:00
Magnus Norddahl
c59db95cc8 Rewrote wallscan to fix buffer overruns and code duplication. 2016-06-09 23:12:38 +02:00
Christoph Oelckers
ef86b3975a - added 'strictdecorate' CVAR. If this is set to 'true', any DECORATE error that had to be demoted to a warning for backwards compatibility will be treated as an actual error. 2016-06-08 10:56:11 +02:00
Christoph Oelckers
cf21bb1524 - reinstated abort-on-error for any problem that gets reported during DECORATE code generation.
- fixed: DECORATE allowed a silent conversion from names to integers.

In old versions the name was converted to 0, since the scripting branch to the name index. Reverted to the old behavior but added a warning message.
2016-06-08 10:46:35 +02:00
Magnus Norddahl
c452d02573 Added multicore rendering to true color drawers 2016-06-07 15:25:11 +02:00
Magnus Norddahl
c5fcfb664f Changed rgba renderer to use a command queue system for its drawers 2016-06-07 00:55:52 +02:00
Christoph Oelckers
1703842a94 - fixed some issues with teleport fog:
* many calls didn't use TELEFOGHEIGHT, mostly those coming from external code submissions that never were tested on anything but Doom. Addressed by adding this value inside P_SpawnTeleportFog and making the distinction between projectiles and non-projectiles from P_Teleport also part of this function.
* there were still a few places which spawned the teleport fog directly, skipping all the added features of P_SpawnTeleportFog.
2016-06-06 10:48:40 +02:00
MajorCooke
b2d2389343 Fixed: Slanted flat + roll sprites didn't take DONTFLIP into account. 2016-06-05 15:51:23 -05:00
MajorCooke
53837de17d Added DONTFLIP flag.
- By default, when viewing a flat sprite from behind, the image is flipped around on the X axis. This may not always be desired, so this flag disables it.
2016-06-05 15:21:19 -05:00
MajorCooke
e58c6de7d6 DONTFLIP flag prevents the backside from flipping over. 2016-06-05 15:14:40 -05:00
alexey.lysiuk
c176d38b7e Fixed compilation with Clang 2016-06-05 19:41:08 +03:00
Magnus Norddahl
c058ab9cc9 Fixed non-standard __m128i usage in SSE_SHADE 2016-06-05 17:34:51 +02:00
Magnus Norddahl
0c8c9e0aea Added FDynamicColormap support to true color mode 2016-06-05 14:08:03 +02:00
alexey.lysiuk
56ce6abbc2 Fixed splitting of walls in compatibility renderer
Any wall adjacent to 3D floor sector were not rendered at all
2016-06-05 12:38:23 +03:00
Christoph Oelckers
8a08fb2f6a - fixed nullptr/bool mixup. 2016-06-04 20:52:56 +02:00
Magnus Norddahl
af02bafdeb Fixed missing some columns in transparency rendering 2016-06-03 22:57:36 +02:00
Leonard2
0b88bae458 The strife firehands now make proper use of the psprite layers 2016-06-03 19:46:31 +02:00
Leonard2
afa708c138 Allow psprite layers to be manipulated directly from the player's own body 2016-06-03 19:18:58 +02:00
Magnus Norddahl
373b59b94f Fix dovline4 being a define on X64_ASM 2016-06-03 14:06:44 +02:00
Magnus Norddahl
6160675e08 Added a few more SSE drawers 2016-06-03 12:42:08 +02:00
Leonard2
eeff17c550 Account for this on the renderer's side instead
This fixes the weapon's layer behaving differently when called from
A_Overlay (the flag would be set in this case breaking the offsets)
2016-06-03 00:50:12 +02:00
Leonard2
543414d31f Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Leonard2
bc334ccc9f Avoid creating the targeter layers if the inventory item isn't attached to
its owner yet
2016-06-03 00:50:11 +02:00
Leonard2
e1f139ddcd The targeter layers now use a proper Caller
This will avoid having to check for certain stuff and also allow them to not be destroyed when the ReadyWeapon is null like before
2016-06-03 00:50:10 +02:00
Leonard2
8244d2c844 Make sure never to call GetPSprite when the ReadyWeapon is null 2016-06-03 00:37:55 +02:00
Leonard2
9ee5e57340 Call GetPSprite here to update the ReadyWeapon but avoid doing so if it
is null

TickPSprites will take care of destroying the weapon/flash layers if the
ReadyWeapon is null
2016-06-03 00:37:54 +02:00
Leonard2
f14a840777 The ReadyWeapon is now assumed to not be null 2016-06-03 00:37:54 +02:00
Magnus Norddahl
7142faf41d Minor compile error fixes when X86_ASM is defined 2016-06-02 21:39:44 +02:00
Magnus Norddahl
02a39ef457 Added bgra support to SDL target 2016-06-02 20:05:08 +02:00
Leonard2
8668719bbc Revert "- re-added P_SetPSrite."
This reverts commit e6d89b9f71.
2016-06-02 20:02:03 +02:00
Leonard2
d933f77bf5 Fixed: the game could crash if some inventory items were destroyed in a
certain way
2016-06-02 20:00:22 +02:00
Magnus Norddahl
672b80898b Moved ColormapNum to visstyle_t and changed colormap to BaseColormap 2016-06-02 19:26:27 +02:00
Magnus Norddahl
41537a50ab Fix true color light calculation bug for decals 2016-06-02 16:52:41 +02:00
Magnus Norddahl
47f32d03cd Fixed some light and blending functions for the true color mode 2016-06-02 14:49:03 +02:00
Christoph Oelckers
2afadb0108 - fixed: ADehackedPickup was missing NULL pointer checks in nearly all methods that used RealPickup.
Some DECORATE hacks make it possible that this does not contain a valid pointer when these methods are called.
2016-06-01 23:41:34 +02:00
Christoph Oelckers
18ebe92cfc Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/g_level.cpp
2016-06-01 11:45:57 +02:00
Christoph Oelckers
26a15d0ccc - delete thinkers before starting to restore the savegame data to avoid interference of the old thinkers' Destroy() method with the newly loaded data.
Note that even with this change it is still not possible to unarchive any thinker pointers before the thinker list has been loaded as it would create broken lists.
2016-06-01 11:43:56 +02:00
Christoph Oelckers
978e522fb4 - fixed: portal-related sound calculations offset the sound in the wrong direction. 2016-06-01 11:14:25 +02:00
Christoph Oelckers
14e4a64c82 - fixed: Destroying a SkyViewpoint disabled all sector portals. 2016-06-01 10:10:18 +02:00
Magnus Norddahl
4f635983fc Add bgra support to OS X target 2016-06-01 08:54:39 +02:00
Magnus Norddahl
b9d7a98aec Change swtruecolor cvar to take effect immediately 2016-06-01 06:02:37 +02:00
Magnus Norddahl
e929eec80f Make x86 asm aware of swtruecolor 2016-06-01 05:28:14 +02:00
Magnus Norddahl
05220a7133 Added IsBgra() to DCanvas
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
Magnus Norddahl
045bad1b52 Removed the need for the pixel_canvas_t typedef 2016-05-31 05:31:32 +02:00
Magnus Norddahl
20b7743ec3 Added R_SetColorMapLight and R_SetDSColorMapLight 2016-05-31 01:49:39 +02:00
Magnus Norddahl
7080180d47 Added menu option for toggling true color output on and off 2016-05-30 13:32:24 +02:00
Magnus Norddahl
8aabc26cd9 Created standalone rgba drawing functions 2016-05-30 05:52:15 +02:00
alexey.lysiuk
5348a15b75 Added option to control dynamic loading of OpenAL
Dynamic loading is enabled by default, set DYN_OPENAL to OFF to link with static or dynamic library

# Conflicts:
#	src/sound/oalsound.cpp
#	src/sound/oalsound.h
2016-05-29 14:25:04 +02:00
Edoardo Prezioso
243030046a - Fixed issues with invalid GetMaxInventory calls. 2016-05-29 12:50:37 +02:00
Christoph Oelckers
44f09edf4c - fixed: monsters cannot crouch, so their crouch factor has to be 1, as 0 would yield incorrect results if the value is used in subsequent calculations (e.g. adjusting a trajectory to a target which can be or may not be a player.) 2016-05-29 12:48:27 +02:00
MajorCooke
bb91723174 - Added GetCrouchFactor(ptr).
Gets the crouch factor of a player. Can be set to target/master/tracer, as long as it's a player. Defaults to the first player.
2016-05-29 12:43:46 +02:00
MajorCooke
2719905ade - Added source and inflictor parameters to all A_Damage/Kill functions.
- Source is the actor to blame for the cause of damage (monster infighting for example). For missiles, modders should consider setting to AAPTR_TARGET.
- Inflictor is the actor doing the damage itself. Note that by changing this, it will take into account the flags on the pointed actor.
2016-05-29 12:40:17 +02:00
MajorCooke
33ddbe8ab3 Added SKYEXPLODE support for P_LineAttack on horizons. 2016-05-29 12:38:37 +02:00
Benjamin Moir
6633e41cca added CheckProximity to ACS 2016-05-29 12:38:37 +02:00
alexey.lysiuk
89016020a8 Used ISO Latin 1 encoding for title text in startup window on OS X
Windows version uses ANSI_CHARSET to handle the corresponding text
This solves the problem like in https://github.com/alexey-lysiuk/gzdoom/issues/63:
*** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.47/AppKit.subproj/NSCell.m:1684
Invalid parameter not satisfying: aString != nil
2016-05-29 10:58:12 +03:00
Magnus Norddahl
6e53c1bd12 Change render target output from PAL8 to BGRA8 2016-05-28 20:40:33 +02:00
Christoph Oelckers
4940f0249d Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-28 20:33:29 +02:00
Christoph Oelckers
fc25a74a03 - fixed: In case of a crash the buffered console output was not dumped to the rich edit control so it never got into the crash log. 2016-05-28 20:11:19 +02:00
Leonard2
360ad7a844 Replaced every remaining instances of the old layer names 2016-05-28 01:19:42 +02:00
Leonard2
2f5ae3b51e Changed the default layer indices and renamed them
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c Added A_OverlayFlags
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
Christoph Oelckers
c0fe86028d Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-27 23:47:19 +02:00
Leonard2
8f360f3bea Small refactor 2016-05-27 23:37:35 +02:00
Leonard2
b220db4ebe Fixed: a layer's movements weren't interpolated in some cases
The old position members would be incorrectly updated if a layer sets another layer's offsets and this layer ticks before the other
2016-05-27 23:37:34 +02:00
Leonard2
bca9829950 Fixed: a few members weren't properly initialized
This could go wrong if a layer had only one state of -1 tics
2016-05-27 22:58:27 +02:00
Leonard2
599fa7cfd1 Fixed: it was no longer possible to set the flash state in the very first
weapon's state

This was due to an oversight in my first commit
2016-05-27 22:31:18 +02:00
Christoph Oelckers
d43ea33031 - fixed: A_CustomBulletAttack may not rely on the parameter default setter to get a valid puff. This must be checked explicitly in the functions body to ensure it is never NULL. 2016-05-27 11:39:44 +02:00
Christoph Oelckers
b926cf35d5 - fixed: The portal init code should only delete REJECT if there's actually some portals to consider. 2016-05-27 09:45:17 +02:00
Christoph Oelckers
19003a7973 - fixed: The node builder's FindMapBounds function included all vertices generated by the node builder.
This could cause problems on maps with bogus nodes so it's better to only check vertices that are referenced by a linedef.
2016-05-27 09:38:33 +02:00
Christoph Oelckers
34c67b9eae - fixed: The NoiseList array was not cleared before use. 2016-05-27 00:00:27 +02:00
Christoph Oelckers
ded479b1a5 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-25 12:02:37 +02:00
Christoph Oelckers
cc685e982b - fixed: interactive line portals were always deactivated, regardless of alignment type. 2016-05-25 11:36:23 +02:00
Christoph Oelckers
f241d9773a - made P_NoiseAlert non-recursive to avoid stack overflow problems in large open-area maps with a high sector count. 2016-05-25 11:30:11 +02:00
Christoph Oelckers
72a3257400 - fixed: DIntermissionScreen::Init did not handle non-existent strings in the string table and crashed on a NULL pointer. 2016-05-25 01:45:55 +02:00
Christoph Oelckers
a0dc4ae738 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-24 13:53:52 +02:00
Christoph Oelckers
49234b1fc3 - fixed: UpdateRenderSectorList did some bad calculations for checking portal plane order. 2016-05-24 13:53:29 +02:00
Christoph Oelckers
e6d89b9f71 - re-added P_SetPSprite.
For debugging purposes it's better to have this as a function.
2016-05-24 13:05:43 +02:00
Christoph Oelckers
d058820c65 - fixed scroll speed calculation for Heretic. 2016-05-24 10:01:57 +02:00
Christoph Oelckers
d70601471a - fixed the spawn position of Strife's sentinel's attack's trail. 2016-05-24 09:37:01 +02:00
Christoph Oelckers
3bde8824a3 - fixed A_Burst's velocity calculation. 2016-05-24 09:32:30 +02:00
MajorCooke
1b1195df6a - Added limit parameter to A_RadiusGive.
- The function ends operation if the number of successfully given actors reaches this count.
2016-05-23 21:11:26 -05:00
alexey.lysiuk
aa6753383d Fixed fullscreen mode on non-default monitor in OS X backend
Fullscreen window was incorrectly placed on the main screen instead of the current one
Honestly I have no idea what was the reason behind that [NSWindow setFrameOrigin:] call
Apparently it's redundant and moreover it's incorrect for multi-monitor configuration
2016-05-22 13:22:07 +03:00
Christoph Oelckers
ae31e0ba72 - changed the default key name string because '#' is used as a comment in the config files. 2016-05-22 12:20:46 +02:00
Christoph Oelckers
db944df467 - fixed 3D floor rendering with nearby slopes. 2016-05-22 12:15:14 +02:00
Christoph Oelckers
eed32ee285 - fixed: The friction calculations for terrain based friction had some fixed/float mixups. 2016-05-22 12:11:39 +02:00
Christoph Oelckers
e43c9826dd Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-22 09:31:48 +02:00
Christoph Oelckers
36dfa97802 - fixed: Polyobjects did not save their specialdata pointer.
- fixed: DMovePoly did not save its m_Speedv member.

# Conflicts:
#	src/version.h
2016-05-22 01:27:05 +02:00
Christoph Oelckers
f184438032 - fixed: Polyobjects did not save their specialdata pointer.
- fixed: DMovePoly did not save its m_Speedv member.
2016-05-22 01:26:13 +02:00
Christoph Oelckers
d767d10322 - made PSprites submission GC aware. 2016-05-21 13:11:43 +02:00
Christoph Oelckers
4781b73d5b Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-21 01:09:21 +02:00
Leonard2
8c205ebac3 Added A_OverlayOffset
Like A_WeaponOffset except it can access any psprites
2016-05-20 17:04:45 +02:00
Leonard2
1ecfb5897b Added A_Overlay 2016-05-20 17:04:45 +02:00
Leonard2
1966b61b8f Generalized the psprites implementation 2016-05-20 17:04:44 +02:00
Christoph Oelckers
bd396ccb7c - made P_Move's multiple-step movement portal and teleporter-aware. 2016-05-20 13:30:10 +02:00
Christoph Oelckers
428bd52295 - fixed: It was not possible to step through a ceiling portal into the upper sector. 2016-05-20 13:10:42 +02:00
Gaerzi
68c5191798 Add GOG path for SVE
Since GOG.com is finally offering this game.
2016-05-20 02:18:48 +02:00
Christoph Oelckers
5017a192eb - fixed: The texture matrix was not reset after drawing the texture pass for multipass textured dynamic lights. 2016-05-19 12:22:39 +02:00
Christoph Oelckers
13da14e915 - disable dynamic lights on additively blended surfaces because it doesn't look good at all. 2016-05-18 22:20:18 +02:00
Christoph Oelckers
ea62d4c2d1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-18 21:47:42 +02:00
Christoph Oelckers
78055733c8 - fixed: automap markers were scaled too small 2016-05-18 21:25:58 +02:00
Christoph Oelckers
f22adcc398 - be more thorough with Eternal Doom MAP03. The compatibility option does not seem to fully solve the problem, so let's just clear the tags in the bogus stair sectors. 2016-05-18 21:06:07 +02:00
Christoph Oelckers
9e0301c1a1 - prevent message spam with no MIDI devices. 2016-05-18 13:11:01 +02:00
Christoph Oelckers
7642c2cdaa - fixed: Opening a non-existent menu left the engine in an invalid state. 2016-05-18 12:02:54 +02:00
Christoph Oelckers
3dcb05e5d2 - fixed: Lock #255 was inaccessible for LOCKDEFS. 2016-05-18 11:56:39 +02:00
Christoph Oelckers
a7fd04a235 Merge branch 'master' of https://github.com/kcat/zdoom 2016-05-18 11:48:27 +02:00
MajorCooke
115dbd0b58 - Added A_WeaponOffset(x = 0, y = 32, flags).
- Places the weapon offset by the defined x and y. Both are floats. This stacks with weapon bobbing.
- WOF_KEEPX: Don't change the X offset.
- WOF_KEEPY: Don't change the Y offset.
- WOF_ADD: Add onto instead of replacing the coordinates.
2016-05-18 11:19:24 +02:00
Christoph Oelckers
661c2e5919 - added missing NULL pointer check to ACS's CheckInventory. 2016-05-18 09:39:19 +02:00
Christoph Oelckers
362e21a6b3 - fixed: The pitch negation required for INHERITACTORPITCH was also applied to the one from PITCHFROMMOMENTUM. 2016-05-17 09:12:26 +02:00
Chris Robinson
fe966916d7 Set head-relative for sources near the listener
This matches the behavior of the FMOD backend
2016-05-16 17:02:39 -07:00
Christoph Oelckers
5e4be101f1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-15 23:25:02 +02:00
Christoph Oelckers
9e847c252b - fixed: When linking an actor into the blockmap multiple portal groups, AActor::LinkToWorld would delete the links to the previous nodes for each new group. This was causing random crashes when the affected actor was deleted by the garbage collector. 2016-05-15 23:24:30 +02:00
Christoph Oelckers
aff8b00575 - added NULL pointer checks to SpecialDropAction methods that call CheckLocalView. 2016-05-15 09:16:37 +02:00
Christoph Oelckers
6949afc334 - fixed: For allowing an unblocking move, PIT_CheckThing used the wrong actor's position. This was causing monster pile-ups with moving ceilings.
- don't let P_PushUp move any actors with the same z as the pushing actor. This should solve most monster pile-ups, but the entire logic here needs some serious rethinking. The only reason this doesn't cause more problems is some fudging in several other places.
2016-05-14 15:05:06 +02:00
Christoph Oelckers
52e19c59b3 Revert "- let gl_draw_sync default to false."
This reverts commit 616f84209b.

Now I remember why this is not active: This is causing some problems with interpolated plane heights. Since there is no synchronization with the vertex buffer, the next frame will reset all plane coordinates before the GPU can use them. This will require some rethinking about when to update the buffer - it cannot be done in the render data setup loop.
2016-05-13 20:44:04 +02:00
Christoph Oelckers
03b31796cc Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-13 10:09:24 +02:00
Christoph Oelckers
ebca170e73 - fixed a few warnings in OpenAL code. 2016-05-13 10:07:18 +02:00
Christoph Oelckers
cd8213f067 - fixed: The skybox pointer in FSectorPortal must at least be initialized to nullptr when the struct is deserialized, to avoid an access violation if the partially initialized data is used. This can happen when P_SerializeThinkers destroys the original thinkers that were created on map load.
- removed the sector loop for deleting skybox references in ASkyViewpoint::Destroy. Since this only refers to the sectorPortals array it is completely redundant as the following code will clear them just as well.
2016-05-13 10:07:01 +02:00
Christoph Oelckers
99bfc64af6 - another failed attempt to use GL_CLIP_PLANE. Leave it in because it's closer to what is needed than the old code. 2016-05-12 23:41:06 +02:00
MajorCooke
4998d4a84d Use the direct pointer of P_PointInSector instead. 2016-05-12 22:15:06 +02:00
MajorCooke
2ba26693d1 - Added 3D Floor + Portal awareness, along with flags to turn off detection of both features. 2016-05-12 22:15:06 +02:00
MajorCooke
b91ed5dc5d Added GetZAt DECORATE function.
- float GetZAt(x, y, angle, flags, pick_pointer);
- Gets the floor z  at x distance ahead and y distance to the side in relative form from the calling actor pointer. Flags are as follows (GZF_ prefix):
- CEILING: Returns the ceiling z instead of floor.
- ABSOLUTEPOS: x and y are absolute positions.
- ABSOLUTEANG: angle parameter does not add the pointer's angle to the angle parameter.
2016-05-12 22:15:05 +02:00
Christoph Oelckers
616f84209b - let gl_draw_sync default to false.
No need to waste valuable processing time if we can let the GPU run in parallel with the code that generates the next frame.
2016-05-12 20:23:18 +02:00
MajorCooke
39f64383cb Changed RTF_THRUSTZ to match RADF_THRUSTZ's bitmap. 2016-05-11 19:41:33 +02:00
MajorCooke
952219a018 Added RTF_THRUSTZ for A_RadiusThrust.
- Allows thrusting with Z velocity.
2016-05-11 19:41:33 +02:00
Christoph Oelckers
852ed6cd04 - un-revert P_CheckMove fix. 2016-05-11 19:39:08 +02:00
Edoardo Prezioso
769521b2e1 - Fixed second player lock after error in netgame. 2016-05-11 14:05:29 +02:00
Christoph Oelckers
078e27e61f - fixed: The mugshot's angle was inverted. 2016-05-11 14:04:21 +02:00
Christoph Oelckers
d4b258f15b - don't place the chasecam right at the hit position of the trace. This will be the intersection with a wall or sector plane and may cause clipping issues. Instead place it very slightly in front of the actual hit position. 2016-05-11 13:57:49 +02:00
MajorCooke
9ab620814d - Fixed: Armor absorption did not take ALLOW/CAUSEPAIN flags into account. 2016-05-11 13:33:39 +02:00
Christoph Oelckers
0726a88ab9 - only return DWORD aligned addresses in openings because the 3D floor code stores floating point values in there which cannot be accessed on platforms with strict alignment rules. 2016-05-11 12:04:41 +02:00
Christoph Oelckers
220255e6a4 - fixed P_CheckMove's dropoff check and removed some unneeded code. 2016-05-11 11:56:03 +02:00
Christoph Oelckers
12b84d9f71 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-11 11:47:00 +02:00
Christoph Oelckers
43d93a19a0 - fixed: P_AlignFlat had the 'dist' value negated. Also simplified the code a bit. 2016-05-11 11:36:53 +02:00
Christoph Oelckers
f8c12f4533 - fixed warning in s_sound.cpp 2016-05-11 10:32:57 +02:00
Christoph Oelckers
cc88130362 - fixed: P_CheckMove's dropoff check had the heights swapped. This also shouldn't in any way depend on COMPATF_DROPOFF and must be skipped entirely for actors with either MF_FLOAT or MF_DROPOFF set. 2016-05-11 10:09:13 +02:00
Christoph Oelckers
77e30bb7d7 - fixed: The line portal links were not deleted when an actor was destroyed. 2016-05-11 09:58:03 +02:00
Christoph Oelckers
15933f9c72 - fixed: Texture precaching for sprites had some inverted logic and deleted everything that was still required. 2016-05-10 20:51:23 +02:00
Christoph Oelckers
0cc57c6141 - fixed: BoundTextureDraw2D must reset the texture mode. 2016-05-10 20:50:01 +02:00
Christoph Oelckers
2709391ce9 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-09 23:50:06 +02:00
Christoph Oelckers
966e6797e4 - fixed: The view path for checking whether the player sprite should be drawn during a portal transition was never set properly in the portal transitioning case. 2016-05-09 23:16:06 +02:00
Christoph Oelckers
2e4b8dd416 - fixed incorrect sign in P_TranslatePortalVXVY 2016-05-09 21:59:13 +02:00
Christoph Oelckers
15c711f2a1 - added a missing break in the wall draw dispatcher. 2016-05-09 00:58:55 +02:00
Christoph Oelckers
d5eb1008a4 - implemented texture overlay pass for textured dynamic lights. 2016-05-08 22:07:18 +02:00
Christoph Oelckers
b90173ed21 - fixed: ADynamicLight::visibletoplayer was not initialized for placed lights when restoring a savegame. 2016-05-08 09:34:22 +02:00
Christoph Oelckers
ad713b1c25 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-08 09:28:01 +02:00
Christoph Oelckers
841a5795ae - savegame version bump for a GZDoom exclusive change (to avoid synchronization problems in the future.) 2016-05-08 09:27:42 +02:00
Christoph Oelckers
6753cddce1 - fixed: The HUD weapon drawer partially took the render state from the previous things that got rendered. Especially the blend mode could be randomly set to different values. 2016-05-08 09:22:38 +02:00
Chris Robinson
8334189d66 Merge remote-tracking branch 'zdoom/master' 2016-05-05 12:55:16 -07:00
Christoph Oelckers
f4e4221da7 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-05 21:51:54 +02:00
Chris Robinson
ba1574e65a Don't define OpenAL redirect macros with the IDE's parser
At least with KDevelop4, macros like this interefere with contextual info by
causing it to show information about the macro itself (where it's defined and
what it defines to), rather than the function (parameters, comments, etc). It
also gets in the way of auto-completion.
2016-05-05 21:00:30 +02:00
Chris Robinson
fa46965a71 Check for OpenAL device errors after pausing/resuming the device 2016-05-05 21:00:30 +02:00
Chris Robinson
0b7b78c5d2 Better handle channel configs when monoizing in LoadSound 2016-05-05 21:00:29 +02:00
Chris Robinson
e298f8389b Avoid divide-by-0 when the area sound radius is less than the max distance 2016-05-05 21:00:29 +02:00
Chris Robinson
66c61a7c8b Set the appropriate start offset for non-3D sounds too 2016-05-05 21:00:28 +02:00
Chris Robinson
26a8a8a1ba Pause OpenAL processing using ALC_SOFT_pause_device when inactive 2016-05-05 21:00:28 +02:00
Chris Robinson
e1c8890c5e Set the appropriate start offset for restarted sounds 2016-05-05 21:00:27 +02:00
Chris Robinson
c3cef91a4f Properly sum the channels being downmixed to mono 2016-05-05 21:00:27 +02:00
Chris Robinson
12c9281a7e Avoid redundantly setting DistanceScale 2016-05-05 21:00:26 +02:00
Chris Robinson
bf5ac9b476 Use AL_EXT_SOURCE_RADIUS for area sounds 2016-05-05 21:00:26 +02:00
Chris Robinson
55294c5806 Use the correct OpenAL lib name on Linux 2016-05-05 21:00:25 +02:00
Edoardo Prezioso
52995f8fc2 - Fixed missing sector light clamp in DFlicker.
For some reason, this code didn't care about the sector light limits. Found by code inspection.
2016-05-05 21:00:08 +02:00
Christoph Oelckers
c193bb7799 - removed the special case 0 in A_SpawnItem, meaning 'in front of the player'.
As it turned out this has been broken for many, many years, so one can assume that most content using this function depends on this special case not working. I could track it down to at least 2008.
2016-05-05 20:12:26 +02:00
Christoph Oelckers
d61ec05c0f - draw texture based dynamic lights on walls. 2016-05-05 12:18:09 +02:00
Christoph Oelckers
2b92048a5b - renamed the texture coord variables in GLWall.
It makes no sense having them organized differently in this struct than what the rendering code needs. This saves one redundant copy operation and a function-local static variable.
2016-05-05 11:48:39 +02:00
Christoph Oelckers
51baa7d137 - added code to calculate light texture coordinates on walls. 2016-05-05 11:32:21 +02:00
Christoph Oelckers
0b2821d696 - added dynamic light rendering with textures on flats 2016-05-05 10:28:21 +02:00
Christoph Oelckers
c9d4c68039 - added dynamic light drawer for flats. 2016-05-05 00:24:47 +02:00
Christoph Oelckers
4412f99b38 - added the flat dispatcher for textured lighting. 2016-05-04 23:07:16 +02:00
Christoph Oelckers
ec7b4b1ba4 - initial work on textured dynamic light processing. 2016-05-04 22:14:39 +02:00
Christoph Oelckers
8817f89192 - do not clip the first frame of very slow projectiles. 2016-05-04 20:31:21 +02:00
Christoph Oelckers
7b65e6d424 - use glMapBuffer instead of glMapBufferRange on older hardware. 2016-05-04 19:16:07 +02:00
Christoph Oelckers
317730584f - GZDoom still needs this. 2016-05-04 14:39:31 +02:00
Christoph Oelckers
bb378f2d94 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-04 14:38:57 +02:00
Christoph Oelckers
0b833be06e - removed accidentally added GZDoom specials. 2016-05-04 14:37:52 +02:00
Christoph Oelckers
bdb7594e60 - fixed: Incomplete model definitions flagged the actor as having a model, which could cause a crash. 2016-05-04 14:25:58 +02:00
Christoph Oelckers
5f095082c0 - fixed: The 2D drawing code incorrectly set the shader override to disable all special effects. 2016-05-04 14:10:06 +02:00
Christoph Oelckers
2c88816577 - fixed parameters for warp type 2. 2016-05-04 13:25:26 +02:00
Christoph Oelckers
54571beaca - reset the path to "" before a model definition is parsed. 2016-05-04 12:28:35 +02:00
Christoph Oelckers
fd8a59bd24 - fixed: INHERITACTORPITCH was inverted.
- changed PITCHFORMOMENTUM to do nothing for very small velocities.
2016-05-04 12:23:40 +02:00
Christoph Oelckers
ab8a647433 - fixed the disabled visibility rules check for dynamic lights by doing the actual check in the light's Tick() method and letting the renderer only use the result. 2016-05-04 11:33:18 +02:00
Christoph Oelckers
0a94371974 - reinstated old code for rendering fog boundaries and mirrot surfaces without shaders.
- added code for filling the render list for textured dynamic lights. This is not yet active because no code is present to handle this data.
2016-05-03 23:28:42 +02:00
Christoph Oelckers
4ea3339e40 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-03 19:46:09 +02:00
Christoph Oelckers
be3b126f7b - fixed: Order of skybox and portal initialization was not well defined. It was always the last item to get initialized that got set. Changed it so that skyboxes cannot override portals at all. 2016-05-03 19:42:53 +02:00
Christoph Oelckers
0f8f08edfd - fixed: camera facing sprites need to orient themselves toward the actual camera position, not the view actor (which may be invalid or in a completely different part of the map if a portal is being rendered.) 2016-05-03 19:24:28 +02:00
Christoph Oelckers
b6af4677f3 - implemented model precaching. 2016-05-03 18:14:16 +02:00
Christoph Oelckers
534500f36d - fixed software-based model interpolation. 2016-05-03 16:49:10 +02:00
Christoph Oelckers
f7fda94ec9 - changed model data to store models and textures by index instead of by pointer.
The indices are needed for efficient precaching and actual changes to the logic are minor so that this was the best option overall.
2016-05-03 15:45:21 +02:00
Christoph Oelckers
0e14f00b51 - fixed caching of texture sampler state for old hardware.
- fixed handling of CLAMP_XY_NOMIP sampler mode. This cannot be lumped together with CLAMP_XY because it has different mipmap requirements.
2016-05-03 13:39:41 +02:00
Christoph Oelckers
4d7be0e20e - added software interpolation as a fallback for models.
This is not tested yet so no guarantees!
2016-05-03 13:10:00 +02:00
Christoph Oelckers
ce714ac519 Merge remote-tracking branch 'remotes/zdoom/master' 2016-05-03 11:29:49 +02:00
Christoph Oelckers
942138b307 - undid some leftover texture state checks from the first attempt to handle this without sampler objects.
This code was written under the assumption that the glGenerateMipmap function does not exist. But all supported hardware has this function through the GL_EXT_framebuffer_object extension.
2016-05-03 11:27:52 +02:00
Christoph Oelckers
a576243ff2 - fixed: ThrustThing should add to the velocity, not set it. 2016-05-03 10:26:29 +02:00
Christoph Oelckers
6f2b0a6293 - rewrote texture caching so that not the base texture but the actually used translations for sprites get precached. 2016-05-03 01:00:52 +02:00
Christoph Oelckers
ec037bfd1a - fixed: The check for one-way portals in the renderer was incomplete. 2016-05-02 19:47:27 +02:00
MajorCooke
16bea6cf1f - Fixed: Roll must orient the rotation based on pitch, not the other way around. 2016-05-02 10:46:44 -05:00
MajorCooke
9ec3093a34 Fixed some missed cases. 2016-05-02 08:52:44 -05:00
MajorCooke
def785e462 Removed PITCHFLATSPRITE. FLATSPRITE now encompasses its behavior. 2016-05-02 06:32:33 -05:00
MajorCooke
673dab7f23 Removed PITCHFLATSPRITE. FLATSPRITE now encompasses the behavior. 2016-05-02 06:29:19 -05:00
alexey.lysiuk
4c4b97316e Fixed inconsistent texture wrapping
Sampler state needs to be reseted when hardware texture resources are released
2016-05-02 13:02:55 +03:00
alexey.lysiuk
333560086d Calculate color values for gamma correction directly in shader
Gamma table texture is no longer needed
2016-05-02 11:24:42 +03:00
alexey.lysiuk
44b019413c Implemented gamma correction in OS X native backend using shader effect 2016-05-02 10:04:09 +03:00
MajorCooke
a163220e8c Removed FlatAngle. 2016-05-01 17:30:30 -05:00
MajorCooke
0bf7c3e362 - Removed FlatAngle. This will come back hopefully in another commit sometime in the future. 2016-05-01 17:19:39 -05:00
Christoph Oelckers
f2f3fa6d09 - parched the texture precaching so that it compiles and works again. The real work will come later. 2016-05-02 00:13:00 +02:00
Randy Heit
4fbe77fb82 Very minor optimization for ACS str(i)cmp
- If the two strings compared both point to the same location in memory,
  then we know they are the same string without having to bother actually
  comparing their contents. Note that the opposite is not neccessarily
  true: If they point to two different locations, they could still match a
  case-sensitive comparison because there are still two ACS string tables:
  the one that belongs to the map's script and the one that belongs to
  everything else.
2016-05-01 16:55:28 -05:00
Christoph Oelckers
b2e67c2c7e Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/textures/texturemanager.cpp
2016-05-01 23:46:05 +02:00
MajorCooke
f41dcc75d1 FlatAngle can now be defined directly via properties. 2016-05-01 16:33:00 -05:00
Christoph Oelckers
65e1589543 - allow specifying actor classes whose graphics to precache through MAPINFO.
- some reorganization of texture precaching so that the renderer can decide what to do with actors.

Just marking the sprite textures loses too much info if more is needed than just loading the images into memory.
2016-05-01 22:47:36 +02:00
Chris Robinson
0d402618a3 Load mono copies of multichannel sounds that are used in 3D 2016-05-01 21:44:03 +02:00
MajorCooke
3ed9551054 Fixed typo. 2016-05-01 14:33:22 -05:00
MajorCooke
980a310755 GZDoom Roll Submission 2016-05-01 14:08:09 -05:00
Christoph Oelckers
b443ac8f71 - let Trace() be a bit smarter about checking 3D slopes. If one matches right up with the floor or ceiling at the line where the trace enters a sector, check a second point to see whether we deal with something inside valid sector bounds or not. 2016-05-01 19:30:51 +02:00
MajorCooke
9ba547e6e3 Revert MINSAVEVER and added FlatAngle DECORATE property expression. 2016-05-01 11:38:20 -05:00
Christoph Oelckers
26acf8e994 - fixed conditions for menu patching. 2016-05-01 17:43:30 +02:00
Edoardo Prezioso
3aee8a3eee - Fixed a mistake in GiveInventory refactoring.
'give item' stopped working because commit 7b35f32f3d and 6aca7604eb didn't take account that give cheat with zero amount should not touch the item amount.
2016-05-01 17:07:39 +02:00
MajorCooke
a8248433e9 - Updated <pitch>/flat/roll/wall sprites submission to 2.9+. (ZDoom compatibility submission. )
- FLATSPRITE: An actor becomes flat as if they were a decal on the floor.
- PITCHFLATSPRITE: A flat sprite tilts up and down based on pitch.
- WALLSPRITE: Similar to a Y billboarded sprite. The degree of the flattening is determined by the FlatAngle property.
- ROLLSPRITE: The sprite of the actor is affected by the Roll property.
2016-05-01 08:45:50 -05:00
Christoph Oelckers
50ba1ecde8 - add menu patching for GL 2.x mode.
- use stdint types in model code, because we have to start somewhere with the transition.
2016-05-01 13:09:13 +02:00
Christoph Oelckers
4fb17561bc - optimize VSMatrix::Translate.
- use FVector3 for sprite rotations.
2016-05-01 12:39:08 +02:00
Christoph Oelckers
47064e24c9 - only bind the uniform buffer if it is actually going to be used. No need to check if we are use a shader storage buffer. 2016-05-01 12:01:44 +02:00
Christoph Oelckers
5ead3503b2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-05-01 11:57:13 +02:00
Christoph Oelckers
24526f7da5 - made adjustments to floating point bounding boxes for nodes and changes to the WarpBuffer function. 2016-05-01 11:56:45 +02:00
Edoardo Prezioso
a17ec55d0d - Fixed drop style gameinfo inconsistency.
The gameinfo option was ignored when deciding the initial spawn height position.
2016-05-01 11:30:09 +02:00
Christoph Oelckers
737646b45d Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-01 10:50:56 +02:00
alexey.lysiuk
1deb9742de Do not call UBO functions when no extension available 2016-05-01 11:46:49 +03:00
alexey.lysiuk
138c6ea25e Fixed black screen issue in OS X native backend
There was inconsistency with global render state
2016-05-01 11:45:57 +03:00
Randy Heit
7d03ed4dc7 Use floating point node bounding boxes 2016-04-30 22:37:02 -05:00
Randy Heit
265783e1f6 Use doubles for intermediates in the nodebuilder's FindMapBounds() 2016-04-30 21:28:41 -05:00
Christopher Bruns
6d95c9d544 Fix floating point update for camera facing billboard mode. 2016-04-30 18:15:29 -04:00
Christopher Bruns
5a33005303 Reorder two billboard rotations, so they work together correctly.
Fixes #126

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2016-04-30 18:15:27 -04:00
Christopher Bruns
b320787102 Implement new CVAR gl_billboard_faces_camera, which orients sprites toward camera, rather than along view direction.
# Conflicts:
#	gz3doom/GZ3DoomRiftMonitor1.bat
#	src/gl/scene/gl_sprite.cpp
#	src/gl/scene/gl_stereo3d.cpp
2016-04-30 18:15:27 -04:00
Christoph Oelckers
51991ef22d * - render partial sprites on the front side of a portal for actors behind it. 2016-04-30 23:18:37 +02:00
Christoph Oelckers
ca95371a27 - fixed: gl_load.c did not handle the GL 2.x fallback for the lack of glGetStringi correctly, if that function was missing it just crashed. 2016-04-30 17:16:16 +02:00
Christoph Oelckers
8011958ebe Merge branch 'gz2x' of https://github.com/alexey-lysiuk/gzdoom
# Conflicts:
#	src/gl/system/gl_interface.cpp
2016-04-30 17:09:57 +02:00
Christoph Oelckers
d84e079282 - render partial sprites oon the back side of a portal for actors in front of it. This is needed because the stencil will clip away those parts. 2016-04-30 16:57:53 +02:00
Christoph Oelckers
c29e96d369 - print buffer info only if the buffer type is used.
- removed some GL specs that are not informative in GZDoom's context.
2016-04-30 16:31:09 +02:00
Christoph Oelckers
50ab301bd8 - fixed: If we want to support pre-GL3 hardware, we may not require the presence of glGetStringi. 2016-04-30 16:23:32 +02:00
alexey.lysiuk
4400d0cfcc Fixed restoration of previously bound FBO 2016-04-30 16:29:22 +03:00
alexey.lysiuk
32412c7f75 Disabled printing of junk values for unsupported extensions in OpenGL startup log on OS X 2016-04-30 16:28:50 +03:00
alexey.lysiuk
6757447f1b Enabled printing of OpenGL startup log on all platforms 2016-04-30 16:28:35 +03:00
alexey.lysiuk
461c97d25b Fixed remaining issue with shader patching for old OpenGL 2016-04-30 16:28:19 +03:00
Christoph Oelckers
f387199442 - extended the voxeldef parser to allow negative numbers where appropriate. 2016-04-30 14:33:15 +02:00
Christoph Oelckers
86b647ed41 - added map name display to IDMYPOS. 2016-04-30 13:03:08 +02:00
Christoph Oelckers
2161ad2c4b - fixed: P_GetMapColorForKey did not check for keys that worked as an alias defined through their species. 2016-04-30 12:48:51 +02:00
Christoph Oelckers
c3759646e7 - merged FWarpTexture and FWarp2Texture, making the choice of effect a parameter of the WarpBuffer function.
Ideally the warping shouldn't be a property of the texture class itself but an effect processor that can get added to a texture. Unfortunately the current setup will not allow this, requiring some significant refactoring of texture access first.
2016-04-30 12:36:55 +02:00
alexey.lysiuk
8fa5fb6a95 Disabled gamma shader in OS X native backend 2016-04-30 13:35:03 +03:00
alexey.lysiuk
893d0c8915 Added old method to collect extensions
This required manual changes in generated file gl_load.c
2016-04-30 13:33:54 +03:00
alexey.lysiuk
3816b46938 Fixed compilation of OS X with native backend
TODO: check Linux build
2016-04-30 11:53:31 +03:00
alexey.lysiuk
de6f13f0b4 Updated gl_load.* files generated with glLoadGen 2.0.5
Added OpenGL extensions list file for glLoadGen
Added extensions for OS X version
2016-04-30 11:43:08 +03:00
Randy Heit
a95c6b9644 Draw upper/lower textures on two-sided portal lines 2016-04-29 21:54:29 -05:00
Randy Heit
09730bff73 Fix incorrect texture mapping vectors for slopes 2016-04-29 20:35:55 -05:00
Christoph Oelckers
2b710ec73d Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-29 23:14:27 +02:00
Christoph Oelckers
8309d8f634 - fixed coordinate typo. 2016-04-29 23:14:04 +02:00
Christoph Oelckers
a2d20b5a27 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-29 19:57:50 +02:00
MajorCooke
b9687b4a57 Compiler fix 2016-04-29 06:33:38 -05:00
Christoph Oelckers
70bf649364 - added clip planes for line portals and mirrors. This should eliminate the remaining problems with some visible geometry in front of the portal, it is also necessary to handle sprite splitting across line portals properly. 2016-04-29 12:26:57 +02:00
Christoph Oelckers
dc772a9f34 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-29 11:48:46 +02:00
Christoph Oelckers
4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
Randy Heit
f3d273c94f Fixed: Tiled midtextures could go up past the ceiling when a 3D floor is in view 2016-04-28 22:06:57 -05:00
Randy Heit
8f3921190f Keep values in floats longer for visplane drawing 2016-04-28 21:21:49 -05:00
Randy Heit
96228ca15f Trying to fix some rounding, not sure it's actually correct yet 2016-04-28 21:14:48 -05:00
Christoph Oelckers
21283b18f4 - preparations for using clip planes on line portals. 2016-04-29 01:48:06 +02:00
Christoph Oelckers
e3fad118d2 - use the templated warp functions instead of the limited GZDoom 1.x version. gl_WarpBuffer has been removed. 2016-04-28 19:04:01 +02:00
Christoph Oelckers
27a3b6aafd Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-28 18:46:30 +02:00
Christoph Oelckers
3bbb5c7237 - moved the texture warping into templated subfunctions, so that the same code can be used for true color buffers as well. 2016-04-28 18:17:18 +02:00
Christoph Oelckers
434e39e62f - made adjustments to ZDoom's last changes. 2016-04-28 17:55:58 +02:00
Christoph Oelckers
60a78a0d9b Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-28 17:35:52 +02:00
Christoph Oelckers
af2a1769d8 - use the FP2005 method to calculate xtoviewangle, because it is far more straightforward than the old version. 2016-04-28 16:27:28 +02:00
Christoph Oelckers
ef98757c7c - replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00
Christoph Oelckers
9f0c5d5909 -let's better be cautious about precision and use the CRT sin and cos functions for rotated plane textures. 2016-04-28 14:49:59 +02:00
Christoph Oelckers
027b8d29b8 - make FieldOfView a real angle and remove all uses of finetangent. 2016-04-28 13:59:06 +02:00
Christoph Oelckers
f301cf7c57 - don't use finetangent for generating xviewtoangle. 2016-04-28 13:03:48 +02:00
Christoph Oelckers
26f54b0ba4 - eliminated tantoangle and cleaned up r_tables.h 2016-04-28 12:18:33 +02:00
Christoph Oelckers
8171637a57 - removed the last remaining uses of the finesine table from the rendering code. 2016-04-28 11:37:02 +02:00
Randy Heit
ae7d048057 Store FTransform in visplane_t, not just a pointer
- The transform values passed to R_CheckPlane might live on the stack, so
  it's not safe to only store a pointer to them.
2016-04-27 23:07:25 -05:00
Randy Heit
44adff459a Remove halfviewwidth
- Why I thought I needed this variable in addition to centerx has
  long ago left my memory.
2016-04-27 22:49:36 -05:00
Randy Heit
31d842a894 Store FTransform in visplanes instead of converting to fixed_t 2016-04-27 22:17:33 -05:00
Randy Heit
ac69ed3361 Minimal wallmost changes
- Add comments
- Fixed: When WallMost() finds a line entirely above the screen, it should
  set the most array to 0, not -1.
2016-04-27 22:17:33 -05:00
Christoph Oelckers
d4806f82ca - reinstated some texturing-based dynamic light code. Not active yet and not tested yet. 2016-04-28 00:58:44 +02:00
Christoph Oelckers
ee7a4daa8c - preparations for textured dynamic lights. 2016-04-27 23:19:54 +02:00
MajorCooke
6f11a65893 - Converted rollIntensity from int to double.
- It was already a double in the save version serialization so nothing had to be changed there.
2016-04-27 12:58:18 -05:00
MajorCooke
64d01a3bb1 Forgot to undo this. 2016-04-27 10:26:06 -05:00
MajorCooke
0fc7055f51 - Fixed: Quakes with rolling were not unique; they borrowed from any other quakes that didn't have rolling, thus preventing the rolling from falling off properly. 2016-04-27 10:13:30 -05:00
Christoph Oelckers
38d92b23b9 - fixed: ACS's GetSectorCeilingZ and GetSectorFloorZ expected integer coordinates. 2016-04-27 15:41:22 +02:00
Christoph Oelckers
3fd0d27efa - removed some leftover fixed point handling from PType. 2016-04-27 15:35:01 +02:00
Randy Heit
a14c0c8063 Fix a couple missing structs in vissprite_t 2016-04-27 08:13:22 -05:00
MajorCooke
3be33b5725 The GL part of Quake Rolls. 2016-04-27 13:49:51 +02:00
Christoph Oelckers
15480feb96 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-27 13:47:56 +02:00
Christoph Oelckers
3a17d6aa78 - fixed savegame compatibility. 2016-04-27 13:47:30 +02:00
MajorCooke
762d186657 Finished interpolation. 2016-04-27 13:42:16 +02:00
MajorCooke
be9b25e760 Use ViewRoll instead of CamRoll, and removed CamRoll entirely. Begin work on interpolation. 2016-04-27 13:42:15 +02:00
MajorCooke
c972caa9f3 - Added rollIntensity and rollWave to A_QuakeEx.
- Instead of moving the camera around, it rolls the camera.
- This only has an effect in GZDoom.
2016-04-27 13:42:15 +02:00
MajorCooke
660aff562d - Added support for THRU flags on bullets and rails.
- ALLOWTHRUFLAGS must be used on the puffs, added for the sake of compatibility with older mods. This applies to the following:
-- Bullets: THRUACTORS, THRUSPECIES
-- Rails: Same as bullets, but includes THRUGHOST.
2016-04-27 13:38:27 +02:00
Christoph Oelckers
262f3575ae - added a "custom" flag to drawmugshot so that the user-specified image can be forced to be used. 2016-04-27 13:16:35 +02:00
Christoph Oelckers
ebca8cc5b0 - added a portable config file option, for now only on Windows: If the engine finds a file named [GAMENAME]_portable.ini, it will use that instead of creating a user specific version, so that portable installs can carry their INI along. 2016-04-27 13:04:37 +02:00
Christoph Oelckers
934b1923d0 - fixed: CheckForPushSpecial did not check blocking 3D midtextures. 2016-04-27 12:37:38 +02:00
Christoph Oelckers
044bf4ada6 - fixed: P_CheckPosition must initialized tm.floorterrain. 2016-04-27 12:08:22 +02:00
Christoph Oelckers
f5afa30ee6 - added GetAngle(bool relative, int target) DECORATE function. 2016-04-27 11:52:52 +02:00
Randy Heit
d970be48f9 Use floating point xscale in R_RenderFakeWall() 2016-04-26 23:30:16 -05:00
Randy Heit
a029c7b664 Fix unneeded fixed_t height in R_3D_AddHeight() 2016-04-26 23:11:27 -05:00
Randy Heit
ee43c4ff95 Fixed: Accidentally left in /65536.0 in WallMost() 2016-04-26 23:00:41 -05:00
Christoph Oelckers
8bda356412 - fixed crash in slope drawing: Several overlooked occurences of fixed point math in R_CalcTiltedLighting. Slopes are still completely broken, though. 2016-04-27 04:08:06 +02:00
Christoph Oelckers
73823e6a09 - fixed the texture size checks for determining if a camera texture requires offscreen rendering were wrong and checked the scaled size, not the physical size. 2016-04-27 02:56:55 +02:00
Christoph Oelckers
a26d81e060 - fixed incomplete float conversion in R_RenderFakeWallRange. 2016-04-27 02:28:45 +02:00
Christoph Oelckers
fab38d092b - fixed: P_LineOpening could miss a 3D floor if an actor was centered right against its side.
- restored the original 3D floor code to retrieve the current floor in P_CheckPosition. The portal aware version was a bit too strict and could place the actor on the wrong side when moving at high speeds.
2016-04-27 02:13:35 +02:00
Christoph Oelckers
09f54b0940 - cleaned up the clip plane management for portals.
Unfortunately the math behind the old clip planes is utterly impenetrable and so poorly documented that I have no idea how to set that up, so it is deactivated for now. It wasn't working anyway.
2016-04-27 00:41:00 +02:00
Christoph Oelckers
066d5c63e2 - better be safe and not call GL_CLIP_DISTANCE functions on old hardware. 2016-04-26 21:55:17 +02:00
Christoph Oelckers
3faf5afa3a - re-added software translucency splitting for old hardware. 2016-04-26 21:49:30 +02:00
Christoph Oelckers
b06c86db38 - added old wall splitting code as a fallback for old hardware. 2016-04-26 21:42:15 +02:00
Christoph Oelckers
6e1b21d513 - added back sprite splitting for low end, plus some dynamic light code. 2016-04-26 21:31:24 +02:00
Christoph Oelckers
89f36fb963 - enabled texture and model matrices for shader-less rendering and fixed the sky cap color application. 2016-04-26 20:45:56 +02:00
Christoph Oelckers
9d71c91f01 - reenabled software warping for shader-less rendering. 2016-04-26 20:20:00 +02:00
Christoph Oelckers
924b72b633 - added workarounds for the invulnerability colormap for non-shader rendering. Unlike the shader based versions these do not decolorize the screen. The advantage to the old texture duplication is that this is far less stressful on performance. 2016-04-26 20:02:57 +02:00
Christoph Oelckers
913e3df7e3 - fixed display of alpha textures without shaders.
As it turned out, the translation's alpha channel was clobbered by the whole setup.
2016-04-26 19:11:32 +02:00
Christoph Oelckers
7e6e2bc0a8 - stated adding GL 2.0 compatibility handling 2016-04-26 18:24:02 +02:00
Christoph Oelckers
eb27057853 - enable shader-less rendering. Still very incomplete, but at least the basics are working. 2016-04-26 16:44:03 +02:00
Christoph Oelckers
3b1500438d - got rid of VAO's. they have no impact on performance and are a general nuisance if some render paths cannot use them.
- cleaned up gl_interface and removed gl.compatibility.
2016-04-26 16:26:34 +02:00
Christoph Oelckers
f066457a48 - add shader patching to allow running the engine with GLSL 1.2.
- made some initial preparations for the shader-less fallback path.
2016-04-26 15:26:52 +02:00
Christoph Oelckers
ee9a40f5e9 - replace FLOATTYPE with float in stereo3d code. 2016-04-26 15:20:27 +02:00
Christoph Oelckers
090d13b915 - updated gl_interface to deal with older GL versions.
- added the framework for allowing multipass textured dynamic lights again.
2016-04-26 15:20:26 +02:00
Christoph Oelckers
8b5c741358 - check the proper command line option for rejecting a core profile. 2016-04-26 15:19:38 +02:00
Chris Robinson
6e25d3f618 Use a background thread for processing OpenAL streams 2016-04-26 06:12:56 -07:00
Chris Robinson
204d0c8572 Don't try to define __try/__except on non-MSVC systems
They didn't do anything anyway, and can clash with other compilers since they
may be used internally (macros and keywords starting with __ are for compiler
use).
2016-04-26 05:55:18 -07:00
Christoph Oelckers
97bed58d7d - use a compatibility mode version of gl_load, so that the fallback GL 2 code can get its definitions. 2016-04-26 11:32:40 +02:00
Christoph Oelckers
172290224b - make modes 2 and 3 of Teleport_NoFog compatible with Eternity by defaulting to mode 1 when no line is available. 2016-04-25 01:01:28 +02:00
Christoph Oelckers
22b7a38539 - fixed incorrect sky texture check with Transfer_Heights. The actual sector was checked, not the one created by gl_FakeFlat. 2016-04-24 14:17:06 +02:00
Christoph Oelckers
f77c4642cb - made the adjustments. 2016-04-24 13:35:43 +02:00
Christoph Oelckers
2914cdc939 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/r_defs.h
2016-04-24 12:19:07 +02:00
Christoph Oelckers
0f99d7d73f - floatified the few remaining linedef and sector properties that still were fixed_t. The only fixed point things left in r_defs.h are the nodes and a fixed point setter function for vertex_t, which is still needed by the node builder. 2016-04-24 12:15:09 +02:00
Christoph Oelckers
31845cd16b - fixed two fixed/float mixups. 2016-04-24 10:24:43 +02:00
Randy Heit
e96ed6bf8d Add FBaseCVar::GetHumanString()
- For most cvars, this is equivalent to calling GetGenericRep() to get a
  string.
- For float cvars, it uses %g instead of %H, because %H is generally more
  information than is needed.
2016-04-23 22:30:08 -05:00
Randy Heit
fc54dd1ff0 Use %H when converting float cvars to strings to avoid information loss 2016-04-23 22:08:49 -05:00
Randy Heit
3a0d046f7e Fix rendering with SW 2D: modf usage was backwards 2016-04-23 21:29:40 -05:00
Randy Heit
96a0bee651 Quiet two more warnings from GCC 2016-04-23 21:00:35 -05:00
Randy Heit
3cabd5f0ed Fix compilation with GCC
- GCC is pickier than Visual C++. GCC requires that structs with constructors, etc that are
  used in a union must be defined outside the union. VC++ lets you do it inline.
2016-04-23 20:58:15 -05:00
Randy Heit
991f49e321 Avoid copying vissprite_t in R_DrawPSprites() 2016-04-23 20:42:14 -05:00
Randy Heit
b8e3e1f095 Remove BAM_FACTOR from FAngle, because it takes up physical space in the struct 2016-04-23 17:27:36 -05:00
Christoph Oelckers
565bab8bd3 - removed some unnecessary temporary variables. 2016-04-23 22:55:44 +02:00
Christoph Oelckers
f420ccd287 - made Teleport_NoFog compatible with Hexen and Eternity.
ZDoom defaulted to Boom's (buggy) angle adjustment.
Changed it so that
 * Mode 0 is like Hexen, performing no adjustment at all. This still should match all known maps using this special.
 * Mode 1 remains unchanged.
 * Mode 2 replicates Boom's broken angle adjustment and is used in the xlat file.
 * Mode 3 implements the correct angle adjustment that Boom originally intended.

 (Note: Should some map require something different it should be handled with compatibility.txt instead of reverting this back to the broken way it was before.)
2016-04-23 21:32:40 +02:00
Christoph Oelckers
eaabb5e986 - fixed vissprite_t &operator= declaration. 2016-04-23 15:51:46 +02:00
Christoph Oelckers
0d17459c36 - do not disable sampler objects with -gl3. 2016-04-23 15:47:51 +02:00
MajorCooke
6bba84458c - Rail spawned actor trails now set their targets to the shooter and transfer pitch. 2016-04-23 08:19:59 -05:00
Christoph Oelckers
78da8b5a60 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-23 14:22:56 +02:00
Christoph Oelckers
5fcdb7b80d - bump savegame version for today's changes. 2016-04-23 14:20:40 +02:00
Christoph Oelckers
c246d1c1ad Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-23 13:56:05 +02:00
Christoph Oelckers
3c13d8085b - removed unused R_PointToDist2 and R_PointToAngle2 functions. 2016-04-23 13:55:50 +02:00
Christoph Oelckers
9d9219795a - adjusted function names. 2016-04-23 13:48:25 +02:00
Christoph Oelckers
bf36900299 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-23 13:40:19 +02:00
Christoph Oelckers
2447f7bc38 - renamed FTransform access functions. 2016-04-23 13:40:02 +02:00
Christoph Oelckers
38f1213387 - made some adjustments. 2016-04-23 13:35:51 +02:00
Christoph Oelckers
e56d643924 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-23 12:42:21 +02:00
Christoph Oelckers
04e614daec - removed some fixed point functions that are no longer needed.
- fixed: Visplane checks should only compare the plane flags that are relevant for rendering and mask out the rest.
- floatified FTransform and made the visplane checks a bit less verbose by moving the comparison as an operator into FTransform.

Note that this operator needs forceinline on Visual Studio so that it won't get called as a function.
2016-04-23 12:42:07 +02:00
Christoph Oelckers
a17e0b70d2 - adjustment for function name changes. 2016-04-23 11:38:33 +02:00
Christoph Oelckers
47834907da Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-23 11:29:27 +02:00
Christoph Oelckers
35a6994d0a - remove the 'F' prefix from the floating point access function to the sidedef texture info, now that the fixed point versions are gone. 2016-04-23 10:55:55 +02:00
Christoph Oelckers
be8d1b46a7 - remove the deleted functions, now that they are no longer needed. 2016-04-23 10:51:58 +02:00
Christoph Oelckers
6450752399 - made it compile again.
The software renderer float conversion removed viewx and viewy which are still needed for efficient position checks against nodes without constant float->fixed conversions.
2016-04-23 10:50:19 +02:00
Christoph Oelckers
ba37854e44 Merge branch 'master' of c:\programming\doom-dev\zdoom
# Conflicts:
#	src/r_defs.h
2016-04-23 09:43:21 +02:00
Christoph Oelckers
4d4f31fd83 - floatified sidedef texture info and fixed two bugs involving this data. 2016-04-23 09:41:59 +02:00
Randy Heit
f1b3f59bcc Renderer floatification: Use floating point for wall scale and yrepeat 2016-04-22 23:12:53 -05:00
Randy Heit
1f97488945 Renderer floatification: Use floating point for decals 2016-04-22 23:12:53 -05:00
Randy Heit
cb0fe38dfe Renderer floatification: "fix for signed divide" isn't needed when using xs_RoundToInt 2016-04-22 23:12:53 -05:00
Randy Heit
b2b3e50c5c Renderer floatification: Use floating point for geometry Zs 2016-04-22 23:12:53 -05:00
Randy Heit
3ef5a678d5 Renderer floatification: Use floating point for texturemids and Y scales 2016-04-22 23:12:53 -05:00
Randy Heit
4a1cc61822 Renderer floatification: Restore playersprite rendering 2016-04-22 23:12:27 -05:00
Randy Heit
ec8d038c99 Renderer floatification: Use floats for lighting values 2016-04-22 23:10:34 -05:00
Randy Heit
4416d88eb2 Renderer floatification: Use floating point for visibility values 2016-04-22 23:10:02 -05:00
Randy Heit
ded3f92452 Commence renderer floatification 2016-04-22 23:09:13 -05:00
Christoph Oelckers
c786b65727 - allow the engine to run without sampler objects. This will create some overhead in the texture code, but that's still better than having to error out on those few systems where it may be an issue. 2016-04-22 19:54:51 +02:00
Christoph Oelckers
3c7d0c971f - fixed: It seems it is not allowed to serialize any thinker before the actual thinker chain is serialized. This means that sector_t::floordata, ceilingdata and lightdata's handling had to be moved to P_SerializeWorldActors. 2016-04-22 17:48:25 +02:00
Christoph Oelckers
20d3a72307 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-22 09:15:37 +02:00
Christoph Oelckers
f299248c8a - be a bit more careful with using unvalidated portals for checking render hacks. 2016-04-22 09:15:22 +02:00
Christoph Oelckers
382a6e8b9f - link actors to touching line portals, for use by the renderer. 2016-04-21 22:59:07 +02:00
Edoardo Prezioso
afa3009f93 - Fixed a GCC/Clang compiler error and a warning. 2016-04-21 16:11:03 +02:00
Edoardo Prezioso
6cfd82f500 - Simplify more, found by code inspection. 2016-04-21 16:03:33 +02:00
Edoardo Prezioso
6aca7604eb - Clean the code by using AActor::GiveInventory.
This fixes also a bug in FraggleScript GiveInventory, which tried to access the 'SaveAmount' member of 'ABasicArmorBonus' with the wrong cast.
2016-04-21 16:02:43 +02:00
Edoardo Prezioso
7b35f32f3d - Added the 'GiveInventory' method to the actor.
This will help cleaning up the item giving code. Returns a bool, in case the pickup failure might turn to be interesting in the future.
2016-04-21 15:59:23 +02:00
Edoardo Prezioso
ad9b9479ec - Fixed erroneous P_UndoPlayerMorph calls.
In some places, P_UndoPlayerMorph was called with the 'force' argument placed in the 'unmorphflag' parameter, so that 'forced' unmorphs would be not completely forceful.

I hope no mod relied on this weirdness...
2016-04-21 11:25:08 +02:00
Christoph Oelckers
27cc3d6289 - fixed: ACS's GetActorLightLevel didn't check 3D floors. 2016-04-21 11:17:28 +02:00
Christoph Oelckers
ba7260c176 - fixed overflow issue with large damage values in P_RadiusAttack. 2016-04-21 10:51:41 +02:00
Christoph Oelckers
c3eec6db4d -fixed warnings 2016-04-21 10:38:42 +02:00
Christoph Oelckers
1c7b512cc0 - GL handling of new portal data organization.
This also fixes some oversights with plane and horizon portals which were included in several checks.
2016-04-20 20:08:53 +02:00
Christoph Oelckers
9c6e7753d8 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/p_spec.cpp
#	src/r_bsp.cpp
#	src/r_defs.h
2016-04-20 19:56:07 +02:00
Christoph Oelckers
e5dc92f998 - some reshuffling of save data so that the actors won't get restored before the sectors.
Note that this required splitting P_SerializeWorld, because sector_t and FSectorPortal contain some actor pointers, for which the same rule applies: Portal linking can only be done after all sectors have been read, meaning it cannot be done along with the rest of the data in these structures.

Obviously such a change breaks savegame compatibility so the min. savegame version had to be increased again.
2016-04-20 19:42:00 +02:00
Christoph Oelckers
082042818b - refactored sector portal data so that it does not rely on actors.
This is necessary because otherwise the level data cannot be serialized before the actors.
2016-04-20 19:20:11 +02:00
Christoph Oelckers
3532dd9ea1 - fixed coordinate correctness issues with P_CheckFor3DFloor/CeilingHit. 2016-04-20 13:28:19 +02:00
Christoph Oelckers
aa12772e07 - crash fix and minor optimization. 2016-04-20 13:18:53 +02:00
Christoph Oelckers
1f32f5a258 - some minor fixing and cleanup on gL portal code. 2016-04-20 11:39:41 +02:00
Christoph Oelckers
b0a0fb5ff0 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-20 05:23:14 +02:00
Randy Heit
60966f472f Revert "Revert "Remove "action" from Actor functions that don't actually need it""
- This reverts commit 06216d733e.
- I don't know what I was thinking. Since stateowner is always available
  to the wrapper function, and this code is only generated for the wrapper
  function, it's a nonissue. The state is already located before calling
  any function that uses it.
2016-04-19 21:09:15 -05:00
Randy Heit
06216d733e Revert "Remove "action" from Actor functions that don't actually need it"
- This reverts commit 39df62b20e.
- Anything that needs to lookup a state also needs stateowner. See
  FxMultiNameState::Emit(). I will need to be more selective when
  de-actionifying functions.
2016-04-19 20:56:43 -05:00
Randy Heit
05843d3b13 Use "%#g" when disassembly floating point constants
- With "%g", there would be no decimal point if the number had no
  fractional part, making the output indistinguishable from integers.
2016-04-19 20:48:12 -05:00
Randy Heit
5d3e413d42 Make A_Stop an action function again
- A_Stop takes no parameters, so it should be an action function to avoid
  creating the wrapper when called.
2016-04-19 20:46:30 -05:00
Randy Heit
39df62b20e Remove "action" from Actor functions that don't actually need it
- An actor function really only needs to be an action function if:
  1. It can be called with no parameters specified, either because it takes
     none or because all its parameters are optional. This lets SetState()
     call it directly without creating a wrapper function for it.
  2. It wants access to the callingstate or stateowner parameters. Most
     functions don't care about them, so passing them is superfluous.
2016-04-19 20:28:49 -05:00
Christoph Oelckers
322b9fc0ae - wrap access to portal properties into sector_t:: member functions. 2016-04-19 11:35:28 +02:00
Randy Heit
c795f29cc4 Reduce calling overhead for A_SetUser* functions by making them non-action functions 2016-04-18 23:18:34 -05:00
Randy Heit
e83bc53678 Add atan2, which was conspicuously absent, to the VM
- DECORATE now has atan2(y,x) and VectorAngle(x,y) functions. They are
  identical except for the order of their parameters. The returned angle
  is in degrees (not radians).
2016-04-18 23:06:17 -05:00
Christoph Oelckers
8b35c08aa0 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-19 01:02:30 +02:00
Christoph Oelckers
69cbb7a382 - fixed: The pitch calculation did not check the calling actor's height when retrieving the position to calculate the pitch from. 2016-04-19 00:52:08 +02:00
Christoph Oelckers
b13c265ff4 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-19 00:28:00 +02:00
Christoph Oelckers
573d80f144 - render sproites through sector portals. 2016-04-18 23:52:15 +02:00
Christoph Oelckers
d2735d7632 - fixed: Trace considered any water surface a hit if nothing else was found. 2016-04-18 18:31:19 +02:00
Christoph Oelckers
5e822fd60b - fixed: The starting position of sight checks was inconsistent in different parts of p_sight.cpp. 2016-04-18 16:46:56 +02:00
Edoardo Prezioso
8dee0be9ab - Fixed the morphed player actor friendliness.
It wasn't inherited from the original player actor object.
2016-04-18 16:30:13 +02:00
nashmuhandes
a30eb4d709 Fixed a potential NULL assignment in FOptionMenuItemSafeCommand::Activate 2016-04-18 16:30:13 +02:00
nashmuhandes
6bfdd10a5c Show the command label when choosing a SafeCommand (like Reset2Defaults) in the menu. 2016-04-18 16:30:12 +02:00
Christoph Oelckers
741f054601 - clip sprites to linked sector portal planes.
This is the first part of properly handling those transitions.
2016-04-18 16:27:04 +02:00
Christoph Oelckers
990f5a79b4 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-18 15:29:45 +02:00
Christoph Oelckers
2327107f32 - fixed: Actors cannot be linked into the world until after all actors and sectors have been deserialized.
Two issues:

Portal linking requires all skyboxes in the sectors to be present, without them some info is not there when needed.
UpdateWaterLevel was called in AActor::Serialize, which operated on the freshly loaded level where lots of things haven't been set up yet and plane heights may be wrong.
2016-04-18 15:27:19 +02:00
Christoph Oelckers
467f833773 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/r_defs.h
2016-04-18 13:47:41 +02:00
Christoph Oelckers
155efb249a Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-18 13:46:06 +02:00
Christoph Oelckers
961a4c8524 - optimized sector portal checks.
All the PortalBlocks* functions were turned into real function calls which for such a frequent check should be avoided. So now any linked portal sets a flag in the attached sectors so that it isn't necessary to check the skybox pointer each time which makes the functions subject to inlining again.
2016-04-18 13:40:09 +02:00
Christoph Oelckers
42e88ef120 - removed sector_t::FloorDisplacement and CeilingDisplacement.
Using the values these return directly is just as much code.
2016-04-18 13:40:09 +02:00
Christoph Oelckers
c30d5d42a2 - fixed: UpdateSectorRenderList may not be called when spawning mapthings.
At this time the portals have not been initialized yet and doing this here would trash the cached previous coordinate.
2016-04-18 13:40:08 +02:00
Christoph Oelckers
8c1eb201eb - optimized P_PointInSubsector.
It costs more to convert the floating point coordinate for each node check than to convert it once up front and only use fixed point math afterward.
2016-04-18 13:40:08 +02:00
Christoph Oelckers
a90bef9c68 - 64 bit doesn't require NO_ASM. 2016-04-18 10:38:27 +02:00
Randy Heit
c5c032911c Let the temporary vissprite be stack local 2016-04-17 20:59:08 -05:00
Randy Heit
66c4bc1fee Fixed various problems when drawing psprites in a camera texture
- When the camera texture for a player view was rendered, its psprites
  would overwrite the ones stored for hardware acceleration.
  * Use a temporary vissprite in R_DrawPSprite() until it's known that it
    will be accelerated.
  * Do not write to any of the VisPSprites*[] arrays until it's known that
    the sprite will be accelerated.
2016-04-17 20:55:07 -05:00
Randy Heit
bf629d2590 Use a range instead of strict equality when deciding head sounds
- See http://forum.zdoom.org/viewtopic.php?f=7&t=51583
2016-04-17 20:14:25 -05:00
Christoph Oelckers
2661a94fe9 - call UpdateSectorRenderList from LinkToWorld as well, because this can be called from outside the actor's Tick function. 2016-04-18 01:35:37 +02:00
Christoph Oelckers
8f61c1cdd8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-18 00:02:55 +02:00
Christoph Oelckers
89b2cc45a2 - reverted P_CreateSecNodes to the regular FBlockLinesIterator.
This got accidentally committed. Even if this gets extended to reach through portals it needs to be done differently. FMultiBlockLinesIterator can't guarantee to get every sector that's being touched.
2016-04-18 00:02:07 +02:00
Christoph Oelckers
54d78df267 - added a new sector list to AActor that collects all portal-linked sectors the actor's center is in. (Inspired by Eternity's solution to the same problem.)
This is for rendering the sprite properly in all areas the actor touches. The original thinglist is not sufficient for this and Boom's touching thinglist has other purposes and collects too much data.
This new list will only get filled in when the actor is actually crossing a portal plane, for the normal sector thinglist will still be used.
This piggybacks on the msecnode_t code which has been extended to be able to handle more than one list by passing the sector's membert pointers as parameters.
2016-04-17 23:48:04 +02:00
Christoph Oelckers
f66202aef1 - fixed: If due to portal transitions, the chasecam cannot be interpolated, the entire view interpolation must be disabled for the current frame. 2016-04-17 18:42:54 +02:00
Christoph Oelckers
08514de768 - fixed A_WraithFX2 which had an incomplete floating point conversion. 2016-04-17 18:19:46 +02:00
Christoph Oelckers
3ed7a25d61 - added polyportal offset updates.
- removed the nodebuilder message for splitting polyobject subsectors because it is no longer relevant.
2016-04-17 17:10:11 +02:00
Christoph Oelckers
0d7bd368fa - added some fudging to draw the outer linedefs of a portal area.
This is needed so that polyportals get rendered correctly. For non-polyportals these will normally be outside the portal window and just be discarded.
2016-04-17 15:46:04 +02:00
Christoph Oelckers
faeb0303fe - renamed ADynamicLight's intensity properties to radius, to have their name match their meaning. 2016-04-17 13:53:29 +02:00
Christoph Oelckers
357869a7b5 Merge branch 'zmaster' 2016-04-17 12:29:59 +02:00
Christoph Oelckers
f27c762319 - fixed: The Heresiarch's check for full rotation of its balls depended on BAM semantics so it should still be checked as such to ensure consistent behavior. 2016-04-17 12:28:35 +02:00
Christoph Oelckers
59133a7009 - fixed bad merge in p_saveg.cpp 2016-04-17 12:09:04 +02:00
Christoph Oelckers
dcc77e5fb2 Merge remote-tracking branch 'remotes/zdoom/master' 2016-04-17 12:06:26 +02:00
Christoph Oelckers
a199fe1825 - fixed: loading polyobjects from a savegame was incomplete. 2016-04-17 12:04:32 +02:00
Christoph Oelckers
8a010ab871 - allow 90° rotations in skybox sectors. 2016-04-17 11:58:26 +02:00
Christoph Oelckers
a1e8d83724 - added SetMusicVolume ACS function. 2016-04-17 10:56:46 +02:00
Christoph Oelckers
5e73cdc670 - deleted leftover label in trace code. 2016-04-17 10:41:13 +02:00
Christoph Oelckers
0a35027f67 - fixed use of validcount for the GL renderer.
This needs to be incremented more locally to the place where it is used, so that it is guaranteed that each viewpoint that needs to be rendered increases it.
As a result the uses in the portal code could be removed.
2016-04-17 10:39:29 +02:00
Christoph Oelckers
bc2a5b3f16 - fixed typo in automap background position calculation. 2016-04-17 10:19:56 +02:00
Christoph Oelckers
430f3419b0 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-17 01:24:41 +02:00
Christoph Oelckers
6a27267500 - changed handling of one-time, one-way door polyobjects to be more efficient.
The old code kept the dead thinker, resulting in constant deletion and recreation of the subsector links and PolyBSP because the interpolation kept running.
Changed it so that the thinker is destroyed and the polyobject gets blocked by setting a new flag.
2016-04-17 01:24:07 +02:00
Christoph Oelckers
95de1faa80 - fixed: The portal coverage builder initialized node_t::len differently than the polyobject splitter.
This was creating quite a mess when loading savegames with both portals and polyobjects.
2016-04-17 01:16:46 +02:00
Christoph Oelckers
01983cdee1 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-16 22:58:39 +02:00
Christoph Oelckers
7ac0cfbbb9 - added support for angle changing portals to P_AimCamera. 2016-04-16 22:54:47 +02:00
Christoph Oelckers
e7c0fd26ba - restored an accidentally deleted line in the Heresiarch code. 2016-04-16 21:28:08 +02:00
Christoph Oelckers
6db95182cf Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-16 19:42:12 +02:00
Christoph Oelckers
0f6a567055 - added portal-awareness to the railgun trail.
This required some changes to the Trace function because it turned out that the original was incapable of collecting the required information:

* actors are now also linked into blockmap blocks on both sides if they occupy the boundary of a sector portal.
* Trace will no longer set up parallel traces in all parts connected with sector portal, but only use one trace and relocate that on the actual boundary.
2016-04-16 19:41:33 +02:00
Christoph Oelckers
eb30bf6e14 - fixed: Offsetting a vector by portals did not properly adjust the trace after crossing a portal. 2016-04-16 00:17:12 +02:00
Christoph Oelckers
cd75a46917 - fixed incorrect use of 'frac' in Trace's EnterLinePortal function.
How did this go wrong...?
2016-04-15 22:22:38 +02:00
Christoph Oelckers
b345c8c377 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-15 21:15:06 +02:00
Christoph Oelckers
6dfb4bdd41 - changed floor and ceiling movers so that portal planes do not block movement of the opposite plane, even if they are on the wrong side of it.
This fixes the cross-portal lift to the blue key in Vaporware.
2016-04-15 20:42:40 +02:00
Christoph Oelckers
dce9bf2760 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-15 19:46:41 +02:00
Christoph Oelckers
b73c6e847a - fixed: A_CheckRange calculated the square twice, resulting in a far too large value that got checked. 2016-04-15 18:46:31 +02:00
Christoph Oelckers
24776edd13 - fixed one of the most glaring omissions in the portal code: The wall clipper completely ignored portals when deciding how to treat a sector boundary, and ended up merging portal with non-portal planes.
This check is only active for linedef based portals, due to the large amount of maps that did it wrong with thing based portals.
Although it may well be that there are some maps that abuse this omission for linedef portals as well, these are better handled with a compatibility option if the need arises.

The main reason this was added is to streamline and optimize the portal handling between renderers in ZDoom and GZDoom. For that both need to show the same general behavior and for linedef portals it is also important to handle the same as in Eternity.
2016-04-15 16:39:58 +02:00
Christoph Oelckers
94cec02acc - fixed: FPNGTexture must readjust the file pointer after deciding to skip the tRNS chunk. 2016-04-15 15:15:34 +02:00
Christoph Oelckers
ed211ecbab - fixed positioning of portal things
In some situations it can happen that the sector here is not the frontsector of the anchor linedef, because some colinear node line with opposite direction causes this to be positioned on the wrong side. The only remedy here is to explicitly set the correct sector after spawning these things.
2016-04-15 15:02:28 +02:00
Christoph Oelckers
f0c2cd2d50 - fixed: 24 bit PNGs with transparent color need to set transpal to true in FPNGTexture::CopyTrueColorPixels. 2016-04-15 10:45:31 +02:00
Christoph Oelckers
a0a530945d - added new sector type 90 which designates a sector that is being used as a cubemapped skybox, in case someone wants to make one of those without using an actual sky for this. 2016-04-14 13:22:15 +02:00
Christoph Oelckers
328047ea28 - fixed issues with recent Stereo3D submission:
* there was a CVAR that was only defined in Windows
 * code did not compile with GCC.
 * due to bad setup it disabled multisampling.
2016-04-14 10:16:04 +02:00
Christoph Oelckers
77f05a0010 - fixed spawn positions for Korax's missiles. 2016-04-14 00:21:38 +02:00
Christoph Oelckers
caf80e74c4 - fixed multiplication/division mixup in TextureAdjustWidth.
- fixed: For top textures an incorrect ceiling height was passed to DoTexture.
2016-04-13 23:09:45 +02:00
Christoph Oelckers
812cdc86fb Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-13 19:33:56 +02:00
Christoph Oelckers
bffb7444a0 - removed portal check for distance check in GL code. 2016-04-13 19:33:45 +02:00
Christoph Oelckers
0f7fce8bbb - removed portal offsetting from the sprite distance check.
This isn't necessary. When rendering no actors from other groups may ever come into view directly - only when the respective part of the level is rendered through a portal. But at that point the camera is in a position where it's already correctly placed with relation to that actor.
2016-04-13 19:32:54 +02:00
Christoph Oelckers
d657692229 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-13 16:24:44 +02:00
Christoph Oelckers
d66a28fcde - fixed offsetting of player weapon sprites. 2016-04-13 16:24:25 +02:00
Christoph Oelckers
d0b30f31e1 - fixed: Checking for slopes at untextured bottom parts of the wall checked the ceiling's slope not the floor's. 2016-04-13 11:41:51 +02:00
Christoph Oelckers
37f43617d9 - make distance check 3D and use proper viewpoint. 2016-04-13 11:35:05 +02:00
Christoph Oelckers
d88a5ac353 - make distancecheck 3D and use the actual view position for calculation. 2016-04-13 10:48:39 +02:00
Christoph Oelckers
45cfea17f5 - removed unused variable. 2016-04-13 10:34:04 +02:00
Christoph Oelckers
efce248a98 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-12 22:42:33 +02:00
Christoph Oelckers
21b45fc0eb - fixed: distancecheck as a class property needs to be copied manually to subclasses. 2016-04-12 22:42:02 +02:00
Christoph Oelckers
bec3208efd - added support for distancecheck property. 2016-04-12 19:50:29 +02:00
Christoph Oelckers
a1a022581d Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-12 19:44:34 +02:00
Christoph Oelckers
3f0ed5d252 - added a distancecheck property to AActor that allows a given CVAR to be used as maximum display distance for actors of this type.
This is for WolfenDoom: BOA, which has some scripted sprite distance checks that very negatively affected performance.
2016-04-12 19:44:12 +02:00
Christoph Oelckers
a411b93e1d - fixed: The dynamic pulse light should always use its maximum size for linking into the sector lists, just like the other types with changing size do.
These limking operations are not cheap so it's preferable to have them affect a bit more geometry than running the linking code each tic.
2016-04-12 16:01:08 +02:00
Christoph Oelckers
e1a683b9ec - fixed minimum damage check in PowerDamage. 2016-04-12 15:49:13 +02:00
Christoph Oelckers
5d528fe317 - fixed: PCD_ENDTRANSLATION was missing a NULL pointer check. 2016-04-12 01:23:12 +02:00
Christopher Bruns
09d0cb5fd5 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2016-04-11 18:25:54 -04:00
Christoph Oelckers
7a2e957225 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-11 23:14:53 +02:00
Christoph Oelckers
a97f67edb6 - fixed: P_GetMidTexturePosition needs to divide by scale, not multiply, to get the proper offset. 2016-04-11 23:12:35 +02:00
Christoph Oelckers
aec1c85c08 - fixed: alpha for patches needs to be multiplied by 65536, not divided by. 2016-04-11 22:21:17 +02:00
Christoph Oelckers
ae6df617ba - fixed: The FPathTraverse call in P_UsePuzzleItem was missing the PT_DELTA flag. 2016-04-11 22:10:46 +02:00
Christoph Oelckers
e72bfa8add - fixed: For finding the listener's sector the sound code used the wrong coordinate. 2016-04-11 21:02:44 +02:00
Christoph Oelckers
99ca649930 - fixed NULL pointer access in SetAmmoCapacity. 2016-04-11 20:42:43 +02:00
Christoph Oelckers
56f8974b66 - removed debug code. 2016-04-11 19:59:57 +02:00
Christoph Oelckers
273c1ea510 - fixed PointOnSide caclulation for dynamic lights. 2016-04-11 19:59:39 +02:00
Christoph Oelckers
77bfffaee0 - removed a few __cdecl's from the source. 2016-04-11 12:46:48 +02:00
Christoph Oelckers
bf2b61f61c - removed remaining STACK_ARGS from GL code. 2016-04-11 10:55:09 +02:00
Christoph Oelckers
7ce670951b Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-04-11 10:49:11 +02:00
Christoph Oelckers
db86385cf6 - removed STACK_ARGS.
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
alexey.lysiuk
bd8b8911d5 - fixed Windows 32-bit build 2016-04-11 10:08:18 +03:00
MajorCooke
76f00131ff - Fixed: A_CheckBlock's dropoff check ignored the specifications of NOACTORS and NOLINES due to P_CheckMove blindly failing if P_CheckPosition failed. This lead to false positives such as blocking actors being detected when they shouldn't be. 2016-04-10 20:11:04 +02:00
Christoph Oelckers
76c18820cb - moved the declarations for the lighting thinkers to p_light.cpp.
Aside from the init function they are not needed anywhere else and that could also be placed into this file.
2016-04-10 18:29:23 +02:00
Christoph Oelckers
c12a85ee85 - removed some unused content from p_spec.h 2016-04-10 18:14:01 +02:00
alexey.lysiuk
93c334059a Made title text always visible in OS X startup window
Added temporary solution for the same foreground and background colors of the title in OS X startup window
It's used in graphical startup screen, with Hexen style in particular (for example WolfenDoom - Blade of Agony)
Native OS X backend doesn't implement this yet
2016-04-10 14:06:18 +02:00
Christoph Oelckers
fe973ba442 - tried to add precompiled headers to fastmath sources as well, but VC++ doesn't seem to want to play along. So I left this stuff in but disabled the precompilation until a solution can be found. 2016-04-10 13:54:42 +02:00
Christoph Oelckers
08b0be11a6 - add the precompiled header file for the previous commit. 2016-04-10 13:10:41 +02:00
Christoph Oelckers
9cc873ecdd - enable use of precompiled headers for MSVC. Thanks to a small CMake script I recently found this could be done non-invasively.
Due to the VC++ 2015 headers being rather bloated (the average include size per source is 400-500kb) this provides a noticable compile speedup, although right now this only covers the game code, so there should be more room for improvement.
2016-04-10 13:08:54 +02:00
Christoph Oelckers
12129b0f07 - added a system-include independent wrapper for Windows's OutputDebugString, so that this can be used more easily in files that cannot include windows.h. 2016-04-10 13:03:44 +02:00
Christoph Oelckers
ef08e29d51 - remove windows header #include from gameconfigfile.cpp, because it isn't needed. 2016-04-10 12:33:35 +02:00
Christoph Oelckers
f7adbc58bd Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-10 11:31:38 +02:00
Christoph Oelckers
d48c0ce25c - fixed some particle positioning errors. 2016-04-10 10:57:48 +02:00
Christopher Bruns
f6d296e103 Add comment by line I modified to avoid compile problem with Visual Studio 2015 2016-04-09 22:08:40 -04:00
Christopher Bruns
355bc75001 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes 2016-04-09 21:46:33 -04:00
Christopher Bruns
bde94879ad Restore stereoscopic geometry correctness, by inserting a minus sign where it always should have been, after finding that a compensating minus sign, where it probably should not have been anyway, was removed during the recent floating point refactoring. 2016-04-09 21:46:14 -04:00
Christoph Oelckers
84c8f38038 - fixed: The divisions in FTexCoordInfo::TextureOffset and RowOffset were turned into multiplications when converting to floating point. 2016-04-10 00:45:48 +02:00
Christoph Oelckers
dc753fca6e Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 23:30:29 +02:00
Christopher Bruns
072a5e60ae Naive change to get latest version to compile. 2016-04-09 17:03:55 -04:00
Christoph Oelckers
9a48adf81a - fixed: The software 2D drawer expected its translation pointer to be initialized by ParseDrawTextureTags. Removed the variable from DrawParms and made it and its initialization local to the software rendering code. 2016-04-09 22:56:12 +02:00
MajorCooke
c79a1b6a45 thing->floorz --> thing->dropoffz 2016-04-09 22:33:55 +02:00
MajorCooke
8b8c879994 - CBF_DROPOFF Fixes
- Fixed: CBF_DROPOFF didn't actually check the coordinates passed to it for dropoff height values. It only checked to see if it was stuck in lines.
2016-04-09 22:33:54 +02:00
Christoph Oelckers
dc72e7f3c2 - removed the check for VA_COPY from CMakeLists.txt.
This is because nothing uses va_copy anymore and it's a mandatory part of C++11, therefore always available.
2016-04-09 22:07:14 +02:00
Christoph Oelckers
1f1a0ca847 - fixed incorrect check for negative damage in APowerProtection::ModifyDamage. 2016-04-09 21:57:35 +02:00
Christoph Oelckers
bcebeadedc - fixed: ACS's GetActorPitch needs to convert to a signed angle. 2016-04-09 21:44:09 +02:00
Christopher Bruns
c6fa01dfbf Reimplement blue/yellow and quadbuffered stereo, this time with an additional CVAR gate on quadbuffered, for better hardware compatibility.obj
Something is terribly wrong with the separation in all stereo modes now though.
2016-04-09 15:40:55 -04:00
Christoph Oelckers
7a7e1652fc - fixed: lower textures used the wrong reference height for alignment 2016-04-09 21:06:32 +02:00
alexey.lysiuk
daa112e2ac Fixed OS X compilation after floating point merge
Header files from Carbon framework caused a few symbol conflicts
2016-04-09 20:54:04 +02:00
Christoph Oelckers
2e16f3d77e - made some adjustment for the DrawTexture changes. 2016-04-09 20:49:27 +02:00
Christoph Oelckers
fde1f28d71 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 20:48:54 +02:00
Christoph Oelckers
a827bab576 - refactored the use of tag lists so that they do not have to be passed around between functions.
This means that the varargs functions themselves are now responsible for parsing them into DrawParms.
This was done because DrawTextV made a blanket assumption that every single vararg has the size of a 32 bit integer and caused crashes when anything else was passed. It also failed to eliminate any tag that is incompatible with text display. These will now abort DrawText and trigger an assert.
2016-04-09 20:47:54 +02:00
Christoph Oelckers
1f0fd85d0e - adjustments for the DrawTexture interface changes. 2016-04-09 13:05:43 +02:00
Christoph Oelckers
bc42dd26c8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 13:00:14 +02:00
Christoph Oelckers
e2ae7d8f5d - removed the unused x and y parameters from DrawTextureParms. 2016-04-09 12:59:50 +02:00
Christoph Oelckers
c502a4b3cc Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 12:55:34 +02:00
Christoph Oelckers
43dd759859 - changed DrawTexture so that the parameters get parsed in the varargs function directly and that the virtual function that is getting called gets the fully prepared data.
In order to avoid passing around tag lists, DrawTextV needs to parse everything itself and then pass a fully initialized structure to DrawTexture. This cannot be done if all variants require a varargs tag list.
Apparently the only reason for the old approach was the 'hw' parameter which was never used.
2016-04-09 12:55:12 +02:00
Christoph Oelckers
ca317a87ea - started working on tracking portal transitions for railgun shots. 2016-04-09 12:09:06 +02:00
Christoph Oelckers
bc7e159be0 - cleaned up ceiling creation and moved the Create function out of the DCeiling class.
- did the same for floors so that FraggleScript no longer needs access to the thinkers themselves.
2016-04-09 12:07:34 +02:00
Christoph Oelckers
caae61de4c - removed DMoveCeiling and let FS call DCeiling::Create instead. Made a minor change to DCeiling::Create to keep it compatible, because handling for instantly moving ceilings is a bit different. 2016-04-08 20:44:55 +02:00
Christoph Oelckers
919f99db61 - fixed typo in actor scale assignment when spawning. 2016-04-08 16:52:42 +02:00
Christoph Oelckers
39d03f12b1 - fixed float <-> fixed conversion errors in Fragglescript. 2016-04-08 15:14:26 +02:00
Christoph Oelckers
06dc96b062 - removed 64 bit warnings. 2016-04-08 14:21:20 +02:00
Christoph Oelckers
3f28478eb2 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-08 14:19:02 +02:00
Christoph Oelckers
8535a973cf - made MoveAttached, MoveCeiling and MoveFloor members of sector_t instead of DMover.
- call MoveFloor and MoveCeiling directly in FS's floorheight and ceilingheight functions and remove the dummy thinkers it had to use before.
2016-04-08 14:18:46 +02:00
Christoph Oelckers
e505bfd7a3 - took EResult out of DMover and made it an enum class. 2016-04-08 13:59:03 +02:00
Christoph Oelckers
fb2234396c - split DSectorEffect::MovePlane into MoveFloor and MoveCeiling.
What was the point of this strange setup anyway? MoveFloor and MoveCeiling were inlines calling the universal MovePlane, which had nothing better to do than a switch/case with two cases - floor and ceiling!
2016-04-08 13:39:08 +02:00
Christoph Oelckers
74c9a7bf67 - fixed angle calculation in AdjustPlayerAngle for portals.
Normally this will adjust relative to the actual direction to the target, but with arbitrary portals that cannot be calculated so using the actual attack angle is the only option.
2016-04-08 13:08:08 +02:00
Christoph Oelckers
fdf9d94b26 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-08 12:51:34 +02:00
Christoph Oelckers
7404142edf - fixed incorrect center point calculation. 2016-04-08 12:51:00 +02:00
Christoph Oelckers
25d7eaed0a - fixed parentheses in ADynamicLight::DistToSeg.
- floatifed OpenGL sector grouping.
- optimized light node collection. It should not create light nodes for out of range segs.
2016-04-08 12:38:09 +02:00
Christoph Oelckers
3e94832bfd - use the correct reference heights for positioning textures. 2016-04-08 01:58:13 +02:00
Christoph Oelckers
4d5671d654 - floatified the texture coordinate code. 2016-04-08 01:42:43 +02:00
Christoph Oelckers
eaf055dff4 - floatified the remaining parts of gl_walls.cpp. 2016-04-08 00:19:51 +02:00
Christoph Oelckers
4ac3734375 - floatified more of gl_wall.cpp. 2016-04-07 23:19:37 +02:00
Christoph Oelckers
ddbb8d79c1 - handle the player sprite when crossing a portal. 2016-04-07 21:13:37 +02:00
Christoph Oelckers
5cd9e58af5 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-07 21:12:31 +02:00
Christoph Oelckers
58002f7f96 - fixed: an 'if' that gets completely optimized away by a constant 'false' condition should not make the entire function disappear. 2016-04-07 20:31:12 +02:00
Christoph Oelckers
0cbdb9ab72 - handle display of player sprite during portal transition properly.
This checks if the current viewpoint lies on the interpolation path, translated by all active portals.
2016-04-07 19:35:01 +02:00
Christoph Oelckers
7df1a8ae81 - adjusted FGLLinePortal to recent changes in line_t. 2016-04-07 17:41:06 +02:00
Christoph Oelckers
47e20aead4 - disallow crossable portals on one-sided linedefs which do not belong to a polyobject.
Sadly the mappers cannot be trusted to use a feature correctly. Despite repeatedly telling that portals on one-sided lines are problematic, everybody seems to do it this way - and then report bugs if it doesn't work. Under such circumstances the only safe option is to block such portals entirely.

See http://forum.zdoom.org/viewtopic.php?f=2&t=51511&p=898522#p898522 for a typical example of the problems this might cause.
2016-04-07 17:13:56 +02:00
Christoph Oelckers
ee3e3e35e6 - partial floatification of wall texturing code. 2016-04-07 17:00:13 +02:00
Christoph Oelckers
485a1bd0a5 - fixed: The 3D-floor plane renderer mixed float and fixed point. 2016-04-07 16:25:30 +02:00
Christoph Oelckers
32bbec7cad - fixed: the random offset that gets used when spawning blood applies to both sprites and particles, not just sprites. 2016-04-07 14:14:44 +02:00
Christoph Oelckers
4af859094c - fixed: sprite clipping did not work anymore because the 'invalid' value was inconsistent.
- cleaned up the 'if' condition in PerformSpriteClipAdjustment,
- enabled weapon bobbing interpolation.
2016-04-07 14:09:07 +02:00
Christoph Oelckers
88542bed78 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-07 13:43:00 +02:00
Christoph Oelckers
1d286d5bd5 - added APROP_MaxStepHeight + APROP_MaxDropOffHeight. 2016-04-07 13:41:54 +02:00
Christoph Oelckers
ddb2f6b6cb - fixed: P_SpawnPlayerMissile still used the angle_t values for offsetting the autoaim traces. 2016-04-07 13:11:23 +02:00
Christoph Oelckers
1eeaee1ac7 - completely reviewed and fixed all codes using angles in the automap. 2016-04-07 13:05:29 +02:00
Christoph Oelckers
a1c03c9a62 - fixed: P_AimCamera inverted the pitch. 2016-04-07 12:44:46 +02:00
Christoph Oelckers
790e13e5cb fixed: For sight checks the 'eye' of the seeing thing should be placed at 3/4 height, not half its height. 2016-04-07 12:14:34 +02:00
Christoph Oelckers
7ebb961917 - added weapon bobbing interpolation.
This was so ridiculously simple that I really fail to understand why the previous attempt was so overcomplicated that it just failed for that.
2016-04-07 11:48:23 +02:00
Christoph Oelckers
7f23a91488 - fixed: smooth bobbing uses the full angular range to calculate its position. 2016-04-07 11:14:39 +02:00
Christoph Oelckers
14b370df66 - fixed automap rotation to point upward, not downward when am_rotate is on. 2016-04-07 10:39:15 +02:00
Christoph Oelckers
37ddd20b56 - removed leftover debug code from yesterday's particle fix. 2016-04-07 10:28:43 +02:00
Christoph Oelckers
5409ada0e3 let WM_DISPLAYCHANGE and WM_STYLECHANGED call DefWindowProc.
At least on GZDoom it seems to be important on some systems.
2016-04-07 10:26:57 +02:00
Randy Heit
4b10177e46 Make the firelines fudging more "streamlined" 2016-04-06 20:09:42 -05:00
Christoph Oelckers
3923039a1b - fixed: a sight check that starts right on a linedef should ignore that linedef.
Trying to calculate a slope to the target from this linedef's opening will always result in failure because it'd involve a division by zero.
2016-04-07 01:16:07 +02:00
Christoph Oelckers
3d44613377 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-06 22:09:47 +02:00
Christoph Oelckers
dbad946fe3 - revert default planes to static in gl_sprite.cpp 2016-04-06 22:09:21 +02:00
Christoph Oelckers
b774fed93e - fixed: P_DrawSplash2's z-velocity was too high.
This code was ported from the 2005 floating point version, at one point it replaced 128 with 0.5, but 128 as a fixed point value needs to be 1/512. as a floating point value.
2016-04-06 18:46:52 +02:00
Christoph Oelckers
b93d4a796a - fixed angles for am_rotate. 2016-04-06 17:28:31 +02:00
Randy Heit
b796a5fed6 Fixed: segangle is only 16-bits, so AngleToFloat won't work on it directly 2016-04-06 08:45:07 -05:00
Christoph Oelckers
a0d0d9339e - fixed some uninitialized stuff in particle rendering.
- added gl_ClampLight to all places where the light level is set.
2016-04-06 14:03:21 +02:00
Christoph Oelckers
9196683e4f Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-06 13:27:23 +02:00
Christoph Oelckers
8ad49f5d33 - removed a leftover line from before the floating point conversion in p_user.cpp. 2016-04-06 13:21:17 +02:00
Christoph Oelckers
8cbdbdaf70 - fixed: The PathTraverse and sight checking code may not assume that ceiling(x) == floor(x)+1.
This will fail when a trace starts directly on a block boundary in which case x is a whole number. It should always use 'floor(x)+1' to ensure that the calculated point is at the right or upper edge of a block.
2016-04-06 13:19:09 +02:00
Christoph Oelckers
d4a2e9696e - removed 'inline' from P_Teleport declaration. 2016-04-05 22:27:11 +02:00
Christoph Oelckers
1a5a00a76e Merge branch 'floatcvt' 2016-04-05 21:42:09 +02:00
Christoph Oelckers
04b0a13bd3 - some optimization of FPathTraverse:
* we do not really need compatibility PointOnLineSide here. Unlike the movement code it'd only affect some extreme edge cases.
 * removed the special case for very short traces. This was a result of the original and very imprecise PointOnLine functions. Since those no longer get used here and floating point precision is a lot higher there is no need for this kind of treatment.
 * PointOnLine checks for the sides of an actor's bounding box don't need a full PointOnLineSide call, a simple coordinate comparison is fully sufficient, and this can easily be done in the existing switch/case block.
2016-04-05 16:29:07 +02:00
Christoph Oelckers
ad13a55f0d - floatified line_t::dx and dy. 2016-04-05 14:03:08 +02:00
Christoph Oelckers
f606ba315f - fixed: The return value of sector_t::FindHighestFloorPoint lost its '-' sign during the floating point conversion. 2016-04-05 10:55:13 +02:00
Christoph Oelckers
1d83ea6177 - fixed: ACS's SpawnProjectile and Thing_Projectile2 functions were treated as fixed point even though they are not. 2016-04-05 10:16:48 +02:00
Christoph Oelckers
55cbeb0253 - fixed pitch calculation in P_SeekerMissile with SMF_PRECISE. 2016-04-04 23:07:21 +02:00
Randy Heit
d39694a33d Fixed: DoTakeInventory() indicated success when passed an invalid item type 2016-04-04 15:51:03 -05:00
Randy Heit
3c8423d810 Print only one error message when PlayerPawn.Face is not 3 chars long 2016-04-04 15:17:58 -05:00
Randy Heit
57e0c97867 Fixed: DECORATE property error messages fail to show the file information 2016-04-04 15:16:29 -05:00
Randy Heit
6f60253590 Don't waste time looking for variables to (de)init in native classes 2016-04-04 14:57:43 -05:00
Christoph Oelckers
2dff6a08d1 - fixed: P_RadiusAttack passed the wrong radius value to the BlockThingsIterator. 2016-04-04 16:51:25 +02:00
Christoph Oelckers
21692359cc - fixed A_Face angle calculation. 2016-04-04 15:59:59 +02:00
Christoph Oelckers
7586320038 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_map.cpp
2016-04-04 14:19:34 +02:00
Christoph Oelckers
c346ac6143 - fixed: P_TeleportMove must clear the spechits array.
This was accidentally deleted during one round of portal refactoring but is essential to prevent multiple teleport activations in one move.
Fixing this also allowed removing the fudging that was added to work around the issue in P_TryMove.
2016-04-04 14:17:34 +02:00
Christoph Oelckers
32c32ea739 - fixed some initialization problems with sound.
* a position-less sound did not get the listener's position attached.
 * an unattached sound mixed up y and z coordinates.
2016-04-04 12:46:32 +02:00
Christoph Oelckers
123d503492 Merge branch 'master' into floatcvt 2016-04-04 12:25:36 +02:00
Christoph Oelckers
da91422e14 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-04-04 12:25:24 +02:00
Christoph Oelckers
f6b33acbb1 - fixed plane access in GL code. 2016-04-04 12:22:47 +02:00
alexey.lysiuk
cbcde3a950 Fixed check for alpha channel in texture to select hqNx upscaling mode
Now it's the initial check with the adjustment in mode indices only, as old hqNx MMX indices (4..6) are now occupied by generic hqNx implementation
See http://forum.drdteam.org/viewtopic.php?t=6872
2016-04-04 12:13:50 +02:00
Christoph Oelckers
7486e24cd9 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-04-04 12:07:57 +02:00
Christoph Oelckers
5d099590cd Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-04 12:06:42 +02:00
Christoph Oelckers
fadc7d650d - fixed: segplane_t::SetAtHeight initialized the plane normal's Z incorrectly. 2016-04-04 12:02:53 +02:00
Randy Heit
7de8c2b5eb Fixed: || should be && 2016-04-03 21:35:44 -05:00
Randy Heit
77f9643c8f How did this end up wrong? 2016-04-03 20:25:07 -05:00
Randy Heit
17972b5d06 Revert "Add "support" for user string variables in DECORATE"
- This reverts commit c90a1c0c96.
- DECORATE looks to be very dependant on functions that take strings as
  parameters receiving those strings as constants and not as expressions,
  so being able to declare string variables with DECORATE is pretty much
  useless.
2016-04-03 19:15:00 -05:00
Christoph Oelckers
fd27c8db9e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
#	src/version.h
2016-04-04 01:21:24 +02:00
Randy Heit
c90a1c0c96 Add "support" for user string variables in DECORATE
- This is "support" in the very most basic sense. You can declare them,
  but you can't actually do anything with them, since the decorate parser
  can't handle expressions when it's parsing string arguments. However,
  they seem to be getting properly initialized and destroyed, which is
  what this was added to test. If it doesn't look like too much trouble, I
  might try to turn them into something actually worth something.
2016-04-03 18:10:09 -05:00
Randy Heit
7c8cff64e6 Added code to initialize and destroy string variables in classes
- Will require being able to add strings to non-native classes to actually
  test this.
2016-04-03 17:45:04 -05:00
Randy Heit
15208188de Remove PClass::Extend() 2016-04-03 16:25:08 -05:00
Randy Heit
85c8218441 Added methods for PTypes to serialize their values
- Values are tagged to allow for some measure of changing variable types
  without automatically breaking savegames.
- Use these new methods to serialize the non-native variables in an
  object. This allows for achiving non-ints.
2016-04-03 16:21:48 -05:00
Randy Heit
da496bbe62 Use AddField() to add user variables in DECORATE 2016-04-03 16:21:48 -05:00
Randy Heit
806d9d7a95 Add an AddField() override to PClass that extends the default instance 2016-04-03 16:21:47 -05:00
Randy Heit
3357af32e5 Generalize FxArrayElement to work with all numeric elements (not just 32-bit ints) 2016-04-03 16:21:41 -05:00
Randy Heit
0cc2705b99 Added A_LogFloat 2016-04-03 16:12:35 -05:00
Christoph Oelckers
1011e26eb9 - fixed: P_RadiusAttack should not call P_DamageMobj for a damage value of 0.
This could happen if the damage calculations resulted in a value between 0 and 1, which for the actual check was multiplied with the damage parameter of P_RadiusAttack which inflated the fractional value to something that looked like actual damage but was later truncated.
2016-04-03 22:45:54 +02:00
Christoph Oelckers
6d441e25db - partially undid the 'repeated flash state' fix, because it didn't work with the stock weapons. I'm still not sure if a compatibility setting is needed. 2016-04-03 22:31:45 +02:00
Christoph Oelckers
447ce0abe7 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/p_saveg.cpp
#	src/r_defs.h
2016-04-03 22:16:06 +02:00
Christoph Oelckers
603af1bb92 - compile bug in gl_sprite and some optimization in gl_walls.cpp 2016-04-03 22:13:38 +02:00
Christoph Oelckers
330ca07f69 Merge branch 'master' into floatcvt 2016-04-03 22:11:50 +02:00
Christoph Oelckers
3f5e0c682e - fixed: Due to the iteration limit of 100 in the path traverse code, running a trace was effectively limited to somewhere around 12800 map units. Also added the safer exit condition checks from the sight checking code to FPathTraverse. 2016-04-03 21:41:58 +02:00
Christoph Oelckers
70b8afc5ec - fixed: A_CheckLOF did the trace pitch calculation wrong. 2016-04-03 21:26:57 +02:00
Christoph Oelckers
02a586e6b2 - removed a redundant Vec3Offset call in A_SpawnParticle. 2016-04-03 21:03:49 +02:00
Christoph Oelckers
3ee42f6aa6 - removed all savegame compatibility handling, since the data is just too different from what it was before to try to convert it. 2016-04-03 20:55:23 +02:00
Christoph Oelckers
4e5ba49aca - got rid of secplane_t::fA and fB. All uses could be replaced by other functions. 2016-04-03 19:46:00 +02:00
Christoph Oelckers
fc5f98a0be - floatified the sector planes.
This should conclude the floating point conversions for now.
2016-04-03 19:28:53 +02:00
Christoph Oelckers
fede16ce68 - fixed PointOnSide checks.
- optimized some ZatPoint calls for floating point planes.
2016-04-03 13:15:02 +02:00
Christoph Oelckers
252a6e9038 - removed back and forth fixed<->float conversions in sprite code. 2016-04-03 13:00:09 +02:00
Christoph Oelckers
58eb64a7e0 - fixed a few fixed/float parameter mixups. 2016-04-03 12:54:47 +02:00
Christoph Oelckers
7a6039b44c - floatified vertex coordinates.
Making these double or float doesn't seem to matter at all performance-wise so they use the more precise double format.
2016-04-03 11:53:31 +02:00
Christoph Oelckers
5a2eac8f15 - floatified vertices and removed the now redundant fx and fy members. This needs an added check for polyobject origins, though, so that such subsectors don't get rendered. 2016-04-03 11:40:14 +02:00
Braden Obrzut
42edd7db22 - Added IfInvulnerable SBARINFO command (modified from Blue-Shadow's pull request) 2016-04-02 23:47:44 -04:00
Braden Obrzut
81f29556bf - Refactored SBarInfo flow control so negatable commands are handled statically.
- Made TArray movable and TDeletingArray a move only type.
2016-04-02 23:43:56 -04:00
Christoph Oelckers
8a20f901a3 - removed the non.slope special handling in the wall processing code.
This may have made some sense when I added this 11 years ago but on a current computer it actually hurts performance a bit due to the branching that is involved - the code runs a bit faster with those special cases removed.
2016-04-03 02:07:37 +02:00
Christoph Oelckers
af78937a15 - updated GL renderer. 2016-04-02 23:17:16 +02:00
Edoardo Prezioso
f36489098f - Fixed one GCC/Clang warning. 2016-04-02 23:01:51 +02:00
Edoardo Prezioso
28ac65b25b - Fixed GCC and Clang compilation errors. 2016-04-02 23:01:32 +02:00
Christoph Oelckers
348c384bb6 - fixed scaling of skies with unusual dimensions. 2016-04-02 22:18:42 +02:00
Christoph Oelckers
f7553fcd51 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_defs.h
2016-04-02 22:17:33 +02:00
Christoph Oelckers
6ffb5fa164 - fixed: Angular interpolation needs to call deltaangle instead of using the difference between two angles to avoid overflow conditions. 2016-04-02 22:12:52 +02:00
Christoph Oelckers
9b5a4b6d43 - removed several unused setter functions for level data structures and fixed some incorrect uses. 2016-04-02 22:05:23 +02:00
Christoph Oelckers
9a07f81269 - renamed all ZatPoint variants that return a fixed point value to ZatPointFixed, to avoid accidental mixup with the floating point variants. 2016-04-02 20:45:32 +02:00
Christoph Oelckers
6a150f7248 - fixed seg vertex adjustment (from a commit that wasn't copied to this branch.) and added viewx etc. to a global header . 2016-04-02 20:24:51 +02:00
Christoph Oelckers
3db90ff4c1 - removed all remaining fixed point methods from AActor.
- removed all calls to fixed point vertex access methods in p_setup.cpp.

# Conflicts:
#	src/p_setup.cpp
2016-04-02 20:14:58 +02:00
Christoph Oelckers
60e25b32a8 - floatified the particles.
This is the last bit of play code that needed to be altered, what's left is the underlying data representations of vertices, linedefs and sectors.

# Conflicts:
#	src/p_setup.cpp
#	src/r_things.cpp
2016-04-02 20:12:08 +02:00
Christoph Oelckers
931774ab38 - fixed some issues with the PathTraverse and sight checking code:
* typo in calculating end position from a trace vector
 * must use floor to convert from floating point block coordinate to block index to account for running off the negative side of the blockmap. (Int cast always rounds toward zero which is wrong here.)
 * bad calculation of sight checking slopes - they has the actor's z coordinate duplicated.

- fixed scaling of automap markers.
2016-04-02 20:10:48 +02:00
Christoph Oelckers
b3659305ce - fixed typo in line portal interpolation path calculation. 2016-04-02 20:10:32 +02:00
Christoph Oelckers
96a02f922d - removed R_PointToAngle2 call in P_Setup.cpp.
- removed long inactive node saving code in p_writemap.cpp. If this file is ever made operational again it will be with UDMF output.
2016-04-02 20:10:25 +02:00
Christoph Oelckers
046ee3e803 - removed a few leftover FRACUNITs. 2016-04-02 20:07:18 +02:00
Christoph Oelckers
bb13590e07 - make viewx etc. global.
- a few minor optimizations.
2016-04-02 20:07:02 +02:00
Christoph Oelckers
ccfb2ac233 - fixed quake checks. 2016-04-01 12:58:46 +02:00
Christoph Oelckers
8680391e0b - floatified the global view variables.
The software renderer still uses internal copies of the fixed point version.
2016-04-01 12:22:16 +02:00
Christoph Oelckers
a5e14425aa - fixed angular interpolation of skybox viewpoints. 2016-04-01 11:55:37 +02:00
Christoph Oelckers
a27181cb0b - partial adjustments.
No point changing all the viewx/y/z stuff when that is about to get floatified next.
2016-03-31 21:42:27 +02:00
Christoph Oelckers
466c4c75df Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/actor.h
2016-03-31 21:24:26 +02:00
Christoph Oelckers
a93296be80 - removed most of the deleted function declarations. 2016-03-31 21:20:45 +02:00
Christoph Oelckers
6445615b5d - fixed the sound location calculations which got somewhat broken by the constant changes during the conversion. 2016-03-31 21:13:32 +02:00
Christoph Oelckers
8f5ac9b73f - fixed a float/fixed mixup in R_PointOnSideSlow. 2016-03-31 17:44:05 +02:00
Christoph Oelckers
9412ce45d6 - floatified portals.cpp and most of p_maputl.cpp. 2016-03-31 16:52:25 +02:00
Christoph Oelckers
6b065b8074 - floatified FBoundingBox. 2016-03-31 10:38:54 +02:00
Christoph Oelckers
c6ada2397c - adjustments. 2016-03-31 09:50:59 +02:00
Christoph Oelckers
a5c4e2dab3 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_utility.h
2016-03-31 09:24:41 +02:00
Christoph Oelckers
8fd76f0c8a - floatified bmaporgx and bmaporgy, allowing to remove the gross overflow prevention hacks present in the blockmap code. 2016-03-31 09:23:14 +02:00
Christoph Oelckers
f41afde545 - floatified line_t::bbox. 2016-03-31 01:22:49 +02:00
Christoph Oelckers
7a2c8fdc1c - floatified po_man.cpp and the remaining bits in p_lnspec.cpp 2016-03-31 00:41:21 +02:00
Christoph Oelckers
1666418510 - fixed incomplete interpolation floatification. 2016-03-30 20:05:29 +02:00
Christoph Oelckers
cf44d2e37a - adjustments. 2016-03-30 20:01:44 +02:00
Christoph Oelckers
251172c7f0 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_data/r_interpolate.cpp
2016-03-30 18:24:22 +02:00
Christoph Oelckers
d54a2364b9 - floatified r_interpolate.cpp. 2016-03-30 17:11:31 +02:00
Christoph Oelckers
27bad66f61 - floatified the remaining parts of p_sector.cpp. 2016-03-30 16:51:19 +02:00
Christoph Oelckers
66929cbaff - floatified p_trace, p_slopes and p_udmf.cpp.
- major cleanup of unused code.
2016-03-30 16:30:22 +02:00
Christoph Oelckers
ced30e7bbb - fixed a few oversights.
- switched p_buildmap to use the floating point variants of the linedef/sector init methods.
2016-03-30 11:25:02 +02:00
Christoph Oelckers
c2e2910399 - fixed copy/paste error in P_GetFriction resulting in incorrect calculation of movefactor. 2016-03-30 10:08:06 +02:00
Christoph Oelckers
0eb35d6c6e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
2016-03-30 09:47:25 +02:00
Christoph Oelckers
77f2530236 - floatified the sector plane movers and removed some of the ZatPoint conversion cruft. 2016-03-30 09:41:46 +02:00
Randy Heit
1648a71e45 Add support for Name and String types to ACS's GetUserVariable
- Reading one of these types will copy its value into the global ACS string
  table and return the index.
2016-03-29 22:49:12 -05:00
Randy Heit
b37ef48e99 Allow ACS's GetUserVariable to access non-user variables
- Since DECORATE already allows reading all declared variables in a class,
  where's the utility in keeping this restriction in ACS?
- Variables must still be numeric types.
- SetUserVariable is still restricted to user variables only.
2016-03-29 22:42:04 -05:00
Randy Heit
35121544b4 Add float support to ACS's Get/SetUserVariable functions
- "Support" means that setting one will convert from fixed point to
  floating point, and reading one will do the reverse.
2016-03-29 22:41:38 -05:00
Randy Heit
b6e3358b1c Add A_SetUserVarFloat and A_SetUserArrayFloat 2016-03-29 22:41:37 -05:00
Randy Heit
299019ea15 Add GetValueFloat() for numeric PTypes 2016-03-29 22:41:37 -05:00
Randy Heit
feb5ab31cc Add double variants of SetValue() for numeric PTypes 2016-03-29 22:05:25 -05:00
Randy Heit
e2711a74e7 Add float user vars for DECORATE
- PClass::Extend now takes alignment into consideration.
2016-03-29 21:48:57 -05:00
Christoph Oelckers
cadd8f2d4a - made adjustments for changes to linedef delta. 2016-03-29 16:31:58 +02:00
Christoph Oelckers
e4d68e17fd Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-03-29 16:14:06 +02:00
Christoph Oelckers
ff0b371582 - made the linedef deltas private and only accessible through access functions.
Now everything should be in place to remove the fixed point math from the rest of the play code.
2016-03-29 16:13:16 +02:00
Christoph Oelckers
59bb003285 - GL adjustments for plane changes. 2016-03-29 13:45:50 +02:00
Christoph Oelckers
37e6429cf3 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_data/r_interpolate.cpp
2016-03-29 13:12:15 +02:00
Christoph Oelckers
84d547adfb - fixed: The check if a line is in range of a bounding box must be exclusive.
Unfortunately I picked the one incorrect version of this check (from A_PainShootSkull) when moving it to an inline function.
2016-03-29 13:10:15 +02:00
Christoph Oelckers
25f5e8449a - replaced all direct access to sector plane coefficients with wrapper functions. 2016-03-29 12:40:41 +02:00
Christoph Oelckers
a87c292f10 - adjustments to GL code for texture scale and vertex coordinate access. 2016-03-29 11:26:33 +02:00
Christoph Oelckers
ae14268989 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_utility.cpp
2016-03-29 10:09:03 +02:00
Christoph Oelckers
c7ae4688a3 - replaced all direct access to vertex coordinates with wrapper functions.
So that code replacement can be done piece by piece and not all at once.
2016-03-29 10:07:06 +02:00
Christoph Oelckers
8d071f85b3 - use float vectors for prediction. 2016-03-29 02:06:05 +02:00
Christoph Oelckers
c776a0fb54 - floatification of p_teleport and p_switch.cpp. 2016-03-29 00:31:59 +02:00
Christoph Oelckers
0a238e7e18 Merge branch 'master' into floatcvt 2016-03-28 22:53:26 +02:00
Christoph Oelckers
a92de84cf7 - this stuff should not have been saved... 2016-03-28 22:53:10 +02:00
Christoph Oelckers
0283df4c42 - restored floating point pusher code. 2016-03-28 22:47:45 +02:00
Christoph Oelckers
9145181b79 Merge branch 'master' into floatcvt 2016-03-28 22:25:36 +02:00
Christoph Oelckers
8c3c18b008 - forgot to add this... 2016-03-28 22:25:12 +02:00
Christoph Oelckers
d87f861e87 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 22:23:41 +02:00
Christoph Oelckers
263051a77b - removed a few unnecessary #includes. 2016-03-28 22:20:25 +02:00
Christoph Oelckers
59920095af - separated pushers into their own file. 2016-03-28 21:57:22 +02:00
Christoph Oelckers
05504b65d2 - floatified p_scroll.cpp
While testing this it became clear that with the higher precision of doubles it has to be avoided at all costs to compare an actor's z position with a value retrieved from ZatPoint to check if it is standing on a floor. There can be some minor variations, depending on what was done with this value. Added isAbove, isBelow and isAtZ checking methods to AActor which properly deal with the problem.
2016-03-28 21:04:46 +02:00
Christoph Oelckers
a46a4c81b1 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_lnspec.cpp
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 17:46:19 +02:00
Christoph Oelckers
fd46909b1a - made partial floarting point aliases for EV_DoCeiling so that all the calls in p_lnspec.cpp match the master branch for merging. 2016-03-28 17:41:13 +02:00
Christoph Oelckers
b5f333798e - moved all scroller related code into its own file, including the DScroller class definition. 2016-03-28 17:27:55 +02:00
Christoph Oelckers
a99ebc2356 - floatified p_sight.cpp. 2016-03-28 16:22:21 +02:00
Christoph Oelckers
5e1c79c050 - floatified the rest of p_mobj_cpp and removed a large part of the conversion cruft from the headers that was needed to keep the code compileable. 2016-03-28 12:03:07 +02:00
Christoph Oelckers
2fff7005ad - floatified more of p_mobj.cpp 2016-03-28 10:01:24 +02:00
Christoph Oelckers
217414cb1c -floatified P_ExplodeMissile and P_XYMovement 2016-03-28 00:55:57 +02:00
Christoph Oelckers
7b256dda3d - did the last remaining bits in p_map.cpp. 2016-03-27 22:49:59 +02:00
Christoph Oelckers
8b4a33794a - floatified P_ChangeSector. 2016-03-27 22:35:58 +02:00
Christoph Oelckers
fe744a589c - floatified P_RadiusAttack. 2016-03-27 21:11:17 +02:00
Christoph Oelckers
0baaa3cf63 - floatified P_LineAttack, P_TraceBleed and P_UseLines. 2016-03-27 20:58:01 +02:00
Christoph Oelckers
eae6f7e9ea - floatified P_AimLineAttack. 2016-03-27 17:58:18 +02:00
MajorCooke
4eee1c7af1 Fixed: A_FaceMovementDirection was backwards. 2016-03-27 14:21:07 +02:00
Christoph Oelckers
228c447a02 - fixed: A_FireCustomMissile used the player position as offset. 2016-03-27 14:20:14 +02:00
Christoph Oelckers
6ab95da2fc - fixed copy/paste coordinate screwup in moving camera code. 2016-03-27 14:11:46 +02:00
Christoph Oelckers
23d311dd04 - floatified P_CheckSlopeWalk. It should be noted that this function is one place where full double precision is too high and needed to be truncated. 2016-03-27 14:07:35 +02:00
Christoph Oelckers
26ff2f73d7 - floatified P_TryMove and the sliding and bouncing code. 2016-03-27 13:29:58 +02:00
Christoph Oelckers
1877eca2ab - more floatification of p_map, plus some stuff used in those functions. 2016-03-27 01:06:54 +01:00
Christoph Oelckers
6e93264016 - started floatification on p_map.cpp. 2016-03-26 23:19:38 +01:00
Christoph Oelckers
00ea8662b8 - floatification of p_enemy and p_interaction.cpp. 2016-03-26 20:59:35 +01:00
Christoph Oelckers
0c39bdd04c - floatified texture scale values. 2016-03-26 13:37:44 +01:00
Christoph Oelckers
dabed04d2a - floatification of p_3dfloors, p_3dmidtex and p_acs.cpp plus some leftovers.
- removed all references to Doom specific headers from xs_Float.h and cmath.h.
2016-03-26 12:36:15 +01:00
Christoph Oelckers
35bb686281 - floatification of sector_t::centerspot. 2016-03-26 09:38:58 +01:00
Christoph Oelckers
30b57fd7b0 - floatification of G_CheckSpot and a few other things. 2016-03-26 09:28:00 +01:00
Christoph Oelckers
696fde69b8 - moved the bot support code from AActor::Tick to a subfunction in the bot sources. No need to pollute a main game file with this stuff. 2016-03-26 01:30:28 +01:00
Christoph Oelckers
c2e7858e05 - looks like the oldz parameter in UpdateWaterLevel is not needed at all... 2016-03-26 01:13:36 +01:00
Christoph Oelckers
558e04cb99 - safety commit. 2016-03-26 01:03:02 +01:00
Christoph Oelckers
e42b0171b3 - floatification of bot code. 2016-03-26 00:34:56 +01:00
Christoph Oelckers
8e13d13916 - floatified the automap. 2016-03-25 21:54:59 +01:00
Christoph Oelckers
fb8e03d5eb - floatified FLineOpening.
- some smaller fixes.
2016-03-25 18:43:37 +01:00
Christoph Oelckers
2cf3b20ea8 - floatified the last remaining AActor member variable 'damagemultiply'. 2016-03-25 16:30:31 +01:00
Christoph Oelckers
1125101b37 - floatified AActor::Prev plus the stuff using it.
- rewrote some coordinate functions in AActor to use real float math instead of converting back and forth between float and fixed.
2016-03-25 16:25:25 +01:00
Christoph Oelckers
2b33601d00 - The fixed_t type for the VM also is not needed any longer and was removed. 2016-03-25 15:50:39 +01:00
Christoph Oelckers
8cdfbeea01 - made AActor::__pos a genuine float vatiable. 2016-03-25 15:43:20 +01:00
Christoph Oelckers
b958a5d748 - adjustments in GL code. 2016-03-25 15:14:09 +01:00
Christoph Oelckers
ad74493d5e Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-03-25 14:56:40 +01:00
Christoph Oelckers
3a598d672e - removed the angle_t type from the VM, now that nothing in the interface requires it anymore. 2016-03-25 14:55:01 +01:00
Christoph Oelckers
8b6b5e7b1c - preparation for upcoming work: rename the fixed point versions of PosRelative. 2016-03-25 14:18:50 +01:00
Christoph Oelckers
a3b687bc4e - renamed PARAM_DANGLE macros to PARAM_ANGLE, now that the old angle_t type is no longer used in the VM interface. 2016-03-25 13:23:07 +01:00
Christoph Oelckers
21340c6eba - floatified the rest of thingdef_codeptr.cpp and got rid of the remaining fixed_t and angle_t parameters in VM-accessed function. The VM should now be free of those types completely. 2016-03-25 12:57:22 +01:00
Christoph Oelckers
b70fee8ed8 - changed the means how to control the slowdown of crushing ceilings encountering an obstacle and corrected a few mistakes in the implementation
* there is a new crushing mode 3, which means that the crusher will always slow down if it hits an obstacle.
* crushing mode 1 (Doom mode) will never slow down.
* crushing mode 0 (compatibility) will only slow down for the specials that did so before, and only if both up and downspeed are 8 and the game is not Hexen. The following specials are affected:
  * Ceiling_LowerAndCrush
  * Ceiling_LowerAndCrushDist
  * Ceiling_CrushAndRaise
  * Ceiling_CrushAndRaiseA
  * Ceiling_CrushAndRaiseDist
  * Ceiling_CrushAndRaiseSilentA
  * Ceiling_CrushAndRaiseSilentDist
* Generic_Crusher was fixed to act like in Boom: Not only a speed value of 8 will cause slowdown, but all speed values up to 24.
* Hexen crushing mode will never cause slowdowns because Hexen never did this. (which also makes no real sense, considering that the crusher waits for the obstacle to die.)
2016-03-25 02:08:22 +01:00
Christoph Oelckers
f76524f459 - some cleanup on P_RailAttack plus a bit of parameter floatification in thingdef_codeptr.cpp 2016-03-25 00:59:14 +01:00
Christoph Oelckers
4d22b346f4 - floatified the remaining fixed point variables accessible through DECORATE. PROP_FIXED_PARAM is no longer used anywhere. 2016-03-24 23:50:29 +01:00
Christoph Oelckers
7a26318bf0 - floatified friction. 2016-03-24 22:50:03 +01:00
Christoph Oelckers
6c9e5b03c8 - floatified meleerange, pushfactor and radiusdamagefactor, 2016-03-24 21:31:04 +01:00
Christoph Oelckers
e077510773 - floatified MaxTargetRange and MeleeThreshold. 2016-03-24 20:56:59 +01:00
Christoph Oelckers
c66ff5939d - floatified AActor::bouncefactor and wallbouncefactor. 2016-03-24 20:43:35 +01:00
Christoph Oelckers
8add60ed38 - fixed: Getting the nearest ceiling height failed for height-less actors. 2016-03-24 19:24:33 +01:00
MajorCooke
a9ef8cc637 Fixed A_QuakeEx falloff not working properly. 2016-03-24 19:04:51 +01:00
Christoph Oelckers
4874fe2361 Merge branch 'master' into floatcvt 2016-03-24 18:32:47 +01:00
MajorCooke
c8ba6f0611 Fixed quake falloff not working in floatcvt branch. 2016-03-24 18:30:23 +01:00
Christoph Oelckers
75bcec411e - fixed: The portal blockmap's AddLineIntercepts methods needs to check the block's range. 2016-03-24 18:26:27 +01:00
Christoph Oelckers
deafa0bce0 - fixed: The 'open door in 5 minutes sector type had the order of parameters wrong, due to a bad function prototype. 2016-03-24 18:01:01 +01:00
Christoph Oelckers
59406c1273 - adjust. 2016-03-24 16:40:15 +01:00
Christoph Oelckers
f568a35756 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/win32/fb_d3d9.cpp
2016-03-24 16:38:09 +01:00
Christoph Oelckers
41387622f2 - changed angle parameter of FillSimplePoly. 2016-03-24 16:36:43 +01:00
Christoph Oelckers
5bf806e478 - renamed some fixed point stuff in the texture composition code. 2016-03-24 16:16:45 +01:00
Christoph Oelckers
37bb816850 - some adjustments for voxels. 2016-03-24 16:10:17 +01:00
Christoph Oelckers
86d1b2955a - floatified most of r_data (The interpolations cannot be done yet.) 2016-03-24 14:11:41 +01:00
Christoph Oelckers
379d5bc0c5 - fixed some issues with dynamic lights caused by the floatification changes 2016-03-24 13:38:37 +01:00
Christoph Oelckers
609defe078 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_defs.h
2016-03-24 12:48:05 +01:00
Christoph Oelckers
f62c988a0e - adjustments for next update. 2016-03-24 12:47:08 +01:00
Christoph Oelckers
09d8b4af80 - changed I_GetTimeFrac to return a double instead of a fixed_t. 2016-03-24 12:00:21 +01:00
Christoph Oelckers
c83ad9df6c - removed special treatment for not using stdint.h with MSVC. Current compiler versions have this file.
- removed use of finesine for creating the player backdrop for the menu display. This mostly uses the code from the old 2.0 floating point version but fixes some of the constants in there which were not correct.
2016-03-24 11:30:11 +01:00
Christoph Oelckers
eac0bfeaeb - removed fixed_t and associated utility macros from FraggleScript code. 2016-03-24 09:16:35 +01:00
Christoph Oelckers
4a79602325 - floatification of g_shared.
- rewrote FraggleScript's movecamera function because it was utterly incomprehensible.
2016-03-24 01:46:11 +01:00
Christoph Oelckers
6557f3b8c8 - floatified quake and weapon code 2016-03-23 20:45:48 +01:00
Christoph Oelckers
2dbd79cc8d - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
Christoph Oelckers
70d87f94f2 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_acs.cpp
#	src/r_utility.cpp
#	src/thingdef/thingdef_codeptr.cpp
#	src/version.h
2016-03-23 14:15:24 +01:00
MajorCooke
b16e696157 - Added offset and angle parameters to A_CheckBlock.
- Includes 2 flags, affixed by CBF_: AbsolutePos, and AbsoluteAngle.
- AbsolutePos: Absolute position of where to check.
- AbsoluteAngle: Angle parameter is used as is, not added onto the actor's current angle.
2016-03-23 14:05:31 +01:00
Christoph Oelckers
0d1fbcf65f - flattened the following commits by Major Cooke:
* Added falloff parameter to A_QuakeEx.
- Treated just like A_Explode's 'fullradiusdamage' parameter, where the quake will fall off from this distance on out to the edge. Default is 0, which means no falloff.
- Credits to MaxED and Michaelis for helping.

* - Added HighPoint parameter to QuakeEx.
- Allows fine tuning of where the quake's maximum or minimum occurs, in tics. This must be a range between [1, duration).
- For up or down scaling quakes, this sets the quake to reach maximum sooner or start minimizing later.
- For both, this indicates when the strongest will occur. Default is 0, or in the middle.

The original commits were nearly impossible to find in the convoluted commit tree, so I think it's preferable to have one clean commit instead.
2016-03-23 14:03:10 +01:00
Christoph Oelckers
7c87479eea - parameter rework of several spawning functions. 2016-03-23 13:31:12 +01:00
Christoph Oelckers
f60eac8dc0 - floatified FMapThing, dropoffz and GetBobOffset 2016-03-23 12:21:52 +01:00
Christoph Oelckers
f8cf4bcf3d - trimmed down the AActor Spawn interface and removed all non-float variants.
This still needs some cleanup in a few calling functions.
2016-03-23 10:42:41 +01:00
Christoph Oelckers
2a0d5a621a - floatified some stuff in g_shared.
Note: This commit does not handle z-spawn positions correctly.
2016-03-23 00:53:09 +01:00
Christoph Oelckers
eadecaf407 - adjustments to GL renderer for decal and alpha changes.
- handle portals in sprite lighting, but do not use the playsim's utility functions for efficiency.
2016-03-22 23:19:21 +01:00
Christoph Oelckers
eee5143b26 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_defs.h
2016-03-22 22:12:51 +01:00
Christoph Oelckers
301f5abadc - floatified the decal code. 2016-03-22 22:07:38 +01:00
Christoph Oelckers
6b3c0ecbd3 - floatified viewheight variables and some related code. 2016-03-22 18:06:08 +01:00
Christoph Oelckers
af427b80bd - did some cleanup and consolidation on damage factor code while converting it all to floating point.
- made armor properties floating point.
2016-03-22 16:35:41 +01:00
Christoph Oelckers
1eb106e2c5 - floatification of some alpha parameters. 2016-03-22 13:35:16 +01:00
Christoph Oelckers
bd7df76059 - fixed compilation of AActor::alpha 2016-03-22 12:56:20 +01:00
Christoph Oelckers
19b85f806e Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/actor.h
2016-03-22 12:44:40 +01:00
Christoph Oelckers
a652c061f6 - converted g_strife to full floating point use, except the floor height changing stuff in A_LightGoesOut. 2016-03-22 12:42:27 +01:00
Christoph Oelckers
5a4b974187 - float stuff in g_raven.
- fixed some problems in previous commits.
2016-03-22 02:29:43 +01:00
Christoph Oelckers
f3d6ca04fc - some floating point changes in t_func.cpp 2016-03-22 01:19:24 +01:00
Christoph Oelckers
cf79e1cb6d - fixed some leftover fixed point remnants in g_hexen.
- made the full-coordinate version of P_SpawnPlayerMissile use float coordinates.
2016-03-22 00:30:56 +01:00
Christoph Oelckers
4155e84a1c - made player_t::crouchoffset and FPlayerStart's coordinates doubles and added a float version of divline_t so that I could complete the conversion of Hexen's game code.
- consolidated the actor based damage factor code which was repeated multiple times in various damage inflicting functions.
2016-03-22 00:06:58 +01:00
Christoph Oelckers
c830801da3 - g_hexen almost done except for 3 things that require more extensive changes. 2016-03-21 22:20:10 +01:00
Christoph Oelckers
f1602882c8 - added a no-parameter Spawn function for inventory items that never show on the map, because the coordinate and replacement parameters will always be 0 for them.
- started converting g_hexen.

Most importantly this removes CHolyWeave as it is just a specialized version of A_Weave with far more convoluted use of parameters.
2016-03-21 14:00:05 +01:00
Christoph Oelckers
4e60ea0252 - made AActor::alpha a floating point value
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Christoph Oelckers
b29058c1ab - converted the last fixed point remnants in g_heretic. 2016-03-21 10:24:52 +01:00
Christoph Oelckers
b54b34a512 - adjustments for floating point changes. 2016-03-21 02:57:02 +01:00
Christoph Oelckers
48afdd7dcb Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/CMakeLists.txt
#	src/actor.h
2016-03-21 01:34:39 +01:00
Christoph Oelckers
904a027bd2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-21 01:31:32 +01:00
Christoph Oelckers
11e613f578 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_doom/a_revenant.cpp
2016-03-21 01:28:50 +01:00
Christoph Oelckers
a66f9cbf5a - fixed: angular spread for Strife's assault gun was wrong, 2016-03-21 01:26:06 +01:00
Christoph Oelckers
2d2eeb49f0 - make weapon sprite offsets floats. 2016-03-21 01:16:34 +01:00
Christoph Oelckers
1ff4bb419c - made AActor::gravity and FMapThing::gravity floats. 2016-03-21 00:51:19 +01:00
Christoph Oelckers
7ebb96f15c - use one of the new floating point special variables to store the portal plane height of the skybox things. 2016-03-21 00:05:44 +01:00
Christoph Oelckers
289cdfbefd - made AActor::floorclip a double. 2016-03-20 23:42:27 +01:00
Randy Heit
f38dbc5055 Use LHS/RHS matching for some simple SAFE_APPENDs 2016-03-20 15:57:02 -05:00
Randy Heit
071a5718cc Use /*X-overwrites-A*/ wherever X = A; appears in the grammar 2016-03-20 15:57:01 -05:00
Randy Heit
c0dd39ffd4 Use %token_class to define intconst 2016-03-20 15:57:01 -05:00
Randy Heit
260cf6848f Use LHS and RHS label matching in the grammars where possible 2016-03-20 15:57:01 -05:00
Randy Heit
baa6dc0568 Add zcc-parse.c and .h to the ZScript project folder 2016-03-20 15:57:00 -05:00
Christoph Oelckers
afa5f22b31 - added two floating point special variables, because the two existing ones are integers and unusable for storing doubles. 2016-03-20 21:51:09 +01:00
Christoph Oelckers
cff8e51811 - converted AActor::height to double. 2016-03-20 20:55:06 +01:00
Randy Heit
2a394d0cb8 Do not copy lemon grammars to the output directory
- Having my edits to the grammar disappear because Visual Studio had
  opened the copy instead of the original was super annoying. Using the -C
  option with Lemon, this problem is avoided because there are no copies
  to worry about.
2016-03-20 14:34:44 -05:00
Christoph Oelckers
8362c6a856 - conversion of floorz to double. 2016-03-20 19:52:35 +01:00
Randy Heit
1c592c9601 Lemon update 2009-11-03 19:18:32 on branch trunk
- Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. (user: drh)
- Update zcc-parse.lemon: YY_SZ_ACTTAB is now YY_ACTTAB_COUNT
2016-03-20 13:06:43 -05:00
Randy Heit
288f01a0c2 GCC fixes for zcc_compile.(cpp|h) 2016-03-20 11:34:41 -05:00
Christoph Oelckers
b81080ce08 - converted most of g_heretic to float. 2016-03-20 16:51:42 +01:00
Christoph Oelckers
0bdb65c477 - made AActor::radius a double.
This means that all files in g_doom are now fully converted.
2016-03-20 15:04:13 +01:00
Christoph Oelckers
ec58e70078 - replaced ceilingz with a floating point variable, also in FCheckPosition. 2016-03-20 13:32:53 +01:00
Christoph Oelckers
6e2421bd37 - use a set of specific conversion functions to convert from and to ACS script variables so that these cases do not get caught when searching for fixed point math in the source. 2016-03-20 12:37:21 +01:00
Christoph Oelckers
ada5097e34 - converted scale variables in AActor, FMapThing and skin to float. 2016-03-20 12:13:00 +01:00
Christoph Oelckers
5875e91f39 - finished conversion of most of g_doom.
Only things left here are accesses to AActor::ceilingz and radius in A_PainShootSkull, plus scaleX and scaleY in the ScriptedMarine sprite setting code.
Most is still using wrapper functions around the fixed point versions.
2016-03-20 10:52:10 +01:00
Christoph Oelckers
f1d2c7755a - fixed z-offset handling of A_SkelMissile.
I can't believe I missed this for more than 10 years, considering that A_CustomMissile explicitly implements this case:
It makes a crucial difference whether P_SpawnMissileZ is used or the actual z-position is temporarily changed.
Reverted this function to the position changing method of the original.
2016-03-20 02:08:05 +01:00
Christoph Oelckers
a4f5846c7c - replaced all uses of P_ThrustMobj with the already implemented AActor::Thrust method and deleted this function.
- for quakes, making a distinction between circular and elliptic thrust is pointless, so the checks were removed and both paths consolidated. The elliptic code will do exactly the same for circles and there isn't even a performance difference.
2016-03-20 01:25:47 +01:00
Christoph Oelckers
a43dccaa86 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_hexen/a_heresiarch.cpp
#	src/g_shared/a_quake.cpp
2016-03-20 00:56:09 +01:00
Christoph Oelckers
51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers
0ef9ee23b1 - fixed: When the intensity values of DEarthquake were converted to fixed point, its uses in DEarthquake::Tick were not changed along. 2016-03-19 12:01:10 +01:00
Christoph Oelckers
2adf8d524c - fixed: A_SpawnFizzle used the 'speed' property incorrectly.
This is now a fixed point value, even for monsters, so using it as a modulus on a random value cannot possibly work.
2016-03-19 09:36:20 +01:00
Randy Heit
aaae9f2e05 Store known but uncompiled nodes in the symbol table
- Don't bother keeping track of uncompiled nodes in a special table. Use
  the regular symbol table instead. This should in the future make
  compiling nodes referenced deeper than (and before) their definitions
  fairly straightforward.
- Also, break up the compiler's Message() function into Warn() and Error()
  and get rid of zcc_errors.h. I can't really see having a set of error
  numbers being useful.
2016-03-18 19:34:32 -05:00
Christoph Oelckers
51a98d0e5d - cleaned up the mugshot code's angle checks (I hope these are correct because the old code was so confusing...) 2016-03-18 10:08:18 +01:00
Christoph Oelckers
f332a098cd - reworked calls to P_SpawnPlayerMissile, P_AimLineAttack and P_LineAttack to use floating point angles. 2016-03-18 00:43:05 +01:00
Christoph Oelckers
39de225fa7 - restored old FaceMovementDirection. 2016-03-17 00:46:12 +01:00
Christoph Oelckers
aa09cbdada - renamed some functions and fixed a few more conversion errors. 2016-03-17 00:07:37 +01:00
Christoph Oelckers
ec3be2531a Merge branch 'master' into float
# Conflicts:
#	src/g_hexen/a_fighterplayer.cpp
2016-03-16 22:45:55 +01:00
Christoph Oelckers
9b134a78e3 - fixed: The TEXTURES parser wanted a redundant comma after parsing a color. 2016-03-16 22:42:41 +01:00
Christoph Oelckers
9b1442915f - fixed: AdjustPlayerAngle should not use the angle that gets passed in the attack target struct. This is the actual angle of the attack but this function needs to adjust to the actual direction between player and victim. 2016-03-16 22:38:08 +01:00
Christoph Oelckers
b140d71c49 - several fixes. 2016-03-16 22:29:35 +01:00
alexey.lysiuk
b20956e207 Made FMOD Ex stream buffer size customizable
Use snd_streambuffersize to set size of stream buffer in KB, default is 64
See http://forum.zdoom.org/viewtopic.php?t=51230
2016-03-16 22:15:13 +02:00
Christoph Oelckers
29a7fe33f3 - fixed some minor issues found during reviewing the code. 2016-03-16 14:10:13 +01:00
Christoph Oelckers
671291227e - first stage of converting actor angles to float complete
Patched up everything so that it compiles without errors again. This only addresses code related to some compile error. A large portion of the angle code still uses angle_t and converts back and forth.
2016-03-16 12:41:26 +01:00
alexey.lysiuk
91ad7f5f2e Fixed broken Strife conversations
Check for in-combat flag was inverted
See http://forum.zdoom.org/viewtopic.php?t=51224
2016-03-16 12:37:41 +02:00
alexey.lysiuk
1f64d7ee22 Fixed wrong starting frame for wipe animation
Menu graphics appeared in starting frame with hardware renderer only
Software renderer was not affected as it reads pixels from front buffer instead of back buffer like OpenGL counterpart did
See http://forum.drdteam.org/viewtopic.php?t=6857
2016-03-15 11:49:56 +01:00
Christoph Oelckers
c64eee5b15 Merge branch 'master' into float
# Conflicts:
#	src/g_heretic/a_hereticweaps.cpp
#	src/p_map.cpp
#	src/p_mobj.cpp
#	src/p_things.cpp
#	src/portal.cpp
2016-03-15 00:16:13 +01:00
Christoph Oelckers
f4f489b33d Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-14 22:02:58 +01:00
Blue-Shadow
a07f264782 Added a NULL check for activator in Warp(). 2016-03-14 20:52:44 +03:00
Christoph Oelckers
d07bf08e56 - fixed: 3D floor ceiling calculation didn't take into account that an actor's top may just be slightly inside a 3D floor and returned the next highest one instead.
For floors this change is deliberately not done because it might cause problems with the movement code.
2016-03-14 16:38:17 +01:00
alexey.lysiuk
801ac9128a Replaced comparisons with assignments in 3D floor tracing
No more 'equality comparison result unused' warnings
2016-03-14 01:25:57 +01:00
alexey.lysiuk
6c94c49d6f Removed extra Printf() conversion specification
No more 'more % conversions than data arguments' warning
2016-03-14 01:25:56 +01:00
Christoph Oelckers
df63dd288a - fixed: Visual-only portals could initiate a teleport. 2016-03-13 21:55:47 +01:00
Christoph Oelckers
448e66f19b - fixed: P_PointInSectorBuggy must handle the single-subsector special case. 2016-03-13 16:57:02 +01:00
Christoph Oelckers
51ab60178a - added portal overlays to automap. 2016-03-13 12:33:58 +01:00
Braden Obrzut
93be5aca05 - Fixed: Modern versions of GCC on PowerPC inserted padding to the end of pragma packed structures.
- Worked aorund modern GCC bug where C++ exceptions in Objective-C++ code would result in an ICE (bug is already on their tracker, but I doubt it will be fixed unless I decide to dig into the issue myself).
- Turn off fused floating point instructions since these can cause slight deviations in floating point code.
- Use -static-libgcc when compiling on the Mac with GCC since we need to use a custom version of GCC to do so now.
- Note: ZDoom will currently still crash on exit on PowerPC since it seems to be deciding that NameManager needs to be destructed before the console commands.
2016-03-13 01:14:08 -05:00
Christoph Oelckers
0040b272ed - fixed portal counting.
This was creating a large number of unused portal groups.
2016-03-13 02:54:55 +01:00
Christoph Oelckers
8b4f4d06ad Merge branch 'zmaster' 2016-03-13 02:32:41 +01:00
Christoph Oelckers
b73d6e42af - fixed: FMultiBlockLinesIterator must reset the current sector when doing the final up and downwards check from the start position. 2016-03-13 02:31:47 +01:00
Randy Heit
8a03b99b9c Use ScriptMessage to warn about missing patches in a TEXTURES texture 2016-03-12 19:23:49 -06:00
Randy Heit
4a295dfa3d Accept constant definitions in structs.
- We already need to handle them for enums, so there's really nothing to
  be gained by not accepting constant definitions directly.
2016-03-12 19:11:34 -06:00
Christoph Oelckers
8c027aef8b - added NULL pointer check to portal rotation calculation function. 2016-03-12 22:38:46 +01:00
Christoph Oelckers
0a92138edf - fixed: The portal link table was not created when there were no sector portals.
- fixed: P_TryMove could loop endlessly over a list of static portals when there was an error during portal creation.

# Conflicts:
#	src/gl/models/gl_models.cpp
#	src/gl/scene/gl_sprite.cpp
2016-03-12 20:36:38 +01:00
Christoph Oelckers
ae1571158c - fixed: The portal link table was not created when there were no sector portals.
- fixed: P_TryMove could loop endlessly over a list of static portals when there was an error during portal creation.
2016-03-12 17:43:36 +01:00
Christoph Oelckers
f0192a2349 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-12 16:55:59 +01:00
Christoph Oelckers
651817fad7 - made AActor::velx/y/z and player_t::velx/y fixedvec's.
(This commit is 95% search & replace with only a few places where velz was used as a local variable changed.)
2016-03-12 14:11:43 +01:00
Christoph Oelckers
4116719a5a - fixed: P_CheckSplash shifted the fixed_t distance another 16 bits to the left. 2016-03-12 12:34:43 +01:00
alexey.lysiuk
c7c2beee2c Fixed A_Blast parameter type and default values
Default values for strength and speed parameter are fixed type, not integers
Also strength parameter needs to have floating point type
2016-03-12 13:11:46 +02:00
Christoph Oelckers
161d03231a - added custom math routines for reliability. 2016-03-11 15:45:47 +01:00
Christoph Oelckers
7edd5e2dac renamed 'exp' in xlat_parser.y to 'expr' because this gets in the way of searching for calls of the exp(x) function. 2016-03-11 13:43:17 +01:00
Christoph Oelckers
9843f16cc0 - some rework of vectors.h, mostly to remove all those silenced double->float conversions. 2016-03-10 22:36:28 +01:00
Christoph Oelckers
f8ebfb541e - use typedefs for TVector<double> etc.
(Better have this out of the way before messing around with this stuff...)
2016-03-10 20:45:45 +01:00
Randy Heit
2e588c2099 Add missing SEMICOLON to declarator_no_fun 2016-03-10 10:33:19 -06:00
Christoph Oelckers
7de2139e9f Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-10 15:15:59 +01:00
Christoph Oelckers
95d36670cf - that portal check was not correct. 2016-03-10 15:15:37 +01:00
Christoph Oelckers
3d367d585d - did some profiling which revealed that P_PointInSector was called needlessly often. Did some optimization to the MultiBlock iterators to avoid this problem. 2016-03-10 14:22:18 +01:00
alexey.lysiuk
3063312f7f Fixed resurrection distance check
See http://forum.zdoom.org/viewtopic.php?t=51177
2016-03-10 10:25:44 +02:00
Christoph Oelckers
a605913f42 - fixed: When passing through a teleporter or portal that alters the angle, it is not sufficient that P_XYMovement adjusts the position in case a second P_TryMove call is needed, it must also change the precalculated movement vector. 2016-03-09 12:49:49 +01:00
alexey.lysiuk
7134f53638 - fixed: partial transparency wasn't taken into account
Smoothing of edges could mark textures as non-transparent when hqNx upscale filter is used
See http://forum.drdteam.org/viewtopic.php?t=6812
2016-03-09 13:17:42 +02:00
Christoph Oelckers
40ceb0fef6 - fixed: NextHighestCeilingAt and NextLowestFloorAt need to check if a 3D floor is outside the sector's boundaries before reporting it as the best match. 2016-03-09 12:00:07 +01:00
Christoph Oelckers
b3f7a57518 - yet another case of adding a workaround to preserve a side effect in Doom's original movement code that's bound to be inadvertently exploited:
When a spechit results in teleportation, P_TryMove never accounted for that, so that subsequent spechits either failed or succeeded, depending on where the teleport ends up.
With portal-aware positions stored within the spechit this no longer worked, so some handling is needed to revert to the original behavior in case there's no portals to consider.

The ideal solution would have been to stop checking spechits (or to block further teleports) once this happens but the likelihood of some old maps depending on this is high.
2016-03-09 11:44:01 +01:00
Randy Heit
03118d441f Don't use _FPU_GETCW if it won't do what we want
- _FPU_GETCW is defined for more than just x87. Don't use it if the
  control word for the target architecture doesn't support _FPU_EXTENDED
  or _FPU_DOUBLE defined, e.g. pretty much anything but x87. If I had been
  using glibc on PowerPC instead of Apple's libc, I probably would have
  noticed this sooner, since _FPU_GETCW is part of glibc.
2016-03-08 22:00:16 -06:00
Randy Heit
76489e7638 More gracefully handle travelling to a map without matching player starts
- First, don't crash when travelling to a map in a hub that doesn't have
  any player starts that match the position given to Teleport_NewMap (or
  equivalent).
- Seconed, move the player to the location they were at when the left the
  level. At least that way, they shouldn't be in random geometry or off
  the map entirely.
2016-03-08 21:51:12 -06:00
Randy Heit
174e00afe7 Add NULL mthing check to P_SpawnPlayer 2016-03-08 21:42:24 -06:00
Randy Heit
48b6b6e057 Clip portals to viewheight, not screen height
- Aside, but is this even neccessary? The arrays being copied from should
  already be clipped properly.
2016-03-08 19:53:37 -06:00
Christoph Oelckers
03e3410d7f Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 21:29:45 +01:00
Christoph Oelckers
015cbb1061 - revert accidentally committed debug code. 2016-03-08 21:29:13 +01:00
Christoph Oelckers
365c192a1d - added portal support for dynamic lights.
This requires fixed offsets so it only works with linked portals.
2016-03-08 21:22:12 +01:00
Christoph Oelckers
0a1e22aa7a - fixed: FPathTraverse::init kills the intercepts array so PortalRelocate needs to store the line before calling that function. 2016-03-08 18:45:52 +01:00
Christoph Oelckers
42521ffd6f - fixed some mixed up variables in a few blockmap iterators. 2016-03-08 18:34:58 +01:00
Christoph Oelckers
024efc9e61 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 15:40:47 +01:00
alexey.lysiuk
209b495e10 Fixed potential crash in DeHackEd loading
The patch content was destructed and then accessed when loading DeHackEd file of old/unsupported version
Do not print the whole patch content to console but only a filename
2016-03-08 16:28:11 +02:00
Christoph Oelckers
899389e6a4 - link actors into blockmap through linked line portals.
Links through sector portals are not done because nearly all the checks can be performed without doing this so if it works without there's no need to add more processing time.
Will have to see if there's cases left where such a link is needed and if so, whether there's better options to do it.

For line portals such links are necessary to have proper collision detection with actors that are currently transitioning the portal.
2016-03-08 14:41:37 +01:00
Christoph Oelckers
9d877f75e3 - second part of last commit. This file was accidentally unselected. 2016-03-08 14:35:36 +01:00
Christoph Oelckers
c2e7123a36 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 13:12:03 +01:00
Christoph Oelckers
1815b076ee - don't show the IWAD picker upon restart. This doesn't work with fullscreen mode. Instead just pick the first IWAD from the list until a better solution can be implemented.
- handle a 'restart' CCMD a bit more controlled. Instead of throwing an exception in the CCMD handler it now just flags D_DoomLoop to return.

If the exception is thrown within the CCMD this can easily happen deep inside the renderer when it calls NetUpdate. But since the software renderer with its use of global variables is not equipped to be yanked out of lile this it could leave broken data behind that caused glitches or even crashes on subsequently played maps.
2016-03-08 13:07:21 +01:00
Christoph Oelckers
e11a0986ce - encountered a strange crash that after changing a map, InSubsector was not NULL and pointing to invalid data. So let's better NULL this variable explicitly each time a render loop is started. 2016-03-08 12:27:01 +01:00
Christoph Oelckers
4ebdcb7b6d - fixed: The result condition of a hitscan subtrace was never checked. 2016-03-08 11:55:40 +01:00
Christoph Oelckers
f852ead99a - fixed: The initial check for ceiling and floor portals must be done when the trace's start position and its sector has been calculated. SightCheck::init is too early for that. 2016-03-08 10:44:03 +01:00
Christoph Oelckers
f35d966799 - don't allow any ceiling portal that has a lower position than a floor portal in the same sector. The will inevitably lead to problematic situations. 2016-03-08 10:09:02 +01:00
Christoph Oelckers
50d2145ba0 - fixed typo in portal init code. 2016-03-08 09:41:54 +01:00
Christoph Oelckers
2cd74118f6 - fixed sight checking through portals.
Notes:
 * It is actually not enough to disable the early-out condition for the current block if there's a portal. It must be disabled for the entire rest of the trace because otherwise the collected lines never get processed.
 * The block bounds check cannot be done globally with portals in the game. The actual trace can easily end up outside the blockmap bounds if portal offsets are factored into the distance between the two actors.
2016-03-08 01:26:13 +01:00
Christoph Oelckers
bd29f0994f - restored accidentally deleted line. 2016-03-07 23:41:16 +01:00
Christoph Oelckers
cc2885c2de - fixed int/fixed_t mixup with P_RadiusAttack's 'bombdistance' parameter. (Why is this thing even an int...?) 2016-03-07 22:05:19 +01:00
Christoph Oelckers
3c25b2c066 - some redesign of P_CheckSight to handle portals.
Portal stuff not tested yet.
2016-03-07 21:59:32 +01:00
Randy Heit
f82c217047 Fixed: In multiplayer, players could spawn at voodoo doll starts
- This could happen in co-op games that did not have enough player starts
  for all the players spawning. Voodoo doll starts were not excluded from
  the set of possible starts as they should have been.
2016-03-07 10:58:16 -06:00
Randy Heit
e277fbe81d Fixed some incorrectness with some Hexen crushing specials
- The following Hexen specials all stop 8 units above the floor:
  * Ceiling_CrushRaiseAndStay
  * Ceiling_CrushAndRaise
  * Ceiling_LowerAndCrush
  We only and Ceiling_LowerAndCrush correct. Clearly, I should have paid
  more attention when the Hexen source was released for the parts that I
  had already reverse engineered.
2016-03-07 10:24:30 -06:00
Randy Heit
8b9a0da5ef That was hard to read 2016-03-07 09:58:52 -06:00
MajorCooke
af50a79e55 - Fixed: ScaleY was not defaulting to ScaleX when specified as 0, which is how the behavior originally was in 2.8. This behavior can now be toggled with a new boolean, 'usezero'. 2016-03-07 09:02:34 -06:00
Christoph Oelckers
fe4bc31d59 - fixed some bad offset calculations. 2016-03-07 11:36:51 +01:00
Randy Heit
72edd7d455 Fixed: GetVarAddrType() bounds check was inverted 2016-03-06 22:17:30 -06:00
Christoph Oelckers
13a7507c4d - should have saved that... 2016-03-07 01:48:13 +01:00
Christoph Oelckers
8f71906fc3 - added portal support to P_RadiusAttack.
This currently only works for linked portals. For other types some major refactoring may be necessary because it not only requires multiple passes of P_RadiusAttack but also an alteration of how sight checks work.
2016-03-07 01:02:48 +01:00
Christoph Oelckers
7d7112f427 - added portal support to A_ThrustImpale, P_PushUp and P_PushDown. 2016-03-07 00:17:52 +01:00
Christoph Oelckers
5175d56129 - made adjustments to P_LineAttack and P_RailAttack to deal with altered angles by passing through a non-parallel portal.
- fixed: P_FindFloorCeiling set the floorsector for a new ceilingheight.

Note: P_DrawRailTrail still needs to be changed, at the moment rail trails through portals will not work correctly.
2016-03-06 21:58:36 +01:00
Christoph Oelckers
90553bb61c - deal with portals in P_AimCamera.
This will most likely need some more testing and refining but at least it should work through line portals now.
2016-03-06 13:10:42 +01:00
Christoph Oelckers
a0b2915b8f - added a heightsec change when aborting the main trace due to having found a target in a subtrace.
- be a bit smarter about what to copy from a subtrace. There's 3 distinct pieces of information here: The hit itself, the CrossedWater setting for Boom-transfers and the CrossedWater setting for 3D floors.

Note: Ideally this should return all water hits it can detect, not just the first one.
2016-03-06 02:07:04 +01:00
Christoph Oelckers
74592334e4 - fixed return conditions of Trace() so that it always returns something valid. Due to the portal related changes the default initialization for TRACE_HitNone must be inside TraceTraverse. 2016-03-06 01:41:52 +01:00
Christoph Oelckers
ae4cc9669b - added line portal support to Trace(). 2016-03-06 01:04:19 +01:00
Christoph Oelckers
983e8bc6a5 - explicitly check NAME_Null in P_FindTerrain so that it cannot get rendered inoperable by mods which hijack this name. This name must be reserved so that there is some means to disable a sector's terrain. 2016-03-05 22:39:53 +01:00
Christoph Oelckers
97577dc2d7 - added sector portal support to Trace()
Note that at the moment only the function itself has been changed, the calling parts still need to be redone.
2016-03-05 21:44:31 +01:00
Christoph Oelckers
cf7f7b0d54 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-05 20:20:50 +01:00
Christoph Oelckers
87d6e03cc2 - should have saved before committing... 2016-03-05 13:09:49 +01:00
Christoph Oelckers
26a05857d0 - fixed: Camera textures should not intercept and clear the NoInterpolateView flag.
Thanks to some really bad use of a global variable this was causing problems with the inverted order in which GZDoom needs to draw this stuff.
2016-03-05 12:46:47 +01:00
Christoph Oelckers
c455c60480 - fixed: calculating open.range requires signed math.
- fixed: FMultiBlockLinesIterator initialized continueup twice but forgot continuedown.
- fixed: One of the debug messages in P_AimLineAttack was missing an if (aimdebug).
2016-03-05 01:23:27 +01:00
Christoph Oelckers
b9c72e372b - fixed bad loop handling in FWeaponSlots::SetFromGameInfo(). 2016-03-04 16:25:23 +01:00
Christoph Oelckers
d1f17e0b46 - fixed: The checks in P_IsThingSpecial was broken. 2016-03-04 16:23:40 +01:00
Christoph Oelckers
e290bc6fd0 - fixed: In Hexen, ThrustThing can not be triggered from the backside of a line.
This gets only activated when the HEXENHACK flag is set. For ZDoom maps there is a specific line flag to handle this condition explicitly.
2016-03-04 15:24:13 +01:00
Christoph Oelckers
caf2ca0df7 - fixed: CallStateChain must never allow a jumping function to set the chain's overall result to successful. 2016-03-04 15:11:20 +01:00
Christoph Oelckers
ef9f3da31d - do not use the precalculated coordinates for non-linked portals because they are not static. 2016-03-04 14:41:24 +01:00
Christoph Oelckers
e9e30a6431 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-04 14:10:28 +01:00
Christoph Oelckers
dbd89c2702 - refactoring of portal grouping for the renderer, to allow more efficient clipping. 2016-03-04 14:10:13 +01:00
Christoph Oelckers
b427f27e3b - fixed: line portal rotations were not set for all types. 2016-03-04 14:09:26 +01:00
Christoph Oelckers
af1b70376b - added 21:9 handling to GL code. 2016-03-04 11:47:15 +01:00
alexey.lysiuk
9b23b41021 Added detection for broken WAD files
Do not try to allocate nonsensical amount of memory and bail out when broken WAD is detected
See http://forum.drdteam.org/viewtopic.php?t=6844
2016-03-04 11:32:15 +01:00
Christoph Oelckers
7ceb6d86dd - fixed compilation. 2016-03-04 10:39:10 +01:00
Randy Heit
e4a74f4bbe Fix memory leak from ZCC_OpInfo operator prototypes 2016-03-03 20:26:41 -06:00
Randy Heit
964ff46063 Add new state options to parser and actually enable them
- Added new state options that DECORATE got to the lemon parser.
- Enable token generation for state options. They were previously not
  generated, so the grammar treated them as function calls instead.
2016-03-03 18:33:07 -06:00
Randy Heit
078d37e073 Pretty sure this was a typo 2016-03-03 18:33:07 -06:00
Christoph Oelckers
0bcbacea53 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/posix/sdl/hardware.cpp
2016-03-04 01:21:59 +01:00
Christoph Oelckers
0c37a90e32 - moved the initial 3D floor check from Trace to TraceTraverse, because that's where it will be needed for handling portals. 2016-03-04 01:13:17 +01:00
Christoph Oelckers
9f805daa73 - added missing handling of ALF_PORTALRESTRICT flag. 2016-03-04 01:13:16 +01:00
Christoph Oelckers
81b634a798 - preparation for making Trace portal aware: Added a new flag Trace_PortalRestrict, so that I could disable portals without static offset for P_LinePickActor and A_CheckLOF, because both depend on the target info being retainable which requires a static offset. 2016-03-04 01:13:16 +01:00
Randy Heit
3c2ed52442 Fix 21:9 base width and height values 2016-03-03 18:00:06 -06:00
Randy Heit
16d8af6b77 Add some 21:9 resolutions 2016-03-03 17:59:55 -06:00
Randy Heit
79f0714341 Update ratios[] tables for SDL and Cocoa 2016-03-03 17:32:30 -06:00
Michael Labbe
a28c8091fc UI support for 21:9
- Can specify aspect ratio 21:9 in video menu
 - menu_screenratios cvar can now force 21:9
2016-03-03 17:31:12 -06:00
Michael Labbe
a4705c8404 vid_listmodes crash fix 2016-03-03 17:31:12 -06:00
Michael Labbe
3ac4968218 Slightly improve 21:9 ar 2016-03-03 17:31:12 -06:00
Michael Labbe
afb1d438c2 21:9 fix for black bars overlapping fullscreen images 2016-03-03 17:31:12 -06:00
Michael Labbe
73c7e51391 fix: 21:9 AR stretching in intermission, end level screens 2016-03-03 17:31:12 -06:00
Michael Labbe
97821a3036 21:9 aspect ratio support
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Randy Heit
e3d35f4fe8 PClassPointer should use its own type as the metatype in the type table
- I don't remember why I thought using PPointer as the metatype for
  PClassPointer would be preferable, but it means that PPointer's MatchID
  can potentially be called for PClassPointer entries.
2016-03-03 17:31:01 -06:00
Randy Heit
6d68f69674 Use lambdas for more concise code 2016-03-03 13:27:52 -06:00
Christoph Oelckers
2587e82a67 . removed some redundant computation of a trace's hit position. 2016-03-03 16:15:42 +01:00
Christoph Oelckers
b8abafb486 - disabled all the debug messages in P_AimLineAttack but left them in with a CVAR check so that the debug output can be reenabled, should some problem require it in the future. 2016-03-03 13:31:21 +01:00
Christoph Oelckers
ec258c9588 - redid P_ClipLineToPortal with revised visibility rules:
* any line completely parallel to the portal is rejected
 * any line with one end on the same straight line than the portal is solely decided by the other vertex.
 * any line with both ends behind the portal cannot be visible inside, so there's no need to check for an intersection with the view range.
 * due to the above P_IntersectLines could be removed as it was redundant.
 * for any line that does intersect with the portal straight, do a reverse check: If both ends of the portal lie on the other side of the line than the viewpoint, the line is between viewpoint and portal and needs to be rejected.

This fixes nearly all the phantom wall glitches in the demo map.
2016-03-03 13:07:11 +01:00
Christoph Oelckers
14a0567343 - optimized the portal translation functions by precalculating the rotation angle, sine and cosine. 2016-03-03 11:58:04 +01:00
Christoph Oelckers
ede07f93b2 - fixed: Failure to open bots.cfg would throw an exception that prevented the level from starting. Catch it in FCajunMaster::LoadBots instead and handle it non-disruptively. 2016-03-03 11:11:25 +01:00
Christoph Oelckers
74c326e9b2 - fixed: An option value with an invalid value type would eat all key events when being selected. 2016-03-03 10:52:56 +01:00
Christoph Oelckers
4d2b9fbe1b - don't freeze if the menu item search can't find anything selectable. 2016-03-03 10:47:11 +01:00
Christoph Oelckers
d8c009bb41 - fixed: A_Blast read the blast radius as an int, but used it as fixed_t. Also changed the definition of this parameter to float. 2016-03-03 10:23:04 +01:00
MaxED
81a5273b58 Added "Miscellaneous Options" -> "Save/Load confirmation" option (defaults to true). When disabled, confirmation dialog won't be shown when performing quicksave/quickload. 2016-03-03 09:59:26 +01:00
MajorCooke
59ad6206de Added CBF_NOACTORS to A_CheckBlock.
- Self explanatory, doesn't count actors as blocking them.
2016-03-02 20:35:54 -06:00
MajorCooke
7f672039bf Cleanup. 2016-03-03 02:58:44 +01:00
MajorCooke
fb3769a730 Added offsetforward to A_CheckLOF.
- offsetforward is to A_SpawnItemEx's x offset property, just like offsetwidth is to y offset.
2016-03-03 02:58:43 +01:00
Christoph Oelckers
6f28735b45 Merge branch 'zmaster' 2016-03-03 02:53:07 +01:00
Christoph Oelckers
90cad80422 - fixed some issues with FPathTraverse:
* when starting directly on a blockline the trace was offset by one map unit. Do this only for the internal block trace calculations but not for the variable that's being exposed to the outside because in rare situations that can create incorrect values.
 * using startfrac could lead to an actor whose inside was right at that positon to be missed.
 * when using startfrac the adjusted trace start was not used for all calculations, which could cause the trace to fail.

With these issues fixed, P_AimLineAttack can now successfully navigate line portals.
2016-03-03 02:50:48 +01:00
Christoph Oelckers
6b1485a89f - refactored those unwieldy intercept position calculations into a subfunction. 2016-03-03 02:50:47 +01:00
Christoph Oelckers
4b23a1c0c7 - added handling for line portals to P_AimLineAttack. 2016-03-03 02:50:45 +01:00
Christoph Oelckers
63d838c0a7 - fixed: P_CollectConnectedGroups could crash when being called before P_FinalizePortals.
- fixed: Entering a sector portal did not properly set up the starting sector of the cloned trace.
2016-03-03 02:50:44 +01:00
Christoph Oelckers
f5fd0df077 - made P_AimLineAttack work through sector portals.
Note: Test output not removed yet!
2016-03-02 20:44:02 +01:00
Christoph Oelckers
a96d6ab072 Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/g_level.cpp
#	src/p_3dfloors.cpp
#	src/p_lnspec.cpp
#	src/p_saveg.cpp
#	src/p_spec.cpp
#	src/r_bsp.cpp
#	src/r_data/r_interpolate.cpp
#	src/r_data/r_translate.cpp
#	src/r_data/sprites.cpp
#	src/r_defs.h
#	src/r_sky.h
#	src/stats.h
#	src/textures/texturemanager.cpp
#	src/textures/textures.h
#	src/version.h
#	src/win32/fb_d3d9.cpp
#	src/win32/hardware.cpp
#	src/win32/i_system.cpp
#	wadsrc/static/actors/doom/doomarmor.txt
#	wadsrc/static/compatibility.txt
#	wadsrc/static/language.enu
#	wadsrc/static/mapinfo/common.txt
#	wadsrc/static/menudef.txt
#	wadsrc/static/xlat/eternity.txt
2016-03-01 18:50:45 +01:00
Randy Heit
c160121f45 Add float casts to DECORATE for the sake of completeness 2016-03-01 11:36:15 -06:00
Christoph Oelckers
e3c06e3df7 Merge commit '165d26baa1569685651baf4575e12e73c8cbfd2e'
# Conflicts:
#	bzip2/bzip2.vcproj
#	game-music-emu/game-music-emu.vcproj
#	gdtoa/gdtoa.vcproj
#	jpeg-6b/jpeg-6b.vcproj
#	src/p_spec.cpp
#	src/r_defs.h
#	tools/fixrtext/fixrtext.vcproj
#	tools/lemon/lemon.vcproj
#	tools/updaterevision/updaterevision.vcproj
#	tools/zipdir/zipdir.vcproj
#	wadsrc/static/xlat/eternity.txt
#	wadsrc/wadsrc.vcproj
#	zlib/zlib.vcproj
2016-03-01 17:23:35 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
b4a002a07f - preparations for allowing hitscans through portals.
To allow processing the hit through an arbitrary portal without reference to the portal group table, P_AimLineAttack and P_LineAttack need to pass some more info than just the linetarget.
We need the relative positions of shooter and target within the visual reference of the other to calculate proper angles and we need to know if such a portal was crossed at all, because a few things, e.g. seeker missiles won't work with them.

- fixed setup of target acquisition for the Mage Staff.

The pre-acquired seeker target was never passed to the spawned projectiles.
2016-03-01 16:39:31 +01:00
Randy Heit
a16f92c508 Convert "lump" names from directories to lowercase
- Zip and 7z already do this. Directories should too.
2016-03-01 08:49:43 -06:00
Christoph Oelckers
44a6cafd4b - we are using C++11 now, so all those old VC 2005 project files are of no use anymore. 2016-03-01 09:38:49 +01:00
Randy Heit
7c9fd12fc0 Don't generate code to call DECORATE cast functions
- All the cast functions do is return their parameter, so skip the
  function call and use the parameter directly.
2016-02-29 22:26:05 -06:00
Randy Heit
92f74634d6 Remove FxParameter and use a single function instead 2016-02-29 22:08:06 -06:00
Randy Heit
fb8d8dc775 Remove "state" from "Invalid state parameter" error message
- It's confusing to see this from inside an anonymous function. Actually,
  maybe it should be reworded altogether?
2016-02-29 21:44:12 -06:00
Randy Heit
cb1d9597f2 Allow if {} else if {} with DECORATE
This is as opposed to `if {} else { if {} }`, which is what was required
previously to express the same construct.
2016-02-29 21:40:10 -06:00
Randy Heit
f23c0121c5 Use new type system with DECORATE 2016-02-29 21:11:59 -06:00
Christoph Oelckers
15b6c11748 - did some cleanup on FPathTraverse::PortalRelocate. 2016-03-01 02:06:31 +01:00
Christoph Oelckers
5e7ecb3c44 - hm. I thouggr thia has been saved before committing. 2016-03-01 01:53:09 +01:00
Christoph Oelckers
2584108200 - removed the one-sided line portals on polyobjects only limitation. Using Eternity's polyportal testmap shows that it expects one-sided crossable portals on non-polyobject walls.
- converted the P_TranslatePortal* functions to use floating point trigonometry. The combination of R_PointToAngle and finesine even created discrepancies with perfectly parallel portals which is just not acceptable.
- added a function to FPathTraverse to relocate the trace and restart from the new position.
- made P_UseLines portal aware. Traversal through line portals is complete (all types, even teleporters), whether sector portals need better treatment remains to be seen - at the moment it only checks the range at the player's vertical center.
2016-03-01 01:36:36 +01:00
Christoph Oelckers
0c7aea88db - made particles portal-aware. 2016-02-29 16:40:28 +01:00
Christoph Oelckers
07771bd56e - changed parameter of P_GetOffsetPosition to a simple coordinate so that it can be used for other things than actors. 2016-02-29 16:29:51 +01:00
Christoph Oelckers
38c1b8588c - made spawning of teleport fog portal aware. 2016-02-29 16:21:05 +01:00
alexey.lysiuk
2b74ee1eef Fixed assertion failure caused by a missing class to spawn
This fixes debugging troubles with states that have action functions like A_SpawnItem("MissingClass")
2016-02-29 12:54:30 +01:00
Christoph Oelckers
2321c9973f - fixed some serious efficiency problems with clipping masked geometry against portals.
The function to do the work scanned the full list of drawsegs to find portals, which with a large amount of masked geometry and/or drawsegs could become extremely slow.
Changed it so that R_DrawMasked collects all portal related drawsegs up front so that the actual clipping code can
 a) scan a far shorter list and
 b) can skip half of the validation.

Also using P_PointOnLinePrecise to shave off a small bit of additional time.
2016-02-29 12:39:03 +01:00
Christoph Oelckers
0cf9cae7f3 - added some #pragma warnings to i_crash.cpp to silence a warning message in Microsoft's headers. 2016-02-29 10:48:51 +01:00
Christoph Oelckers
6c37ab2310 - changed: If the IWAD contains a MENUDEF lump the one in zdoom.pk3 should not print texture warnings.
The reason is that in such a case it is very likely that the IWAD defines its own menu and will most likely not provide all assets for the base definitions. See 'Adventures of Square' for an example.
2016-02-29 10:45:14 +01:00
Christoph Oelckers
7242a0ef94 - fixed: Rendering 2-sided walls with 3D floor light effects had the 'is3dfloor' flag of GetLightLevel inverted. 2016-02-29 10:26:07 +01:00
Christoph Oelckers
fadc7de636 - added a sight check to A_Blast for cross-portal effects. 2016-02-29 01:36:39 +01:00
alexey.lysiuk
0822485593 Used ISO Latin 1 encoding for text in startup window on OS X
Attempts to output errors with bad characters encountered during text lumps parsing were failed miserably because of UTF-8 conversion
Example: loading of GZ-Models-r16.pk3 with GZDoom caused 'NSConcreteAttributedString initWithString:: nil value' exception
2016-02-28 23:15:23 +01:00
alexey.lysiuk
243f59d96d Made sure that the last text line is always visible in OS X startup window
These case are handled specifically:
* When waiting for clients or host to join
* When showing a fatal error
2016-02-28 23:15:22 +01:00
alexey.lysiuk
067b421f39 Fixed default width of progress bar in OS X startup window
If window was resized before progress bar appears it will have hardcoded and so incorrect width
2016-02-28 23:15:21 +01:00
alexey.lysiuk
64f80456ad Initialized scroll view with the same rectangle as other controls in OS X startup window 2016-02-28 23:15:20 +01:00
alexey.lysiuk
145b7be0a1 Fixed particular slowdown in OS X startup window
During loading of .pk3 that stores hundred of .wad's significant amount of time were spent on scrolling text to the last line
The same applies to other cases like output of thousands warnings/errors
2016-02-28 23:15:19 +01:00
alexey.lysiuk
c687394f72 Added generic way to do periodic updates of OS X startup window
It's used to avoid updating of window (progress bar in particular) too often
Most of time were spent on UI events processing but not on data loading
2016-02-28 23:15:18 +01:00
alexey.lysiuk
0fba6563c7 Disabled fullscreen mode for OS X startup window
There is no use for auxiliary fullscreen window because it behaves really weird
2016-02-28 23:15:17 +01:00
Christoph Oelckers
d4f87203bd - added portal awareness to several functions.
* Arch-Vile resurrection
 * Boom point pushers (due to complete lack of z-handling only for line portals.)
 * A_RadiusGive

These also require a more thorough collection of portal groups than simple position checks.
2016-02-28 23:08:32 +01:00
Christoph Oelckers
8be690fbf2 - fixed type truncation warning. 2016-02-28 21:16:16 +01:00
Christoph Oelckers
27ac207f4c - added oortal handlong to P_RecursiveSound. 2016-02-28 18:03:42 +01:00
Christoph Oelckers
4bb0ca5889 - consolidated some nearly identical code repetitions in Hexen's attack functions. 2016-02-28 16:06:48 +01:00
Christoph Oelckers
c390b98966 - fixed: Not all paths in A_CStaffCheck did proper checks on the player's health. 2016-02-28 15:14:05 +01:00
Christoph Oelckers
94f37bde30 - Forgot changing two comparisons when cleaning up the if statement in FindRefPoint. 2016-02-28 14:03:57 +01:00
Christoph Oelckers
e9fa53c54d - fixed dropoff calculation over portals.
It can easily happen that the lower sector has no lines below the checked area, in which case it would not set the dropoffz correctly. To prevent this, P_LineOpening must, when it checks the opening over a sector portal, actually calculate the dropoff to the lower portal itself by calling sector_t::NextLowestPointAt. It also means that FindRefPoint must calculate a proper reference point when one side of the line to be checked is part of a floor portal.
2016-02-28 13:59:15 +01:00
Christoph Oelckers
b0f1e9b8f3 - fixed typo in portal blockmap code. 2016-02-28 12:16:58 +01:00
Christoph Oelckers
9e3bde0913 - fixed: invisible line within a portal could affect floor height checks in P_CheckPosition. 2016-02-28 12:14:37 +01:00
Christoph Oelckers
ee18fdeb83 - fixed: Visplane merging should not be done for linedef based portals. 2016-02-28 10:10:01 +01:00
Christoph Oelckers
9a0de6c0fa Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-02-28 09:32:28 +01:00
Christoph Oelckers
3272f180cb - added missing damagemod sector property to extradata parser. 2016-02-28 09:32:10 +01:00
Edoardo Prezioso
cd85f6768c - Improve Mac GCC errors fix to work only for GCC.
This fixes Clang complaining about unknown command option '-Wno-unused-but-set-variable' when compiling dumb.
Also I got no new warnings on Clang by excluding '-Wno-unused-result'.
2016-02-27 23:49:02 +01:00