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
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
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
Christoph Oelckers
ab43e0c8cb
- all thinker serializers done.
2016-09-20 00:41:22 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Christoph Oelckers
45ff15559d
- removed gl_draw_synv because with the postprocessing this is no longer useful.
2016-08-30 00:33:02 +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
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
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