Christoph Oelckers
ffc529d100
- let r_*_cull variables default to 0.
2017-07-20 14:23:45 +02:00
Christoph Oelckers
03ed0656e1
- fixed: The frame timer for interpolating the renderer should always take its time from the actual beginning of the frame instead of checking the system timer in real time when rendering starts.
...
This fixes two issues:
* timer related texture animations are not being recreated multiple times if a scene renders multiple viewpoints (e.g. camera textures or portals.)
* interpolation is smoother when maps have a high think time of multiple milliseconds. A good map to see the difference would be ZDCMP2 which has a think time of 4-5 milliseconds. With the timer taken in real time after the thinkers have run and VSync on this resulted in alternating time slices of 11 and 21 ms between frame interpolations instead of an even 16 as should be done for smooth 60 fps because roughly every second frame was offset by those 5 ms.
2017-07-20 14:20:50 +02:00
Rachael Alexanderson
d020ec68d2
Merge branch 'master' into qzdoom-merge
2017-07-20 06:43:03 -04:00
Rachael Alexanderson
bc38f7f776
- changed gl_ssao_portals default to 1
2017-07-20 06:41:34 -04:00
Rachael Alexanderson
77617a2757
Merge branch 'master' into qzdoom-merge
2017-07-19 17:32:41 -04:00
Rachael Alexanderson
5918167fb3
- added 'kill baddies' cheat - does the same thing as 'kill monsters' only it ignores friendly monsters
2017-07-19 15:03:27 -04:00
Rachael Alexanderson
62a4eb6b6d
- fixed a comment in version.h about the current ZScript version (it was out of date)
2017-07-19 11:04:53 -04:00
alexey.lysiuk
bbb8374b06
Fixed applying of color to untranslated fonts in hardware renderer
...
https://forum.zdoom.org/viewtopic.php?t=57268
2017-07-19 15:00:55 +03:00
alexey.lysiuk
f4672d67bc
Fixed crash when drawing untranslated font
...
https://forum.zdoom.org/viewtopic.php?t=57268
2017-07-19 13:24:19 +03:00
Rachael Alexanderson
1f6d15c741
- Rename QZDoom back to GZDoom again for merge.
2017-07-19 06:13:05 -04:00
Rachael Alexanderson
bac72600f0
Merge remote-tracking branch 'origin/master' into qzdoom-merge
2017-07-19 06:11:13 -04:00
Christoph Oelckers
579840987d
- added per-class think time profiling tool.
2017-07-17 10:21:58 +02:00
Rachael Alexanderson
a383dacbe6
Merge https://github.com/coelckers/gzdoom
2017-07-16 01:38:25 -04:00
alexey.lysiuk
490e873602
Moved parallel_for() function template to own header file
2017-07-15 12:16:06 +03:00
Rachael Alexanderson
a3e782a164
Merge https://github.com/coelckers/gzdoom
2017-07-15 03:48:13 -04:00
Rachael Alexanderson
9eb0b64ab0
- Added new "sv_damagefactor*" variables.
...
sv_damagefactorplayer: Scales damage for player
sv_damagefactorfriendly: Scales damage for all other +FRIENDLY objects
sv_damagefactormobj: Scales damage for everything else (incl. monsters and decorations)
2017-07-15 03:38:10 -04:00
Christoph Oelckers
ac30e47ab4
- Added an 'srand' call to the RBG initialization.
...
This is needed because 'rand' gets used by parts of the sound code (e.g. playlists.)
2017-07-15 09:34:07 +02:00
Christoph Oelckers
daca12600d
- fixed: The ADDA_RK opcode used the wrong constant type for the offset it adds to the pointer.
2017-07-15 09:14:39 +02:00
Christoph Oelckers
98124c8049
- avoid using plain chars as variables.
...
This is all I found with a quick search, there's probably more...
2017-07-15 09:01:02 +02:00
Rachael Alexanderson
c1e3f10802
Merge https://github.com/coelckers/gzdoom
2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7
Use multiple threads for xBRZ upscaling
...
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00
alexey.lysiuk
ac811f99c0
Fixed uninitialized variable in XLAT parser
...
https://forum.zdoom.org/viewtopic.php?t=57109
2017-07-13 18:05:58 +03:00
alexey.lysiuk
c6351825b8
Enable Core Profile on macOS only when OpenGL 3.3 is available
2017-07-13 18:05:58 +03:00
Rachael Alexanderson
7728875a7f
- Added 'enabled' property for PP shaders, to automatically enable them without ZScript
2017-07-13 05:57:12 -04:00
Magnus Norddahl
c38d0c1637
Merge branch 'line_distance_cull' into qzdoom
...
# Conflicts:
# src/swrenderer/scene/r_opaque_pass.cpp
2017-07-12 07:11:43 +02:00
Magnus Norddahl
7d1de667be
- Added r_line_distance_cull cvar that culls lines beyond the specified distance
2017-07-12 06:56:34 +02:00
Rachael Alexanderson
25900031f5
Merge https://github.com/coelckers/gzdoom
2017-07-11 06:22:51 -04:00
Rachael Alexanderson
25ab31e92c
- corrected transferred sky offsets using ZDoom 2.8.1 source - the sky needed to be offset by 28 units.
2017-07-11 05:53:21 -04:00
Rachael Alexanderson
28950b8a5d
- q2.1pre version
2017-07-10 13:15:52 -04:00
Rachael Alexanderson
e2744102c5
Merge https://github.com/coelckers/gzdoom
2017-07-10 11:39:46 -04:00
Rachael Alexanderson
d2c8a5c33d
Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 65bb8a5185
, reversing
changes made to 619281de64
.
2017-07-10 11:29:58 -04:00
Rachael Alexanderson
26355ece82
Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 035c036eb2
, reversing
changes made to 61660bf147
.
2017-07-10 11:29:30 -04:00
Rachael Alexanderson
8c0706e56f
Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 56806e3243
, reversing
changes made to e1a2de4989
.
2017-07-10 11:26:41 -04:00
Rachael Alexanderson
04b1163188
Revert "Add a comment"
...
This reverts commit d2f4dd41f8
.
2017-07-10 11:25:38 -04:00
alexey.lysiuk
2e33165edf
Moved freeing of data stored in HUD message objects to OnDestroy() function
...
https://forum.zdoom.org/viewtopic.php?t=57163
2017-07-10 10:41:50 +03:00
Rachael Alexanderson
e1b4bb11ba
Merge https://github.com/coelckers/gzdoom
2017-07-09 20:09:12 -04:00
Magnus Norddahl
ddd1b629c3
- Calculate globvis/r_visibility in r_utility and use it in GL and poly renderers
2017-07-09 19:01:34 +02:00
Magnus Norddahl
c8e713b067
- Remember maximized window state
2017-07-09 15:12:31 +02:00
alexey.lysiuk
afe1199b69
Fixed sound looping when stream length is a multiply of buffer size
...
https://forum.zdoom.org/viewtopic.php?t=57164
2017-07-09 13:28:16 +03:00
Rachael Alexanderson
15d92b346d
Merge https://github.com/coelckers/gzdoom
2017-07-08 09:31:43 -04:00
Magnus Norddahl
00893763ed
Merge branch 'custom_postprocess' into qzdoom
2017-07-08 14:44:30 +02:00
Magnus Norddahl
a38de996e7
- Move uniform declarations to the GLDEFS lump to make it Vulkan safe (a vulkan implementation can then declare them in an uniform block)
...
- Change SetUniform functions to be clearscope as they can be safely called from both play and ui
- Add PlayerInfo argument to SetUniform functions to force the modder to take network play into account
- Add enabled flag on custom postprocess shaders
- Removed custom texture support until a more clean implementation is written
2017-07-08 14:44:07 +02:00
alexey.lysiuk
58b348e75a
Skip autogenerated mouse move events in Cocoa backend regardless of mode
2017-07-08 13:36:55 +03:00
alexey.lysiuk
9292b23bb4
Restore mouse position when entering GUI capture mode in Cocoa backend
2017-07-08 12:46:38 +03:00
Magnus Norddahl
a4b96f7673
- Fix linker error
2017-07-06 18:02:27 +02:00
Magnus Norddahl
69a3d10cb6
Merge branch 'custom_postprocess' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
2017-07-06 05:41:16 +02:00
Magnus Norddahl
8a0e801cb5
- Move custom postprocess shader to its own file
2017-07-06 05:36:01 +02:00
Rachael Alexanderson
1cfaae78d9
- Add new "scene" target for custom postprocess shaders
...
- Add "gl_custompost" cvar to turn off custom postprocess shaders completely
- Made "scene" affect the screen before 2D drawing, made "screen" affect the entire screen after 2D drawing
2017-07-06 04:45:51 +02:00
Rachael Alexanderson
2bfd7859e4
Merge remote-tracking branch 'origin/custom_postprocess'
2017-07-03 17:17:17 -04:00
Magnus Norddahl
e161bba146
- Specify shader uniforms from ZScript
2017-07-03 22:30:49 +02:00
Rachael Alexanderson
5c87cdd786
- Add new "scene" target for custom postprocess shaders
...
- Add "gl_custompost" cvar to turn off custom postprocess shaders completely
- Made "scene" affect the screen before 2D drawing, made "screen" affect the entire screen after 2D drawing
2017-07-02 21:04:22 -04:00
Rachael Alexanderson
edb45cd70d
Merge remote-tracking branch 'origin/custom_postprocess'
2017-07-02 19:56:57 -04:00
Magnus Norddahl
1b5f3da9c5
- Fix lump lookup
2017-07-03 01:50:51 +02:00
Magnus Norddahl
befe081683
- Upload custom texture
2017-07-03 01:29:03 +02:00
Magnus Norddahl
ee6d7cf17e
- Add initial postprocess shader support to GLDEFS file
2017-07-03 01:26:02 +02:00
Rachael Alexanderson
0d8b7c55ef
- added a grayscale formula selector
2017-07-02 16:45:06 -04:00
Rachael Alexanderson
bd02893ce7
- expanded hard limits for saturation to -15.0/15.0
...
- added menu option for saturation
- tried to get the new saturation shader to consume less GPU power by turning it off when it is 1.0
2017-07-02 16:45:06 -04:00
Rachael Alexanderson
63da6e70c0
- added a vid_saturation control - works in postprocessing, only.
2017-07-02 16:45:06 -04:00
Rachael Alexanderson
6a402c28d8
Merge https://github.com/coelckers/gzdoom
2017-07-02 16:36:46 -04:00
Rachael Alexanderson
aa2a39da19
Revert "- Remove r_sprite_distance_cull"
...
This reverts commit 44546ce16a
.
2017-07-02 16:35:40 -04:00
Magnus Norddahl
205350e726
- Fix sprites behind midtextures unrender when near voxel
2017-07-02 20:09:46 +02:00
Magnus Norddahl
6d8281c812
- Fix voxel clipping for r_scene_multithreaded
2017-07-02 18:22:28 +02:00
Magnus Norddahl
4545539045
- Add polyobj support to r_scene_multithreaded
2017-07-02 17:22:59 +02:00
Magnus Norddahl
adcc7588ec
- Make it more clear what bFakeBoundary did
2017-07-02 15:35:29 +02:00
Magnus Norddahl
efb1a8d113
- Don't add 3D floor dummy draw segments to the list
2017-07-02 14:46:19 +02:00
Magnus Norddahl
e19c8eba62
- Switch sprite drawing to use the interesting draw segments list
...
- Stop adding 3D floor "fake" draw segments to the interesting segments list
- Rename InterestingSegments list to TranslucentSegments
2017-07-01 23:55:41 +02:00
Rachael Alexanderson
c3cc3637db
Merge https://github.com/coelckers/gzdoom
2017-07-01 13:12:25 -04:00
Christoph Oelckers
5a761dd3c3
- fixed alpha of palette index 0 for ice and alpha translations.
2017-07-01 16:19:41 +02:00
alexey.lysiuk
71b70d74a9
Fixed error handling in vector by scalar multiplication
...
https://forum.zdoom.org/viewtopic.php?t=57089
2017-07-01 12:37:31 +03:00
alexey.lysiuk
925274ca0c
Added name of upcoming macOS to OS detection
2017-07-01 12:29:25 +03:00
Magnus Norddahl
42fedd0f4c
- Improve sprite performance when there are many draw segments
2017-07-01 03:31:06 +02:00
Magnus Norddahl
44546ce16a
- Remove r_sprite_distance_cull
2017-07-01 03:29:28 +02:00
Rachael Alexanderson
17aceac912
Merge https://github.com/coelckers/gzdoom
2017-06-29 03:50:22 -04:00
Magnus Norddahl
0cd575363f
- Add r_sprite_distance_cull that per default culls all things further than 5000 units away
2017-06-28 19:55:11 +02:00
Christoph Oelckers
c74356a1c0
- made OpenGL 3.3 a requirement for running the modern render path. Also force '-glversion 3' to use the modern render path, even though actual OpenGL 3.0 won't support it.
...
This will exclude Intel HD3000 and many obsolete drivers for NVidia and ATI which should have been updated long ago.
2017-06-28 17:57:04 +02:00
Rachael Alexanderson
c15880a2fc
Merge https://github.com/coelckers/gzdoom
2017-06-27 17:38:26 -04:00
Magnus Norddahl
9c3361dfe2
- Fix stat fps to write something slightly more useful
2017-06-27 21:15:26 +02:00
Christopher Bruns
e9f03102f4
Update fixed color map for each eye, so light goggles would work in both eyes in stereo 3d modes.
2017-06-27 17:55:11 +02:00
Rachael Alexanderson
cf400ba2db
Merge https://github.com/coelckers/gzdoom
2017-06-25 23:44:33 -04:00
Magnus Norddahl
b6e035e796
- Implemented radial fog support in software light mode
2017-06-25 15:02:34 +02:00
Rachael Alexanderson
7592e6d5de
Merge https://github.com/coelckers/gzdoom
2017-06-25 00:18:19 -04:00
Magnus Norddahl
f34ededdef
- Improved fuzz rendering in software renderer by scaling it relative to 320x200
2017-06-25 00:35:15 +02:00
Rachael Alexanderson
9cb9121549
Merge https://github.com/coelckers/gzdoom
2017-06-24 11:31:01 -04:00
alexey.lysiuk
279b1e27dc
Made usage of assertions in VM code consistent
...
https://forum.zdoom.org/viewtopic.php?t=56995
2017-06-22 10:36:08 +03:00
Rachael Alexanderson
9001009fcf
Merge https://github.com/coelckers/gzdoom
2017-06-22 01:42:33 -04:00
Rachael Alexanderson
f49794d6c6
- fixed: Due to recent changes, textures now use 'bgra' format in OpenGL. The palette tonemap shader had not yet been updated to reflect this.
2017-06-21 19:00:51 -04:00
Rachael Alexanderson
bdc99d9768
- fixed: fillsimplepoly drawer was using an inverted scale, leading to incorrect automap texture display.
2017-06-21 04:03:37 -04:00
Rachael Alexanderson
e60d627e88
Merge https://github.com/coelckers/gzdoom
2017-06-21 03:04:06 -04:00
Magnus Norddahl
fa36677bdb
- Removed power-of-two limitation from span drawers, except for slopes
2017-06-21 03:08:11 +02:00
Rachael Alexanderson
ff257fcfd7
Merge https://github.com/coelckers/gzdoom
2017-06-20 09:39:12 -04:00
Christoph Oelckers
f909b82074
- fixed: Blood translations did not properly treat color 0 as transparent.
2017-06-20 09:10:19 +02:00
Rachael Alexanderson
cc9fa8a6f5
- fixed: Prevent /0 errors when calculating console scale, which could happen in certain rare situations.
2017-06-19 23:46:07 -04:00
Rachael Alexanderson
e290274fb7
- fixed: Now fully fixed the 3d floor + fog boundary issue.
...
- Revert "- Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this."
This reverts commit 7e292fbfec
.
2017-06-19 17:19:44 -04:00
Rachael Alexanderson
7e292fbfec
- Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this.
2017-06-19 17:05:53 -04:00
Magnus Norddahl
8af76b96d8
- Fix clearfog crash
2017-06-19 20:36:28 +02:00
Rachael Alexanderson
d454fafc9e
Merge https://github.com/coelckers/gzdoom
2017-06-19 03:22:23 -04:00
Magnus Norddahl
490d7e3a35
- Remove clearfog goto
2017-06-19 00:55:32 +02:00
Magnus Norddahl
8beafbb7da
- Fix voxel speed regression in the palette software renderer
2017-06-18 19:45:15 +02:00
Christoph Oelckers
3b024c347b
- use a dedicated flag word for the dynamic light flags instead of piggybacking on some flags4 bits.
2017-06-18 10:15:31 +02:00
Christoph Oelckers
cf1d94c9bb
- fixed blood translation's alpha so that CreateTexBuffer can assume that all palette entries in translations are correct.
2017-06-18 09:23:56 +02:00
Christoph Oelckers
a1694a79c6
- removed the FGLBitmap class and replaced all uses with the regular FBitmap.
...
The only reason this ever existed is that the GL renderer used RGBA instead of BGRA but there's no reason why this is even necessary.
2017-06-18 09:14:33 +02:00
Rachael Alexanderson
c70dac2d7f
Merge https://github.com/coelckers/gzdoom
2017-06-16 13:27:03 -04:00
alexey.lysiuk
eda55b25ee
Fixed code generation for vector parameters with default values
...
https://forum.zdoom.org/viewtopic.php?t=56915
2017-06-16 11:58:24 +03:00
alexey.lysiuk
c22017f981
Made two Hexen maps compatibility options data driven
2017-06-14 16:10:01 +03:00
alexey.lysiuk
5874d01a73
All compatibility options are now applied for IWAD maps
...
https://forum.zdoom.org/viewtopic.php?t=56867
2017-06-14 15:24:11 +03:00
Rachael Alexanderson
96df3aed01
Merge https://github.com/coelckers/gzdoom
2017-06-12 00:56:25 -04:00
Rachael Alexanderson
2ff492d005
- fix compile on Windows
2017-06-12 00:38:50 -04:00
Rachael Alexanderson
a148212215
Merge commit 'f1ad42c'
2017-06-12 00:22:59 -04:00
Christoph Oelckers
842e8b68b4
- blacklist old FMod related sound CVARs because they tend to be in the UnknownCVARs section but aren't useful any longer.
2017-06-12 00:00:55 +02:00
Christoph Oelckers
f1ad42c4e5
- instead of discarding protected menu replacements, try to merge them with the original version.
...
Testing with Adventures of Square this mostly works, but it is clear that a list of old and deleted CVARs still needs to be added so that any items referring to those can be eliminated as well. Some stuff is still slipping through that refers to features which no longer exist.
2017-06-11 22:30:40 +02:00
Christoph Oelckers
ee3d73478a
- added blanket protection to all submenus of OptionsMenu, except the player menu.
...
Sadly, some mods are truly careless enough to modify the engine internal menus to add their own things, which should have no business whatsoever in there.
As an example, in a D4D version released in May, the Display Options menu is showing quite a bit of outdated content and missing important settings.
2017-06-11 09:57:10 +02:00
Christoph Oelckers
8482653bbc
Menu protection features
...
- added a '-nocustommenu' command line options. This is for disabling user menus that intentionally or accidentally disable crucial menu features.
- do not allow replacement of the main options menu. This menu contains engine-critical settings and may change at any time when new features get added. For now it will be the only one that gets protected but this may soon be extended to some of its submenus as well.
2017-06-11 08:52:04 +02:00
Magnus Norddahl
3b8570003a
- Improved softpoly sprite clipping
2017-06-10 11:16:58 +02:00
Magnus Norddahl
a0cc78d6aa
- Fix softpoly wall clipping bug
2017-06-10 10:16:42 +02:00
Rachael Alexanderson
a48203ef1d
Merge https://github.com/coelckers/gzdoom
2017-06-10 01:00:38 -04:00
alexey.lysiuk
7a29128f6b
Fixed menu class replacement
...
https://forum.zdoom.org/viewtopic.php?t=56824
2017-06-09 14:08:26 +03:00
Rachael Alexanderson
63d9148604
Merge https://github.com/coelckers/gzdoom
2017-06-09 05:57:10 -04:00
Christoph Oelckers
8c053c0141
- let P_CheckMissileSpawn also clear MF2_PCROSS before checking the move.
2017-06-08 09:00:26 +02:00
Major Cooke
15df231a95
- Fixed: Vel3DFromAngle's internal function call had the pitch and angle parameters backwards:
2017-06-08 08:54:30 +02:00
Rachael Alexanderson
717e9dd0d8
Merge https://github.com/coelckers/gzdoom
2017-06-07 16:46:21 -04:00
Christoph Oelckers
8b19ae98ea
- consolidated the two averageColor instances.
2017-06-07 22:42:59 +02:00
Christoph Oelckers
55df3a91ec
- fixed: P_CheckMissileSpawn's setup for P_TryMove must be done in a way that allows detecting portal transitions.
...
By setting the position before the call any portal lying between the actual spawn point and the check position would be skipped.
2017-06-07 22:42:59 +02:00
Rachael Alexanderson
78061f1cf7
- fixed: D3DFB::DoClear did not call Super::DoClear when vid_hw2d was false.
2017-06-07 03:55:02 -04:00
Christoph Oelckers
446d1eb9c8
- we no longer support Windows 9x or NT 4 so its special code may just be removed entirely.
2017-06-07 09:26:06 +02:00
Rachael Alexanderson
921ce9247e
Merge https://github.com/coelckers/gzdoom
2017-06-05 10:40:15 -04:00
Major Cooke
b86aed5b01
Added polysoft render support for PSPF_MIRROR.
2017-06-05 10:39:18 -04:00
svdijk
c698f10257
Fix setting of the gl_legacy_mode cvar.
2017-06-05 14:45:24 +02:00
Christoph Oelckers
3b818171d5
- do not let P_AdjustFloorCeil use the return from P_CheckPosition if floorz is greater than ceilingz.
...
This can only happen if some thing gets placed somewhere it doesn't physically fit in and as a result of the floor move would be pushed into an even more invalid place.
See https://forum.zdoom.org/viewtopic.php?f=2&t=56764
2017-06-05 12:20:59 +02:00
alexey.lysiuk
c7b895c8ff
Fixed applying of clip rect to screen dimming
...
https://forum.zdoom.org/viewtopic.php?t=56719
2017-06-05 09:48:09 +03:00
Christoph Oelckers
1ed415014e
- fixed: 'self' may never be null for native VM functions so it must always abort if null gets passed.
2017-06-05 08:43:12 +02:00
Major Cooke
17fc58f712
Added PSPF_MIRROR to software renderer.
2017-06-04 21:41:21 -04:00
Rachael Alexanderson
5d40b2c36c
Merge https://github.com/coelckers/gzdoom
2017-06-04 21:04:33 -04:00
Rachael Alexanderson
757957bfac
- prevent SetShaded action function from messing up the RGB-to-PAL conversion with a possible overflow
...
- add RGB-to-PAL support for UDMF fillcolor property
2017-06-04 14:46:03 -04:00
Christoph Oelckers
91680a1e8d
- fixed incorrect number of returns in SetRandomSeed.
2017-06-04 18:56:03 +02:00
Rachael Alexanderson
5185ebbc28
- fixed: Add light diminishing to true-color stencil drawers
...
- fixed: Non-SSE AddClampShadedBgra (stencil) drawer did not handle overflows
2017-06-04 12:46:39 -04:00
Rachael Alexanderson
62374cf3bc
- fixed: add light diminishing support to rgb666 palette stencil drawers
2017-06-04 12:26:04 -04:00
Christoph Oelckers
211783c110
- added the UDMF sector scroll fields from Eternity.
...
These are currently untested and need review, especially regarding the scroll factor that gets applied to the numbers.
2017-06-04 18:03:43 +02:00
Rachael Alexanderson
564e24be28
- Added truecolor support to truecolor stencil drawers
2017-06-04 12:00:15 -04:00
Rachael Alexanderson
291b36f7b5
- Fix startup errors
2017-06-04 08:01:02 -04:00
Rachael Alexanderson
c340a6f794
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/scene/gl_sprite.cpp
# src/polyrenderer/scene/poly_sprite.cpp
# src/r_data/r_vanillatrans.cpp
# src/r_data/r_vanillatrans.h
# src/swrenderer/things/r_sprite.cpp
2017-06-04 07:24:35 -04:00
Christoph Oelckers
1cb3514b05
- use 0 as the default for r_vanillatrans.
...
As nice as the automatic is, this will trigger far too many cases where it will disable translucency for mods that only change some texts. Dehacked is very often only used for non-actor related modifications.
If the automatic is supposed to be the default it needs to do a lot more thorough checks to avoid bug reports due to misunderstanding the feature.
2017-06-04 12:39:39 +02:00
Rachael Alexanderson
c18134dbd3
- r_vanillatrans: Cache the cache! Transform the function into a global variable and recheck at the start of D_Display
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
4686ba78a0
- Add licenses to r_vanillatrans files
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
68b6f922f7
- Added auto-detection scheme for r_vanillatrans
...
It now works the following way:
(0) - Force off (ZDoom defaults)
(1) - Force on (Doom defaults)
(2) - Auto off (Prefer ZDoom defaults - if DEHACKED is detected with no ZSCRIPT it will turn on) (default)
(3) - Auto on (Prefer Doom defaults - if DECORATE is detected with no ZSCRIPT it will turn off)
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
2997f31f9f
- removed ZDOOMADD and updated actors in question with ZDOOMTRANS
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
89b372cb01
- Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
...
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
01f88cfb16
- Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
64b22f6cb3
Merge https://github.com/coelckers/gzdoom
2017-06-03 22:34:13 -04:00
Rachael Alexanderson
c3808bbc2d
- Add licenses to r_vanillatrans files
2017-06-03 20:17:44 -04:00
Rachael Alexanderson
deb62ee156
Merge commit 'refs/pull/340/head' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/scene/gl_sprite.cpp
# src/polyrenderer/scene/poly_sprite.cpp
# src/swrenderer/things/r_sprite.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-06-03 20:06:28 -04:00
Rachael Alexanderson
9af370f51e
- Added auto-detection scheme for r_vanillatrans
...
It now works the following way:
(0) - Force off (ZDoom defaults)
(1) - Force on (Doom defaults)
(2) - Auto off (Prefer ZDoom defaults - if DEHACKED is detected with no ZSCRIPT it will turn on) (default)
(3) - Auto on (Prefer Doom defaults - if DECORATE is detected with no ZSCRIPT it will turn off)
2017-06-03 20:00:53 -04:00
Magnus Norddahl
7acb492852
- Add gl_shadowmap_quality cvar that controls the resolution of the 1D shadow map texture
2017-06-04 00:44:49 +02:00
Magnus Norddahl
265df4b797
- Change shadowmap resolution from 1024 to 128
2017-06-03 21:19:34 +02:00
Christoph Oelckers
1df7dc81e6
- fixed: The statusbar's MustDrawLog method was called with an incorrect number of parameters.
2017-06-03 19:44:22 +02:00
Magnus Norddahl
797cb94b4f
- Add stat shadowmap to get performance for the upload part of the shadow maps
2017-06-03 19:24:54 +02:00
Magnus Norddahl
7edb75d299
- The mandatory include compile error fix for unix
2017-06-03 18:28:12 +02:00
Magnus Norddahl
d38dae5de8
- Add gpu stat that displays how much time the GPU spent on named GL groups
2017-06-03 18:14:24 +02:00
jplebreton
2c7a0c87c8
add FloatBobStrength Actor property, a multiplier on Z offset created by FloatBob behavior. default of 1.0 is current behavior, set higher/lower for more/less extreme bobbing.
2017-06-03 18:02:27 +02:00
Magnus Norddahl
f593e2aa3c
- Fix stat output to use the console scale
2017-06-03 16:58:09 +02:00
Rachael Alexanderson
6605bd70df
Merge https://github.com/coelckers/gzdoom
2017-06-02 14:23:30 -04:00
Rachael Alexanderson
b240ad0814
- removed ZDOOMADD and updated actors in question with ZDOOMTRANS
2017-06-02 12:24:03 -04:00
Rachael Alexanderson
00bfee8b1e
- Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
...
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-02 12:24:03 -04:00
Rachael Alexanderson
daad76547d
- Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle
2017-06-02 12:24:03 -04:00
Kirill Gavrilov
2a8ebc6c27
Fixed broken Interleaved 3D output when GL Sampler objects are used
2017-06-02 09:10:38 +02:00
Rachael Alexanderson
723319cc6b
Merge https://github.com/coelckers/gzdoom
2017-06-02 01:10:47 -04:00
Rachael Alexanderson
bf12d38afd
- removed ZDOOMADD and updated actors in question with ZDOOMTRANS
2017-06-02 01:10:46 -04:00
Rachael Alexanderson
aa93990d3b
- Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
...
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-02 01:10:46 -04:00
Rachael Alexanderson
813b321c45
- Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle
2017-06-02 01:10:45 -04:00
Rachael Alexanderson
5502421901
- fixed: Using pure software drawers (vid_hw2d==false) drawing stencils on the screen resulted in black stencils
...
- this fixes crosshairs being drawn black
2017-06-01 16:21:15 -04:00
Christopher Bruns
d2f4dd41f8
Add a comment
2017-06-01 01:02:46 -04:00
Rachael Alexanderson
b78cb6c693
Merge https://github.com/coelckers/gzdoom
2017-06-01 01:02:17 -04:00
Magnus Norddahl
c30010370e
- Fix voxels not being rendered when the replaced sprite texture doesn't exist
2017-06-01 00:26:25 +02:00
Rachael Alexanderson
b8074a4e53
- Sync VER_MAJOR and VER_MINOR in version.h with GZDoom parent.
2017-05-31 09:15:13 -04:00
Rachael Alexanderson
e72ae3f266
Merge ../gzdoom
...
# Conflicts:
# src/version.h
# wadsrc/static/compatibility.txt
2017-05-31 09:08:13 -04:00
Christoph Oelckers
1bd3098dec
- Now we are at 3.2pre.
2017-05-31 12:52:38 +02:00
Christoph Oelckers
d8d4723ae1
- removed PCD_GetActorZ double check.
2017-05-31 11:52:51 +02:00
Christoph Oelckers
1465102ba0
- added SetRandomSeed function for ZScript. This uses the same RNG syntax as the other random functions.
2017-05-31 11:33:57 +02:00
Christoph Oelckers
afa2888acb
- fixed size clamping of sector lights to use 1024 as maximum, not 255 as inherited from ZDoomGL.
2017-05-31 10:41:43 +02:00
Christoph Oelckers
977d5988c5
- fixed weapon sprite light calculation for low light levels.
2017-05-31 09:27:50 +02:00
Rachael Alexanderson
56806e3243
Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom
2017-05-30 14:59:24 -04:00
Christopher Bruns
857c183e5f
Default to statically linking OpenVR API directly from the public API source files.
2017-05-30 13:59:14 -04:00
Rachael Alexanderson
e1a2de4989
Merge https://github.com/coelckers/gzdoom
2017-05-30 12:43:14 -04:00
Christoph Oelckers
b50123ec6b
- avoid function call in VM code.
...
- return after calling ThrowAbortException because this avoids storing some register variables on the stack.
2017-05-30 17:50:56 +02:00
alexey.lysiuk
62bac1d612
Added check for nullptr to CLSS and META instructions of scripting VM
...
https://forum.zdoom.org/viewtopic.php?t=56667
2017-05-30 18:09:51 +03:00
alexey.lysiuk
0c90253a5d
Fixed potentially broken portal rendering after OpenGL context change
...
https://forum.zdoom.org/viewtopic.php?t=56393
2017-05-30 13:01:51 +03:00
Rachael Alexanderson
04e6551bbd
Merge https://github.com/coelckers/gzdoom
2017-05-29 12:59:14 -04:00
alexey.lysiuk
3b61be3145
Removed dependency on dxguid library
...
It's impossible to use VS2017 with XP compatible toolset otherwise
2017-05-29 14:46:56 +03:00
alexey.lysiuk
0f936f39d8
Rewrote directory creation function for Windows
...
Previous implementation had several security issues
https://forum.zdoom.org/viewtopic.php?t=56622
2017-05-29 12:20:30 +03:00
Rachael Alexanderson
4fd010e5e0
Merge https://github.com/coelckers/gzdoom
2017-05-29 04:54:01 -04:00
Rachael Alexanderson
2f7d512acf
Merge commit 'refs/pull/335/head' of https://github.com/coelckers/gzdoom
2017-05-29 04:53:39 -04:00
Rachael Alexanderson
b7295775b9
- Print out warnings when Direct3D initialization fails.
2017-05-29 01:01:08 -04:00
Rachael Alexanderson
5384f26b69
Merge https://github.com/coelckers/gzdoom
2017-05-28 20:16:08 -04:00
Magnus Norddahl
1505f75669
- Fix testcolor and testfade in the software renderer
2017-05-28 23:57:09 +02:00
Rachael Alexanderson
035c036eb2
Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom
2017-05-28 10:50:24 -04:00
Rachael Alexanderson
61660bf147
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-05-28 10:50:06 -04:00
Christopher Bruns
9db4dfd963
Link to platform specific openvr library, and install it, and update license headers.
2017-05-28 10:28:07 -04:00
alexey.lysiuk
e56cda1350
Fixed crash on change particular sound options
...
Happened only when there is a current song but it’s not played, for example in title screen
https://forum.zdoom.org/viewtopic.php?t=56631
2017-05-28 17:18:35 +03:00
Rachael Alexanderson
65bb8a5185
Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom
2017-05-28 07:13:27 -04:00
Rachael Alexanderson
619281de64
Revert "Merge commit 'refs/pull/336/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit a05c38fefd
, reversing
changes made to 0fb1a0604c
.
2017-05-28 07:12:41 -04:00
Christopher Bruns
a49afd5bfc
Initial OpenVR mode.
...
Second attempt: clean up commit, and avoid messing with HDR framebuffer format.
2017-05-28 06:20:32 -04:00
Rachael Alexanderson
a05c38fefd
Merge commit 'refs/pull/336/head' of https://github.com/coelckers/gzdoom
2017-05-28 01:33:59 -04:00
Rachael Alexanderson
0fb1a0604c
Merge https://github.com/coelckers/gzdoom
2017-05-27 21:52:43 -04:00
Christopher Bruns
a149b54226
Maybe avoid gcc compile problem with forward declared enum.
2017-05-27 20:16:00 -04:00
Christopher Bruns
c1bacdbf92
Create initial rotation-tracking-only implementation of OpenVR mode for VR headsets.
2017-05-27 19:42:49 -04:00
Rachael Alexanderson
4545bb2fa1
- rename vid_used3d on windows to vid_glswfb to match Linux. Additionally, the values were reversed to match the Linux variant of this configuration. This CVar now operates exactly the same way it does on Linux, except it defaults to being off and still allows the D3D framebuffer on Windows when it's deactivated.
2017-05-27 04:52:43 -04:00
Rachael Alexanderson
872db304f0
Merge https://github.com/coelckers/gzdoom
2017-05-27 04:31:53 -04:00
Magnus Norddahl
b111a708da
- Fix compile error and some warnings
2017-05-27 06:27:36 +02:00
Magnus Norddahl
3f991429d1
- Reduce the number of naked new/delete calls in OpenGLSWFrameBuffer
2017-05-27 02:31:15 +02:00
Major Cooke
35583621cf
PSPF_MIRROR now corrects the bobx direction.
2017-05-26 18:28:09 -05:00
Rachael Alexanderson
40bbb70799
Merge https://github.com/coelckers/gzdoom
2017-05-26 18:17:35 -04:00
Major Cooke
636e36b90d
Clean-up.
2017-05-26 11:34:26 -05:00
alexey.lysiuk
67d313cf25
Fixed megasphere item selection in bot code
...
https://forum.zdoom.org/viewtopic.php?t=56604
2017-05-26 11:54:42 +03:00
Major Cooke
a25a536c9f
Removed the auto PSPF_FLIP implimentation.
2017-05-25 20:40:54 -05:00
Major Cooke
a111c59286
Added PSPF_MIRROR.
...
- Flips the sprite's drawing and position over entirely. Automatically implies PSPF_FLIP.
2017-05-25 19:46:36 -05:00
Rachael Alexanderson
5c30a99aa9
Merge https://github.com/coelckers/gzdoom
2017-05-25 10:39:14 -04:00
alexey.lysiuk
d633e8afc1
Fixed sector iteration with Floor_Stop and Ceiling_Stop action specials
...
https://forum.zdoom.org/viewtopic.php?t=56582
2017-05-25 10:41:06 +03:00
Rachael Alexanderson
538bfabef8
Merge https://github.com/coelckers/gzdoom
2017-05-23 06:17:46 -04:00
Christoph Oelckers
9d73e4c635
- fixed errors in wallsprite setup for the classic software renderer:
...
* it did not use the correct texture.
* it had a math error in the right edge's y-coordinate calculation.
2017-05-23 09:37:38 +02:00
Dugan Chen
bc0f9023f6
Add mem_fn header to oalsound.cpp
2017-05-22 21:54:58 +02:00
Rachael Alexanderson
7600fdb200
Merge https://github.com/coelckers/gzdoom
2017-05-22 13:10:19 -04:00
svdijk
bdfc42182f
OPLsynth: Default to center panning.
2017-05-22 09:15:02 +02:00
Christoph Oelckers
7bc5573baa
- call P_FindParticleSubsectors before rendering a save picture in OpenGL.
...
This entry point was the only one missing that call.
2017-05-21 12:45:49 +02:00
Christoph Oelckers
fc0855fac7
- fixed size of particles in the hardware renderer.
...
From the look of it the scale was changed in the software renderer several years back but the hardware renderer never got adjusted for it.
This also adds a bit of compensation to round particles so that they get rendered a bit larger than square ones.
2017-05-21 12:36:34 +02:00
Christoph Oelckers
be2cfddb17
- handle the case where SBARINFO only contains a mugshot definition and fall back to the current statusbarclass if creating an SBARINFO-based statusbar fails.
2017-05-21 12:06:22 +02:00
Magnus Norddahl
e27e89b57d
- Make sure a hung worker thread always crashes the application
2017-05-21 12:03:12 +02:00
Rachael Alexanderson
3955b7a4f8
Merge https://github.com/coelckers/gzdoom
2017-05-21 05:52:27 -04:00
Magnus Norddahl
aff9205057
- Fix mipmap filtering bug when using nearest filter
2017-05-21 11:01:37 +02:00
svdijk
371a8755c2
vid_glswfb: Prevent defunct windows.
2017-05-20 23:21:51 +02:00
Rachael Alexanderson
fd0602a163
Merge https://github.com/coelckers/gzdoom
2017-05-19 23:40:51 -04:00
Christoph Oelckers
fc8639226d
- yet again Visual Studio's autocompletion feature deleted some tildes.
2017-05-19 21:36:32 +02:00
Christoph Oelckers
a4231ffd00
- more handling of some very broken old ATI drivers.
2017-05-19 21:33:48 +02:00
Christoph Oelckers
e1cd0dc588
- major optimization on carry scroller code.
...
The old version was checking every single actor in every single sector for being affected by a carry scroller if there was so much as a single such scroller in the map.
Changed it so that the scroll thinker flags all actors in the affected sectors so that these expensive calculations can be skipped for everything else.
This change and reduce think time by 1/3 on maps like ZDCMP2 (on the test machine it went down from 6 ms to 4 ms on this map.)
2017-05-19 16:31:44 +02:00
Christoph Oelckers
9fc309d5b5
- stop the music when processing a fatal error.
2017-05-19 12:20:33 +02:00
Christoph Oelckers
c1e64fa576
- fixed: The rail trail should use r_trail_sparsity, not r_spiral_sparsity.
...
- fixed: Spawning actors on the rail trail must ignore the sparsity CVARs completely.
2017-05-19 12:03:20 +02:00
Christoph Oelckers
c8e631bf26
- fixed: The colormap was not fully initialized for 3D floors in sectors where neither the original floor nor ceiling were visible.
2017-05-19 11:42:44 +02:00
Christoph Oelckers
97b664968e
- removed a few unused VM opcodes.
2017-05-19 10:27:22 +02:00
Rachael Alexanderson
1472627f6a
Merge https://github.com/coelckers/gzdoom
2017-05-17 22:15:48 -04:00
Major Cooke
bb1e927c46
Give the parameter a better name to associate by.
2017-05-17 23:03:22 +02:00
Major Cooke
65f13b0927
- Added a Z offsetting parameter to the ZScript LineAttack function.
...
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
Rachael Alexanderson
0f54d7f854
Merge https://github.com/coelckers/gzdoom
2017-05-17 08:53:34 -04:00
alexey.lysiuk
a92f889e44
Fixed recently introduced compilation warnings
...
src\v_video.cpp(1771): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
src\v_video.cpp(1773): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
2017-05-16 16:39:07 +03:00
Rachael Alexanderson
a93efb1e9e
- slightly increase source code readability by moving a flag from one line to another.
2017-05-16 09:52:50 +02:00
Rachael Alexanderson
8192ad73bd
- changed fall damage so it is max 'TELEFRAG_DAMAGE - 1' instead of a flat 999 (it used to check for >=1000).
2017-05-16 09:52:50 +02:00
Rachael Alexanderson
c6946cc672
- removed all instances of CF_POWERBUDDHA
2017-05-16 09:52:50 +02:00
Rachael Alexanderson
fe023b5ca4
- changed Buddha powerup from a flag to an inventory check
2017-05-16 09:52:50 +02:00
Major Cooke
b1a8ef54f6
- Fixed bitwise comparison.
2017-05-16 09:52:50 +02:00
Major Cooke
6bbbd28a08
- Added missing LAXTELEFRAGDMG support to SelfDamageFactor.
2017-05-15 19:19:35 +02:00
Rachael Alexanderson
a96ef5276d
- Added new flags8 actor field. Isn't it frightening how quickly how we got to our 8th flag field?
...
- Speaking of frightening, added +FRIGHTENING flag.
2017-05-15 19:17:46 +02:00
Rachael Alexanderson
7ded20ca05
Merge https://github.com/coelckers/gzdoom
2017-05-15 03:27:58 -04:00
Dmitri Kourennyi
3b20c26275
Fix A_CheckProximity setting pointer to dead things when it shouldn't.
...
When using A_CheckProximity with CPXF_SETTARGET, the target pointer could
be set to a dead monster even without the CPXF_COUNTDEAD and CPXF_DEADONLY
flags. This is becuase the check for death would occur after setting the
pointer.
Fix simply moves death check to occur before setting pointers.
2017-05-14 20:01:18 +02:00
Major Cooke
795f8f0578
- Added a separate cheat flag to handle buddha powerups. Currently, Buddha powerups could interfere and disable the actual player cheat unintentionally, when the player may not want their actual cheat to be turned off.
...
- Set some overlooked 1000000 damage points to TELEFRAG_DAMAGE inside the falling damage code.
2017-05-14 17:22:46 +02:00
Christoph Oelckers
6a34092742
- fixed automap positioning with linked portals and a camera actor that is transitioning a sector portal.
2017-05-14 13:12:39 +02:00
Christoph Oelckers
437dd68d79
- the Render state must be applied before performing a portal clear screen, because it would still be set to stencil drawing at this point.
2017-05-14 12:42:25 +02:00
Rachael Alexanderson
a7025b5563
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2017-05-14 06:41:56 -04:00
Christoph Oelckers
8a91153aeb
- Why does the Visual Studio editor hate tildes so much...?
2017-05-14 12:36:13 +02:00
Christoph Oelckers
ef7e4fe678
- draw empty portals in black, not the last set color.
2017-05-14 12:31:51 +02:00
Christoph Oelckers
0f80b7dcb6
- fixed: P_CollectConnectedGroups should abort if it tries to collect the same portal group more than once, because this would indicate an infinite loop.
2017-05-14 12:24:52 +02:00
Christoph Oelckers
1767dd6a42
- fixed: A_CheckBlock performed item pickup checks which could be done in completely inappropriate spots if this function was used from weapon overlays, for example.
2017-05-14 11:55:32 +02:00
svdijk
6dd570c538
Menu: Fix cycling the "midi devices" menu option.
2017-05-14 12:12:12 +03:00
svdijk
b6ef9fae3e
SDLGLFB: Implement mouse coordinate scaling for the menus.
2017-05-14 12:12:12 +03:00
Magnus Norddahl
788b9f6d54
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-05-14 08:55:39 +02:00
Magnus Norddahl
31125486ad
- Improve line portal rendering somewhat
2017-05-14 08:55:30 +02:00
Christoph Oelckers
b346dd0c09
- added a check for unconnected linked line portals.
2017-05-13 17:45:59 +02:00
alexey.lysiuk
f0d40d6a8a
Added check for patch set existence before loading in FluidSynth
...
This helps to avoid flooding of output with the following messages on every MIDI song change:
fluidsynth: error: Unable to open file "/usr/share/sounds/sf2/FluidR3_GS.sf2"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/share/sounds/sf2/FluidR3_GS.sf2"
fluidsynth: error: Unable to open file "/usr/share/sounds/sf2/FluidR3_GM.sf2"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/share/sounds/sf2/FluidR3_GM.sf2"
2017-05-13 17:56:26 +03:00
alexey.lysiuk
27384fc70d
Do not create symlink to executable on macOS too
...
This link in build directory pointed to non-existing file since we started to create application bundle with CMake
2017-05-13 17:01:24 +03:00
Magnus Norddahl
4554d90b1d
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-05-13 15:49:09 +02:00
Magnus Norddahl
0a4f4aaffd
- Stop using sqrt when calculating texture coordinates
2017-05-13 15:48:55 +02:00
alexey.lysiuk
3ab4a2238e
Removed some remains of sound system MIDI device
2017-05-13 16:45:02 +03:00
alexey.lysiuk
a8e379553e
Copy default soundfont in post build step
2017-05-13 15:49:23 +03:00
alexey.lysiuk
a01c6b1d65
Fixed build of non-Windows targets
...
src/sound/mididevices/music_fluidsynth_mididevice.cpp:355:13: error: use of undeclared identifier 'BaseFileSearch'
2017-05-13 14:29:29 +03:00
Christoph Oelckers
ba37f093e0
- use FluidSynth as default MIDI device and allow loading a 'gzdoom.sf2' sound font if none is specified. The search rules for this file will be the same as for gzdoom.pk3.
2017-05-13 12:33:14 +02:00
Rachael Alexanderson
d1c6d8543b
Merge https://github.com/coelckers/gzdoom
2017-05-13 04:17:54 -04:00
Chris Robinson
e1fc33c38f
Don't downmix sounds when AL_SOFT_source_spatialize is available
2017-05-12 21:38:45 +02:00
Magnus Norddahl
7af11b1963
- Offset sky in softpoly by 180 degrees
2017-05-12 17:59:22 +02:00
Magnus Norddahl
7a2be275af
- Fix interpolator bug in softpoly
2017-05-12 17:47:11 +02:00
Magnus Norddahl
5c6cbd17a1
- Move polyobj rendering to be handled as a special case in RenderPolyScene
2017-05-12 17:26:17 +02:00
Magnus Norddahl
f7d1a2a574
- Add polyobj support to softpoly
2017-05-12 14:05:32 +02:00
Rachael Alexanderson
d907f18e4c
Merge https://github.com/coelckers/gzdoom
2017-05-12 07:45:46 -04:00
Rachael Alexanderson
029788976d
- fully fix Strife1.wad's MAP10 shooting range.
...
- added the following compatibility.txt properties: setsectortexture, setsectorlight
2017-05-11 18:56:02 +02:00
Rachael Alexanderson
ac244b3229
Merge https://github.com/coelckers/gzdoom
2017-05-10 05:15:49 -04:00
alexey.lysiuk
8fbb5372b2
Fixed 32-bit Windows crash reporter
...
Restored old exception handling for 32-bit Windows executable
Tested on 32-bit Windows XP (previously exited without notification), 64-bit Windows 7 and 10 (previously deadlocked in system DLLs)
2017-05-10 11:34:48 +03:00
Chris Robinson
092b339c8f
Replace usleep with nanosleep for macOS too
2017-05-10 09:44:54 +02:00
Magnus Norddahl
f492e92cb5
- Handle degenerate triangles either sent as input or caused by clipping
2017-05-10 02:43:00 +02:00
Chris Robinson
7ad61a97ed
Fix handling long wait times on POSIX's I_WaitVBL
...
usleep only works for sleeping up to one second. The function is also
deprecated and nanosleep should be used instead.
2017-05-09 23:21:32 +02:00
svdijk
fd8613a11e
CMake: Fix building on 32-bit Linux (Core 2 Duo) again.
2017-05-09 20:48:48 +02:00
Chris Robinson
60cc91e000
Properly unload the backend sound buffers
2017-05-09 19:13:52 +02:00
Christoph Oelckers
0a8083e280
- fixed default obituary handling for predefined damagetypes.
2017-05-09 19:04:07 +02:00
Christoph Oelckers
2bf8e8f1c0
- fixed: InitClipper was missing a call to Clipper.Clear.
2017-05-09 12:20:49 +02:00
Christoph Oelckers
8be7ff01dd
- removed some pointless restrictions from AActor::IsOkayToAttack which prevented its use on normal monsters.
...
This all made sense as long as the function was only used internally but that's not the case anymore.
2017-05-09 09:57:38 +02:00
Christoph Oelckers
c6a516089e
- fixed: OPLio::WriteTremolo wrote the wrong value for operator #0 .
2017-05-08 22:46:35 +02:00
Christoph Oelckers
762ba13cd9
- store the last found OpenGL version in the INI so that modern GL related options can be removed when running old hardware with software rendering.
2017-05-08 19:30:51 +02:00
Christoph Oelckers
4a5fe65ce8
- added missing check for RenderStyle None to GL weapon drawer.
2017-05-08 19:13:18 +02:00
alexey.lysiuk
bdac1c3ad1
Fixed problem with looping of particular music tracks
...
Part of https://forum.zdoom.org/viewtopic.php?t=56333
2017-05-08 18:07:02 +03:00
Christoph Oelckers
26325edddc
- fixed Ogg tag validation.
2017-05-08 17:00:09 +02:00
alexey.lysiuk
f7b8dadedb
Made size of music stream buffer customizable
...
Use snd_streambuffersize CVAR to set buffer size in kilobytes, from 16 to 1024
Name of existed CVAR from removed FMOD sound backend is used
Increased default size of stream buffer to 64 kB like it was in FMOD backend
2017-05-08 10:30:16 +03:00
alexey.lysiuk
3d100e6578
Removed unused #include's from music_libsndfile.cpp
2017-05-08 10:30:16 +03:00
alexey.lysiuk
e1266685d9
Use proper function to set sound offsets in samples
...
This fixes the following compilation warnings:
src\sound\oalsound.cpp(1588): warning C4244: 'argument': conversion from 'unsigned int' to 'ALfloat', possible loss of data
src\sound\oalsound.cpp(1796): warning C4244: 'argument': conversion from 'unsigned int' to 'ALfloat', possible loss of data
2017-05-08 10:29:41 +03:00
Rachael Alexanderson
cdb68f159c
Merge https://github.com/coelckers/gzdoom
2017-05-07 21:29:12 -04:00
alexey.lysiuk
e848abf4df
Fixed restoration of absolute time position for sounds
...
Loading of saved game no longer restarts sounds from beginning
2017-05-07 13:00:06 +03:00
Rachael Alexanderson
0941cda7cc
Merge https://github.com/coelckers/gzdoom
2017-05-07 05:07:22 -04:00
Magnus Norddahl
81de951abc
- Fix missing include
2017-05-06 22:25:18 +02:00
Magnus Norddahl
f083109b51
- Add SSE code to OpenGLSWFrameBuffer::OpenGLPal::Update to workaround a broken auto-vectorizer in GCC
2017-05-06 22:03:32 +02:00
Christoph Oelckers
7f7be9e393
- fixed compile errors in last commit.
2017-05-06 20:38:36 +02:00
alexey.lysiuk
85bb5192b3
Replaced sectorflooroffset with more generic compatibility parameter
...
New parameter setsectoroffset can set offset of floor or ceiling
# Conflicts:
# src/compatibility.cpp
2017-05-06 19:43:35 +02:00
alexey.lysiuk
de97b753f6
Added compatibility parameter to set wall textures
2017-05-06 19:43:35 +02:00
alexey.lysiuk
cd8aa252ae
Added compatibility parameter to set thing skills
...
# Conflicts:
# src/compatibility.cpp
2017-05-06 19:43:35 +02:00
Magnus Norddahl
9011f0ed5b
- Fix texture coordinates for sloped walls
2017-05-06 18:44:06 +02:00
Chris Robinson
996ce4497d
Add a resampler option for the OpenAL backend
2017-05-06 18:07:31 +02:00
Magnus Norddahl
aca628acaf
- Improve wall texture coordinates in softpoly
2017-05-06 15:48:04 +02:00
Christoph Oelckers
567c21cdeb
- fixed recursion in Dim functions. When the main worker function was renamed to DoDim the Super calls were not fixed for it.
2017-05-06 10:44:29 +02:00
Rachael Alexanderson
678949ccd4
Merge https://github.com/coelckers/gzdoom
2017-05-06 00:52:02 -04:00
Magnus Norddahl
5c1dc900e3
- Slightly improve sky rendering in softpoly
2017-05-06 01:43:05 +02:00
Christoph Oelckers
bb12dabe2b
- added a 'protrusion' property to SBARINFO so that the map name display can properly be handled here as well. Until now it was only working for scripted status bars.
2017-05-05 19:32:37 +02:00
Rachael Alexanderson
fa3846ccc6
Merge https://github.com/coelckers/gzdoom
2017-05-05 00:36:22 -04:00
Magnus Norddahl
4fcea96a1c
- Improve softpoly sky rendering a little bit
2017-05-05 03:27:22 +02:00
Christoph Oelckers
2dff0e7309
- fixed: P_TranslateLinedef should not do any byte swapping but require passing of properly ordered values.
...
This gets called from several places, and the only one passing in potentially byte swapped values is P_LoadLineDefs.
All other uses of this function were essentially broken on PowerPC.
2017-05-04 23:52:16 +02:00
Rachael Alexanderson
118976129d
Merge https://github.com/coelckers/gzdoom
2017-05-04 02:38:13 -04:00
Christoph Oelckers
99a61e74c7
- fixed: The first model ID was always initialized to 0, even if that model wasn't even present in the definition.
2017-05-04 00:37:43 +02:00
Rachael Alexanderson
5a450b5eaa
- fixed: +FLIPSPRITE works in mirrors in OpenGL now.
2017-05-03 15:56:33 -04:00
Rachael Alexanderson
00a4993654
- forgot to implement +SPRITEFLIP for OpenGL
2017-05-03 21:13:31 +02:00
Rachael Alexanderson
2acb485121
- Added +SPRITEFLIP which reverses a sprite's left-rightness.
2017-05-03 21:13:31 +02:00
alexey.lysiuk
8303d8bbd1
Fixed name of mpg123 shared library on Linux
...
https://forum.zdoom.org/viewtopic.php?t=56253
2017-05-03 16:56:22 +03:00
Christoph Oelckers
f9445e96f5
- fixed: DPSprite::GetRenderStyle returned the wrong alpha value.
2017-05-03 10:27:20 +02:00
Rachael Alexanderson
00dab8677a
- fixed: Changing fullscreen while vid_renderer != currentrenderer will cause a fake vid_renderer to be passed to the mode change function in order to prevent a crash.
2017-05-03 10:05:46 +02:00
Rachael Alexanderson
a9412ec815
Merge https://github.com/coelckers/gzdoom
2017-05-02 23:26:34 -04:00
Magnus Norddahl
e68da4cd6b
- Fix crash in glswfb if vid_hw2d is toggled off
2017-05-02 22:56:31 +02:00
Magnus Norddahl
c8070c65d4
- Add support for drawing decals on 3d floors in the software renderer
2017-05-02 22:26:13 +02:00
Magnus Norddahl
17108e575a
- Add support for drawing decals on 3d floors in softpoly
2017-05-02 22:24:32 +02:00
alexey.lysiuk
43fc5633af
Fixed player falling through narrow notch upon unmorphing
...
https://forum.zdoom.org/viewtopic.php?t=56230
2017-05-02 17:22:50 +03:00
alexey.lysiuk
f73f42c4a6
Removed unsuccessful attempt to fix sndfile unaligned access
...
This reverts commit 8a36bf5c09
.
2017-05-02 11:22:18 +03:00
Rachael Alexanderson
a59336908c
Merge https://github.com/coelckers/gzdoom
2017-05-02 03:13:40 -04:00
Christoph Oelckers
aac6e65842
- fixed: FxActionSpecialCall did not resolve float to int casts.
2017-05-01 22:44:58 +02:00
Christoph Oelckers
050acc9271
- added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
...
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional!
* added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights.
* added the new dagger powerup.
* added MAPINFO entries for the added maps.
2017-05-01 21:25:54 +02:00
alexey.lysiuk
dcded0e183
Handle unloading of canvas textures properly
...
https://forum.zdoom.org/viewtopic.php?t=56207
2017-05-01 16:20:25 +03:00
Rachael Alexanderson
ebf33ed24e
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2017-04-30 22:16:01 -04:00
Christoph Oelckers
b84f7bcada
- scriptified the weapon firing logic.
2017-05-01 01:55:35 +02:00
Christoph Oelckers
abee2805cb
- the last scriptified bits of P_PlayerThink.
2017-05-01 00:27:58 +02:00
Chris Robinson
6044c876ab
Update LASTRUNVERSION to handle the snd_hrtf change
...
Also snd_hrtf now uses -1 for "auto" and 0 for "off", which makes more sense.
2017-05-01 00:26:28 +02:00
Rachael Alexanderson
65399bf075
- fixed: Added currentrenderer checks to SDL and COCOA implementations of 'swtruecolor'
2017-04-30 16:35:16 -04:00
Rachael Alexanderson
dfa5a3cd07
- Changed cocoa backend's s_currentRenderer to match PC version's 'currentrenderer' to address a possible Mac compilation issue.
2017-04-30 16:21:11 -04:00
Christoph Oelckers
6e25c34fda
- more player code exported
2017-04-30 22:17:51 +02:00
Christoph Oelckers
10deb5ce56
- exported P_PlayerThink to ZScript.
2017-04-30 22:17:50 +02:00
Rachael Alexanderson
8c992647de
- fixed: "vid_renderer" should NEVER be referenced outside of the hardware code. This may fix a crash when changing modes with vid_renderer not matching actual renderer
2017-04-30 16:11:34 -04:00
Rachael Alexanderson
588d028499
Merge https://github.com/coelckers/gzdoom
2017-04-30 16:00:52 -04:00
Chris Robinson
aae6ded2dd
Add snd_hrtf back in to allow enabling HRTF again
...
It's now an Int type instead of Bool. Older config files that had it set to
"true" or "false" will interpret it as 0, which is Auto (the default).
2017-04-30 18:41:39 +02:00
alexey.lysiuk
9a7aa7a7b4
Fixed map name in demos recorded with * argument
...
https://mantis.zdoom.org/view.php?id=642
2017-04-30 16:35:28 +03:00
Rachael Alexanderson
aae9b33198
- fixed: Swapping swtruecolor no longer crashes in OpenGL mode after selecting Software in the menu
2017-04-30 07:39:00 -04:00
alexey.lysiuk
8a36bf5c09
Fixed potential crash in sndfile reader on Intel platform
...
https://mantis.zdoom.org/view.php?id=640
2017-04-30 12:01:28 +03:00
svdijk
4c803b6615
CMake: Fix building on 32-bit Linux (Core 2 Duo).
2017-04-29 13:36:33 +02:00
alexey.lysiuk
be496a89d9
Fixed silent sounds on first play, stereo and precached only
...
https://mantis.zdoom.org/view.php?id=637
2017-04-29 11:44:13 +03:00
Rachael Alexanderson
1d980b87b4
Merge https://github.com/coelckers/gzdoom
2017-04-28 22:14:15 -04:00
Christoph Oelckers
ec1aeaf384
- allow changing to the current map by using "*" as argument. Implemented for 'map', 'changemap' and 'recordmap'.
2017-04-28 11:39:47 +02:00
Rachael Alexanderson
9fc2f805de
Merge https://github.com/coelckers/gzdoom
2017-04-27 14:29:28 -04:00
Christoph Oelckers
694b48423a
- fixed initialization of classes so that AllActorClasses only gets initialized when the game knows what is an actor and what is not.
...
This could result in lost states for weapons because the weapon class did not get added to the array.
2017-04-27 10:52:00 +02:00
Christoph Oelckers
22b70dd222
- fixed: For the last block in an MP3 the buffer address was incorrectly incremented.
2017-04-27 10:08:24 +02:00
Christoph Oelckers
21af612224
- avoid double loading sound data for monoization.
2017-04-26 20:51:06 +02:00
Christoph Oelckers
b5dc5ceb3c
- removed some unused static variables
2017-04-26 14:48:33 +02:00
Rachael Alexanderson
6fa7c9ee0c
Merge https://github.com/coelckers/gzdoom
2017-04-25 20:54:45 -04:00
Christoph Oelckers
99579efd0d
- fixed a few issues with libmpg123 not correctly reporting the sound's length and issues with repeatedly rewinding the song.
2017-04-25 21:30:11 +02:00
Christoph Oelckers
f866e0f02f
- saved the wrong version.
2017-04-25 21:05:36 +02:00
Christoph Oelckers
090502b243
- moved the 'no player start' check to the end of G_DoLoadLevel because inside G_FinishTravel it would leave some data in undefined places that later can cause a crash.
2017-04-25 19:55:05 +02:00
Christoph Oelckers
9375edda11
- removed p_buildmap.cpp.
...
This code had been broken for years and inactive for several months. Since there is really little point fixing it it may just be removed entirely.
2017-04-25 12:40:08 +02:00
alexey.lysiuk
2bb16c684f
Fixed crash caused by 0-length lines in UDMF
...
When line was removed during processing bogus entries remained in sidedefs array
2017-04-24 15:57:30 +03:00
Rachael Alexanderson
88f8c4afcc
Merge https://github.com/coelckers/gzdoom
2017-04-24 08:09:34 -04:00
Chris Robinson
f97efefe7e
Set the source gain to 0 before stopping it
...
Stopping a source in the middle of playback can causing undesirable "popping"
from a sudden change in amplitude. Setting the source gain to 0 gives OpenAL
the opportunity to ramp the source's output to 0, where it can be safely
stopped without causing a sudden change in amplitude.
2017-04-24 13:12:43 +02:00
Chris Robinson
78231d5ba1
Remove unused URLSong functionality
...
This isn't supported with the OpenAL backend, and instead of trying to make a
workaround for it, a better approach would probably be to make a FileReader
implementation that handles URLs.
2017-04-24 13:12:43 +02:00
alexey.lysiuk
e78d88094d
Removed obsolete timer workaround from Cocoa backend
2017-04-23 17:35:35 +03:00
alexey.lysiuk
6fb1689d02
Disabled truecolor software renderer on PowerPC by default
...
Performance on such old hardware is not acceptable
2017-04-23 17:35:35 +03:00
alexey.lysiuk
ab8759049d
Enabled GLSW framebuffer in Cocoa backend by default
...
Added fallback to generic Cocoa implementation if it's not available (i.e. without OpenGL Core Profile support)
Value of vid_glswfb CVAR is now saved to configuration file
2017-04-23 17:35:35 +03:00
Christoph Oelckers
f9735c44de
- fixed signedness issues in OPL code.
2017-04-23 15:40:03 +02:00
alexey.lysiuk
70abf19f76
Replaced pointless comparison with loop_start range check
...
src/sound/oalsound.cpp:1285:17: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
2017-04-23 14:49:36 +03:00
alexey.lysiuk
93fa9ac1c9
Include gitinfo.h in version.h on Windows only
...
Avoid building of several files on each pull/reset/amend/cherry-pick/etc on macOS and Linux
2017-04-23 14:49:36 +03:00
alexey.lysiuk
bd74cf85a4
Added selection of frame buffer implementation in Cocoa backend
...
Added vid_glswfb CVAR but set it to false by default for compatibility reasons
2017-04-23 14:49:36 +03:00
alexey.lysiuk
ea3b47d0ad
Added generic workaround for double type alignment
...
This fixes not only 32-bit Linux/macOS builds but PowerPC Mac target too
2017-04-23 14:49:36 +03:00
alexey.lysiuk
1c6cc3e28f
Proper detection of Intel 64-bit architecture
...
Size of pointer check was not enough
2017-04-23 14:49:36 +03:00
alexey.lysiuk
680d1b2dd6
Moved all CMake modules and launcher templates to designated directory
...
Let's not pollute root directory with various files
2017-04-23 14:49:36 +03:00
Christoph Oelckers
c519e76280
- fixed calculation of clipping rect's lower edge.
2017-04-23 12:58:40 +02:00
Christoph Oelckers
82b032680c
- delete the MMX function, too.
2017-04-23 12:12:49 +02:00
Christoph Oelckers
ace0568d09
- now that SSE2 is a required feature for compiling on x86, DoBlending_MMX has no use anymore and could be removed, as could the checks for bRDTSC, which is an older hardware feature than SSE2. There's also little point printing pre-SSE2 hardware features because they can be assumed to be present on anything the code can run on.
2017-04-23 11:54:08 +02:00
Magnus Norddahl
63e0310961
- add non-sse version of the softpoly drawers
2017-04-23 11:05:48 +02:00
Christoph Oelckers
2621c460e3
Revert "- add CPU.bSSE2 branching support to softpoly"
...
This reverts commit 545241aa06
.
These commits are WIP stuff that should not be in the master branch. A work branch has been created to finalize this code.
2017-04-23 10:39:07 +02:00
Chris Robinson
c2391d6a0d
Fix the default loop end point
2017-04-23 09:06:34 +02:00
Chris Robinson
4b7834465b
Fix off-by-one error for the loop end
2017-04-23 09:06:34 +02:00
Rachael Alexanderson
c71d23f519
Merge https://github.com/coelckers/gzdoom
2017-04-22 22:02:20 -04:00
Magnus Norddahl
fe2864d396
- add the AVX-2 softpoly drawer to the repository for completeness sake (not currently used)
2017-04-22 22:15:09 +02:00
Magnus Norddahl
9c805d1867
- added non-sse version of the true color softpoly drawers
2017-04-22 22:05:47 +02:00
alexey.lysiuk
173fa31383
Fixed internal Dehacked support
...
https://mantis.zdoom.org/view.php?id=619
2017-04-22 22:58:45 +03:00
alexey.lysiuk
e4c73cfc5f
Fixed compilation on Linux
...
src/polyrenderer/drawers/poly_triangle.cpp:212:20: error: ‘CPU’ was not declared in this scope
src/polyrenderer/drawers/screen_triangle.cpp:955:6: error: ‘CPU’ was not declared in this scope
2017-04-22 22:21:34 +03:00
Magnus Norddahl
545241aa06
- add CPU.bSSE2 branching support to softpoly
2017-04-22 20:38:06 +02:00
Christoph Oelckers
3608299e61
- serialize AActor::boomwaterlevel.
...
After changing the splash code this looks necessary.
2017-04-22 15:52:24 +02:00
Christoph Oelckers
882279d600
- clamp the loop end point to the sample size for sound effects so that bogus values do not render the loop start ineffective.
2017-04-22 15:49:39 +02:00
Christoph Oelckers
dc3df4e897
- remove mod_dumb CVAR. This now effectively disabled module playback because the OpenAL backend cannot substitute for it, unlike FMod.
2017-04-22 10:59:52 +02:00
alexey.lysiuk
ecbfb255f7
Fixed handling of default values in EventHandler.SendNetworkEvent()
2017-04-22 10:28:53 +03:00
alexey.lysiuk
370b639ab1
Fixed crash on returning to title screen
...
https://mantis.zdoom.org/view.php?id=615
2017-04-22 09:58:38 +03:00
Rachael Alexanderson
b2ba7a4e18
Merge https://github.com/coelckers/gzdoom
2017-04-21 18:15:48 -04:00
alexey.lysiuk
4e1e527b2c
Fixed compilation with Clang
...
src/sound/oalsound.cpp:1288: error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka 'unsigned int') to 'ALint' (aka 'int') in initializer list [-Wc++11-narrowing]
2017-04-21 22:07:06 +03:00
Christoph Oelckers
3ccd4aa0d1
- fixed: The powerup icons did not blink when expiring.
2017-04-21 18:08:30 +02:00
Christoph Oelckers
0ed3ee6267
- updated the license in fmopl.cpp to the one in the current version of the original file.
2017-04-21 17:48:40 +02:00
Christoph Oelckers
f7a22154b7
- fixed: loop_end needs a different default in the sound effect code than in the music code.
2017-04-21 16:25:36 +02:00
Christoph Oelckers
b3f3500ce5
- added loop tag reading for Ogg and Flac sound effects. Due to lack of test material this is currently untested.
...
- removed unaligned memory access in FindLoopTags.
2017-04-21 12:29:50 +02:00
Christoph Oelckers
66b5c26352
- consider the volume control of all Windows MIDI mapper devices broken, because it may be the GS synth, which is not detectable.
2017-04-21 10:37:03 +02:00
Rachael Alexanderson
11ec35b061
Merge https://github.com/coelckers/gzdoom
2017-04-20 21:04:33 -04:00
alexey.lysiuk
c681d6eff0
Fixed applying of multiple pain chances
...
https://mantis.zdoom.org/view.php?id=608
2017-04-20 22:09:18 +03:00
alexey.lysiuk
e19f6fe8ea
Final touch in fixing restart CCMD
...
https://mantis.zdoom.org/view.php?id=595
2017-04-20 16:20:51 +03:00
alexey.lysiuk
403634c0e1
Fixed crash caused by failure to allocate memory block of very special size
...
Allocation of 810 FState objects (32400 bytes in total) could be performed in MSVC x64 build but worked in 32-bit version
This fixes https://mantis.zdoom.org/view.php?id=602
2017-04-19 17:52:43 +03:00
ZZYZX
29402ff685
ZScript version of SetCameraToTexture
2017-04-19 11:20:17 +02:00
Christoph Oelckers
1f69a000df
- removed redundant sound includes.
2017-04-18 20:55:40 +02:00
alexey.lysiuk
00dc649cc2
Fixed compilation with Clang
...
error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
2017-04-18 18:46:53 +03:00
Rachael Alexanderson
5d11c9962b
Merge commit '8db239d'
2017-04-18 11:33:52 -04:00
Christoph Oelckers
42a34ddd58
- fixed: The menu descriptors were not cleared on restart, leaving some menu data behind.
2017-04-18 16:54:06 +02:00
Christoph Oelckers
8180d34765
- added user configurable menus where soundfonts, patch sets or Timidity EXEs can be selected from lists being stored in the config file to reduce the hassle of testing MIDIs with different settings.
2017-04-18 16:43:07 +02:00
Christoph Oelckers
fb12c58533
- restart the music if the OPL core or the config file for the softsynths is changed, except for the GUS synth, which loads all its data during engine startup and cannot swap it out.
...
- added arrays to the config to hold entries for the softsynths' config files. This is not active yet, but will later be used to give the user a list of config options instead of having to type it by hand.
2017-04-18 16:43:07 +02:00
alexey.lysiuk
8db239d34f
Fixed build with NO_OPENAL defined
...
https://mantis.zdoom.org/view.php?id=596
2017-04-18 16:40:31 +03:00
alexey.lysiuk
1d84b28fc2
Added support for bool type in SetUserVariable() ACS function
...
https://mantis.zdoom.org/view.php?id=462
2017-04-18 15:37:45 +03:00
alexey.lysiuk
b6774e723b
Fixed non-functional XInput support when built with modern Windows SDKs
...
https://mantis.zdoom.org/view.php?id=568
2017-04-18 10:42:05 +03:00
alexey.lysiuk
03b77c0505
Set names for mpg123 and sndfile macOS dynamic libraries
2017-04-17 19:21:57 +03:00
alexey.lysiuk
a7cb7bbb9c
Backported changes from newer sndfile.h to fix non-MSVC compilation
2017-04-17 18:51:29 +03:00
Christoph Oelckers
7405f541e8
- allow dynamic loading of all sound related libraries without providing any SDK at all.
...
The needed headers are now included in the repo, which for these libraries is possible thanks to a stable ABI (at least on Windows, the other platforms still need to be checked but the headers only add, never remove or change existing content.)
The big advantage of this setup is that it allows building the project on Windows without any necessary setup - all that needs to be provided is the DLLs from the binary package.
This still requires some fixes for macOS and Linux. On MacOS the proper library names are missing and the ones for Linux are not verified. Both platforms should work, though, if the dynamic loading is disabled.
2017-04-17 17:05:09 +02:00
Christoph Oelckers
a48a3d0abf
- fixed some signedness warnings in OPL code.
2017-04-17 15:37:45 +02:00
Christoph Oelckers
96d328de9b
- removed all Doom Source license and all default Raven copyright headers and replaced them with GPLv3. Also fixed the license in a few other files.
...
For some files that had the Doom Source license attached but saw heavy external contributions over the years I added a special note to license all original ZDoom code under BSD.
2017-04-17 13:33:19 +02:00
Christoph Oelckers
57d703236b
- changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files.
2017-04-17 12:27:19 +02:00
Christoph Oelckers
b68741b17f
- removed the special conditions of the FraggleScript license, now that they are no longer needed. Also relicensed the two original files under the GPL for consistency.
2017-04-17 10:31:25 +02:00
Christoph Oelckers
33ee761b37
- fixed: The timing of Heretic's lava damage was not correct.
2017-04-17 10:10:09 +02:00
alexey.lysiuk
59626cf843
Simplified transition to OpenAL sound backend
2017-04-17 10:46:38 +03:00
alexey.lysiuk
4519ab12e9
Fixed compilation errors
...
src/sound/oplsynth/musicblock.cpp:3:10: fatal error: 'muslib.h' file not found
src/sound/oplsynth/oplio.cpp:410:12: error: use of undeclared identifier 'cos'
src/sound/oplsynth/oplio.cpp:410:41: error: use of undeclared identifier 'sin'
2017-04-17 10:27:11 +03:00
Christoph Oelckers
c219811a54
- removed FMod as the last remaining piece of code that is not GPL compatible.
...
Please consider GZDoom as licensed under the GPL starting with this commit, even though the license headers have not been changed yet.
2017-04-17 01:06:54 +02:00
Christoph Oelckers
79ed1f73e7
- some minor cleanup, including renaming some data structutrd in the OPL code.
2017-04-17 00:46:27 +02:00
Christoph Oelckers
ba5721f98a
- rewrote the OPL middle layer to remove the MusLib code.
...
The new version keeps the non-MusLib code of both files and replaces most of the rest with code from Chocolate Doom.
2017-04-17 00:39:03 +02:00
Christoph Oelckers
4f67dc4f01
- fixed: DCorpsePointer's constructor was doing nasty stuff while the object wasn't fully set up yet.
2017-04-15 19:07:13 +02:00
Christoph Oelckers
47bcd8aaa2
- added per-layer translucency support to the OpenGL PSprite drawer.
2017-04-15 17:25:46 +02:00
Major Cooke
259e3127fe
- Fixed crash with corpse queueing.
2017-04-15 16:43:40 +02:00
Christoph Oelckers
1ee9256842
- did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
...
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.
OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Christoph Oelckers
046e250f2e
- fixed: Ceiling_CrushStop checked the wrong argument for the remove parameter.
2017-04-15 14:54:43 +02:00
Christoph Oelckers
2d0da4fcfa
- fixed: Dynamic arrays of objects in structs were not registered for garbage collection.
2017-04-15 13:20:58 +02:00
Christoph Oelckers
069e4e9b0b
- allow tag == 0 for backside activation on a few more actions.
2017-04-15 12:03:21 +02:00
Christoph Oelckers
e333e31410
- fixed: Vector array elements failed to allocate the proper amount of registers.
2017-04-15 12:03:21 +02:00
alexey.lysiuk
490fd8f3a0
Fixed applying of multiple damage factors
...
https://mantis.zdoom.org/view.php?id=586
2017-04-15 12:33:26 +03:00
Rachael Alexanderson
997a62de36
Merge https://github.com/coelckers/gzdoom
2017-04-14 23:09:21 -04:00
Christoph Oelckers
edebea4f8d
- allow specifying a custom class for message box display.
2017-04-14 23:28:54 +02:00
Christoph Oelckers
ca1981c52f
- fixed missing null pointer check in BuiltinNameToClass.
2017-04-14 23:06:12 +02:00
Christoph Oelckers
c73b71807b
- fixed: During hub travel, static thinkers may not be deserialized.
...
Since they are static, the version that got carried over from the last level will still be there and the more current version.
2017-04-14 22:06:29 +02:00
Christoph Oelckers
3d8821ee82
- make polyobject setup errors not abort the map.
2017-04-14 20:27:46 +02:00
Christoph Oelckers
d014395dae
- do not delete the namespaces when removing compiler symbols. They still get referenced by some types and must remain until the engine shuts down.
2017-04-14 19:40:50 +02:00
Christoph Oelckers
7186342221
- do not try to serialize static arrays.
2017-04-14 19:25:47 +02:00
Christoph Oelckers
d03c33f393
- added Translation.GetID.
2017-04-14 17:40:05 +02:00
alexey.lysiuk
2add60a4c4
Single RUNTIME_CLASS() macro for classes and templates
...
The main purpose of this is to fix compilation errors with GCC/Clang
src/dobject.h:87:48: error: expected primary-expression before ‘)’ token
2017-04-14 18:07:20 +03:00
Christoph Oelckers
cde450dd8a
- some enhancements for PowerReflection.
2017-04-14 16:51:11 +02:00
Christoph Oelckers
329c168cc2
- added a distance parameter to A_SprayDecal.
2017-04-14 16:28:54 +02:00
Christoph Oelckers
92acbdc625
- made GetClassName an intrinsic and expanded it to also work on class types.
2017-04-14 16:14:27 +02:00
Christoph Oelckers
1135f154b7
- fixed: For Screen.SetClipRect, -1 is a valid value for width and height so it must not be clamped away.
2017-04-14 15:41:36 +02:00
Christoph Oelckers
47bb29bac6
- check the return value of ogl_LoadFunctions and abort if it indicates failure.
...
If this happens there is normally something very wrong on the system side so continuing is not advised.
2017-04-14 15:32:04 +02:00
Christoph Oelckers
7983f6ea4f
- fixed incorrect return variable.
2017-04-14 15:23:18 +02:00
alexey.lysiuk
fd07b56ae9
Fixed link error for MSVC x64 build with modern Windows SDK
...
win32video.obj : error LNK2001: unresolved external symbol IID_IDirectDraw2
2017-04-14 16:13:51 +03:00
Christoph Oelckers
33145610b1
- let's better add a null check to Create<> in case allocation or construction fails. Although unlikely it's not impossible.
2017-04-14 13:48:00 +02:00
Christoph Oelckers
cd180d29c7
- block direct use of 'new' for DObjects.
...
This is to ensure that the Class pointer can be set right on creation. ZDoom had always depended on handling this lazily which poses some problems for the VM.
So now there is a variadic Create<classtype> function taking care of that, but to ensure that it gets used, direct access to the new operator has been blocked.
This also neccessitated making DArgs a regular object because they get created before the type system is up. Since the few uses of DArgs are easily controllable this wasn't a big issue.
- did a bit of optimization on the bots' decision making whether to pick up a health item or not.
2017-04-14 13:31:58 +02:00
Rachael Alexanderson
4b2b2af63e
Merge https://github.com/coelckers/gzdoom
2017-04-14 05:51:36 -04:00
Christoph Oelckers
929affa3cb
- removed MarkACSThinker.
...
The global variable holding a pointer to this thinker should be a weak reference to the instance in the thinker chain, there is no need to mark this global variable, as the thinker's lifetime is only determined by the thinker chain.
- committed a few Posix related file the last commit missed.
2017-04-14 10:59:57 +02:00
Christoph Oelckers
dc5a5419fc
- took DCanvas and all its subtypes out of the DObject tree.
...
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.
Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00
Rachael Alexanderson
93564078fe
Merge https://github.com/coelckers/gzdoom
2017-04-14 01:05:26 -04:00
Magnus Norddahl
d407aa3157
- Fix linear filtering bug for sprites
2017-04-13 22:16:26 +02:00
Christoph Oelckers
b1057cee36
- fixed: do not draw armor on the fullscreen HUD if the amount is 0.
2017-04-13 20:43:17 +02:00
Christoph Oelckers
2d098e99fb
- fixed: WP_NOCHANGE had different values in native and script code, resulting in problems with weapon selection.
...
This now explicitly allocates a single object it can safely point to instead of trying to hack around it.
2017-04-13 18:59:45 +02:00
Christoph Oelckers
98dab9c4b9
- took PTypeBase and all its subclasses out of the DObject hierarchy.
...
- moved scope flag to a new variable that is specific to PType instead of hijacking the ObjectFlags for this.
2017-04-13 17:47:17 +02:00
Rachael Alexanderson
2c4552da42
Merge https://github.com/coelckers/gzdoom
2017-04-13 10:09:47 -04:00
Christoph Oelckers
988fe8d735
- removed all RTTI from the type table.
...
Using names is just as good as using types so now this is what's done.
2017-04-13 16:01:38 +02:00
Christoph Oelckers
aeb455d705
- removed all RTTI checks for the types.
2017-04-13 15:38:06 +02:00
Christoph Oelckers
b2d944974e
- first stage of simplifying the type system.
...
Let's use inline checkers in PType instead of constantly having to do clumsy IsKindOf checks etc. Once complete this also means that the types can be taken out of the class hierarchy, freeing up some common names.
2017-04-13 12:52:18 +02:00
Christoph Oelckers
522ce59be2
- use in-class initialization for FLightDefaults to avoid uninitialized variables in the future.
2017-04-13 12:50:43 +02:00
alexey.lysiuk
cced9e014b
Fixed issue with actors occasionally unaffected by dynamic lights
...
https://mantis.zdoom.org/view.php?id=536
2017-04-13 13:14:33 +03:00
alexey.lysiuk
fbc1028d2b
Fixed crash when parsing DECORATE constant expressions
2017-04-13 12:06:59 +03:00
alexey.lysiuk
cbf2a21c83
Fixed registration of tentative classes
2017-04-13 12:03:45 +03:00
alexey.lysiuk
c99cecea8e
Fixed warnings reported by GCC/Clang
...
src/p_pspr.cpp:363:37: warning: more '%' conversions than data arguments [-Wformat]
src/gl/textures/gl_texture.cpp:845:21: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
2017-04-13 10:40:44 +03:00
alexey.lysiuk
1889efa814
Fixed build with Clang
...
Fixed bunch of compilation errors:
cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
Fixed linker erorr:
g_doomedmap.cpp.o: In function `InitActorNumsFromMapinfo()':
src/g_doomedmap.cpp: undefined reference to `PClass::FindActor(FName)'
2017-04-13 10:40:43 +03:00
Rachael Alexanderson
a15031706d
Merge https://github.com/coelckers/gzdoom
2017-04-12 20:33:38 -04:00
Christoph Oelckers
1712667ce2
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-04-13 02:18:16 +02:00
Christoph Oelckers
85d8244d03
- fixed: With the reorganization of the class data the setup of actor replacements must be delayed until after InitializeDefaults has been called.
2017-04-13 02:18:06 +02:00
Christoph Oelckers
6599e2c425
- moved the VM types into their own file and only include it where really needed.
2017-04-13 01:12:04 +02:00
Christoph Oelckers
3e47f00ba0
- the new order requires manual deletion of all class descriptors.
2017-04-12 22:57:14 +02:00
Christoph Oelckers
fc9e304189
- separated class descriptors from VM types.
...
Combining these two groups of data has been the cause of many hard to detect errors because it allowed liberal casting between types that are used for completely different things.
2017-04-12 22:46:49 +02:00
Christoph Oelckers
afd6743965
- moved AddNativeField to PSymbolTable, too.
2017-04-12 18:29:58 +02:00
Christoph Oelckers
8dc11317dd
- Moved WriteFields into SymbolTable as well.
2017-04-12 17:42:10 +02:00
Christoph Oelckers
96631e8808
- make PClass not inherit from PStruct.
...
Having these two types related can cause problems with detection in the compiler because for some parts they need quite different handling.
Common handling for the fields has been moved into PSymbolTable but overall redundancy was quite minor as both types share surprisingly little functionality.
2017-04-12 17:21:13 +02:00
alexey.lysiuk
20a9f17a15
Fixed handling of count parameter's default value in Array.Delete()
...
https://mantis.zdoom.org/view.php?id=571
2017-04-12 17:40:17 +03:00
Christoph Oelckers
0d7b7d6ab1
- merged PStruct and PNativeStruct.
...
There were exactly 4 places in the code that checked for the difference, this is better done with a flag.
2017-04-12 15:12:41 +02:00
Christoph Oelckers
63eb3e331e
- un-const-ify some functions.
2017-04-12 14:40:29 +02:00
Christoph Oelckers
abc4481431
- set PointedType to null for PClassPointer to simplify the functions for this class.
2017-04-12 13:11:59 +02:00
Christoph Oelckers
6308251084
- added a FindSymbol wrapper to PClass so that other code does not need to access the symbol table directly.
...
- added an isActor utility function to codegen.cpp to simplify a few constructs.
2017-04-12 13:08:41 +02:00
Christoph Oelckers
b17ab7a133
- put PObjectPointer to some use.
...
- fixed: There was no check for compatible class pointers.
2017-04-12 11:40:40 +02:00
Christoph Oelckers
bc486904cd
- split PPointer into PPointer and PObjectPointer.
...
A pointer to an object has quite different semantics so let's do this with proper virtual inheritance. This should allow to simplify a lot of pointer related checks in the compiler.
2017-04-12 10:52:54 +02:00
Christoph Oelckers
80801d11b1
- removed some redundant static_casts.
2017-04-12 10:29:04 +02:00
Christoph Oelckers
9c9b2ccf6d
- replaced more dyn_casts and checks for RUNTIME_CLASS(PClassActor)
...
It is preferable to use IsDescendantOf wherever possible if we ever want to be able to separate PClass from PType.
2017-04-12 10:20:58 +02:00
Christoph Oelckers
5350721ec5
- removed PClass::DeriveData because it is no longer needed.
...
- fixed: IsVisibleToPlayer and optimized it a bit more.
- moved SourceLumpName to PClass, so that it can also be used for non-actors (there's a lot of non-Actor classes already.)
- separated the serializer for PClassPointer from PPointer. Even though not doable, a pointer to a class type is something entirely different than a class pointer with a restriction so each should handle its own case.
2017-04-12 09:55:27 +02:00
Rachael Alexanderson
d5ad0b5b42
Merge https://github.com/coelckers/gzdoom
2017-04-11 21:48:17 -04:00
Magnus Norddahl
df8fa1274a
- Oops, forgot to actually disable vid_glswfb in last commit
2017-04-12 03:22:38 +02:00
Magnus Norddahl
96834fa524
- Turn off vid_glswfb, gl_es on Linux ARM and stop saving it in the config file until it fully works
2017-04-12 03:21:43 +02:00
Christoph Oelckers
0e0eca0e0f
- replaced some dyn_casts with calls to FindActor.
...
- fixed type checks in A_Morph.
2017-04-12 01:29:51 +02:00
Christoph Oelckers
e4d2380775
- moved all remaining fields from PClassActor to FActorInfo.
...
- added a few access functions for FActorInfo variables.
With PClassActor now empty the class descriptors can finally be converted back to static data outside the class hierarchy, like they were before the scripting merge, and untangle the game data from VM internals.
2017-04-12 00:07:41 +02:00
Christoph Oelckers
854053a14f
- use TArrays instead of TMaps to store damage factors and pain chances.
...
For these fields maps have no advantage. Linearly searching a small array with up to 10 entries is nearly always faster than generating a hash for finding the entry in the map.
2017-04-11 23:29:37 +02:00
Christoph Oelckers
4afe2d4218
- moved OwnedStates and NumOwnedStates out of PClassActor.
2017-04-11 22:44:35 +02:00
Christoph Oelckers
05240ccbe5
- fixed redundant reallocation of constructable meta fields.
...
- some optimization of access to OwnedStates in old DECORATE.
- consolidate all places that print a state name into a subfunction.
- allocate states from the ClassDataAllocator memory arena. States do not need to be freed separately from the rest of the static class data.
2017-04-11 21:48:41 +02:00
Rachael Alexanderson
7040bc2156
Merge https://github.com/coelckers/gzdoom
2017-04-11 14:06:13 -04:00
Christoph Oelckers
311ce2362a
- started moving stuff out of PClassActor into meta data.
...
This reinstates the old FActorInfo as part of the meta data a class can have so that the class descriptor itself can be freed from any data not directly relevant for managing the class's type information.
2017-04-11 19:37:56 +02:00
Christoph Oelckers
6a3ddaa8fa
- moved Restricted/ForbiddenToPlayerClass fully to the script side.
...
This required some fixes for allowing to read from metadata arrays.
2017-04-11 15:11:13 +02:00
Christoph Oelckers
45691e91c9
- removed PClassActor::PointerSubstitution.
...
This is not needed anymore because classes do not need to be replaced. The only reason this was implemented was the original design with the class descriptors taking on all the metadata themselves.
2017-04-11 14:03:49 +02:00
Christoph Oelckers
1febf277af
- fixed crash on bad PNGs.
...
The cast to a signed long could create negative numbers which failed the sanity check and caused a stack corruption.
2017-04-11 10:29:52 +02:00
Magnus Norddahl
f049e6145b
- remove all usage of std::make_unique to keep things C++11 compliant
2017-04-11 01:25:44 +02:00
Magnus Norddahl
bdf02ea67c
- move masked reads
2017-04-11 01:11:30 +02:00
Christoph Oelckers
7a6e70e777
- reenabled the part of OP_THROW that throws a VMAbortException. This part is still needed for a runtime variable access check.
2017-04-11 00:11:36 +02:00
alexey.lysiuk
4c1e03ebff
Fixed alignment issue with GCC/Clang i386 build
2017-04-10 22:20:34 +03:00
alexey.lysiuk
d5edd3db36
Commented out remains of VM exception handling opcodes
...
This fixes build with GCC/Clang
2017-04-10 22:18:43 +03:00
Christoph Oelckers
040c70714c
- commented out the exception handling opcodes in the VM.
...
They are currently not used and not planned to be used - and they are rather costly by increasing stack size per call quite significantly.
2017-04-10 20:41:55 +02:00
Christoph Oelckers
9ae97502be
- removed the last remnants of the ATAGs.
2017-04-10 17:08:52 +02:00
Christoph Oelckers
60dd58e7d2
- most ATAG stuff is gone, except for the static storage space in the VMFunction.
2017-04-10 16:06:18 +02:00
Christoph Oelckers
5464336035
- removed ATAGs from the function builder.
2017-04-10 15:48:27 +02:00
Christoph Oelckers
e551ef52f8
- removed atag parameter from GetConstantAddress.
2017-04-10 15:39:04 +02:00
Christoph Oelckers
ef77cbd295
- stop using the ATAGs for checking pointer types in asserts.
...
This is an incredibly costly way to do a debug check as it infests the entire VM design from top to bottom. These tags are basically useless for anything else but validating object pointers being passed to native functions (i.e. mismatches between definition and declaration) and that simply does not justify a feature that costs execution time in non-debug builds and added memory overhead everywhere.
Note that this commit does not remove the tags, it only discontinues their use.
2017-04-10 15:18:31 +02:00
alexey.lysiuk
175e784b67
Fixed applying of powerup effects after (un)morph
...
https://mantis.zdoom.org/view.php?id=556
2017-04-10 15:46:30 +03:00
alexey.lysiuk
287a0933bd
Fixed lookup of inventory and ammo types in FraggleScript
...
https://forum.zdoom.org/viewtopic.php?t=55950
2017-04-10 11:58:53 +03:00
Rachael Alexanderson
00531cda49
Merge https://github.com/coelckers/gzdoom
2017-04-09 11:53:40 -04:00
Christoph Oelckers
e1698c6d41
- split P_PlayerThink into several smaller functions.
...
This is for a future script export where overriding the actions separately may be interesting.
2017-04-08 15:45:11 +02:00
Christoph Oelckers
18d6fb7f49
- fixed: USEACTORPITCH in the model code was still using inverted pitch.
2017-04-08 10:24:12 +02:00
Rachael Alexanderson
cecf41e4d0
Merge https://github.com/coelckers/gzdoom
2017-04-07 21:50:23 -04:00
Magnus Norddahl
9f180b29b9
- Remove GL_MAJOR_VERSION check for OpenGL ES as apparently not even this can be done right by driver writers
2017-04-08 00:19:39 +02:00
Rachael Alexanderson
a90692330b
Merge https://github.com/coelckers/gzdoom
2017-04-07 09:55:00 -04:00
Rachael Alexanderson
3a36ffee35
- vid_glswfb is now true by default in Linux
2017-04-07 09:53:59 -04:00
Magnus Norddahl
73effc70bb
- The legacy OpenGL path resets the GLSL version, which in turn makes #version 0 crash the AMD driver. Old stuff that uses the legacy path will not get glswfb acceleration.
2017-04-07 15:45:08 +02:00
Magnus Norddahl
35c35fc26f
- Check if glCreateProgram or glCreateShader fails, because apparently AMD found a way to make exactly that happen
2017-04-07 15:27:04 +02:00
Rachael Alexanderson
51f30a8b1e
Merge https://github.com/coelckers/gzdoom
2017-04-06 23:55:20 -04:00
Rachael Alexanderson
b1e1f25218
- detect gl es shaders and request them
2017-04-06 23:34:50 -04:00
Magnus Norddahl
85a9984807
- Add OpenGL ES 3 support to GL renderer
2017-04-06 23:34:42 -04:00
Magnus Norddahl
b7482e10e2
- Detect dinosaur OpenGL and refuse to use it
2017-04-06 23:34:37 -04:00
Magnus Norddahl
e690de25a8
- Use SDL_GL_GetProcAddress on platforms where the SDL is being used. Since SDL initialized OpenGL for us, it is the only reliable way of retrieving proc addresses.
...
- Check if ogl_LoadFunctions failed and make OpenGLSWFrameBuffer gracefully recover from that
2017-04-06 23:33:56 -04:00
Rachael Alexanderson
dc1695918e
- detect gl es shaders and request them
2017-04-06 23:29:15 -04:00
Magnus Norddahl
994740b3ae
- Add OpenGL ES 3 support to GL renderer
2017-04-07 04:09:04 +02:00
Magnus Norddahl
a9591f57a6
- Detect dinosaur OpenGL and refuse to use it
2017-04-07 03:03:21 +02:00
Magnus Norddahl
0376d4e8fc
- Use SDL_GL_GetProcAddress on platforms where the SDL is being used. Since SDL initialized OpenGL for us, it is the only reliable way of retrieving proc addresses.
...
- Check if ogl_LoadFunctions failed and make OpenGLSWFrameBuffer gracefully recover from that
2017-04-07 02:17:34 +02:00
Christoph Oelckers
74faacd218
- fixed: FxVMFunctionCall::GetDirectFunction did not perform any checks on the function's self pointer and failed to report a mismatch as an error.
...
- also fixed two places in the code where the above caused some incorrect definitions not to be detected.
2017-04-06 20:52:38 +02:00
Rachael Alexanderson
a1473c48c3
Merge https://github.com/coelckers/gzdoom
2017-04-06 04:30:38 -04:00
alexey.lysiuk
ca4888eb3d
Added CVar.GetCVar() function to do player-dependent console variables lookup
2017-04-06 10:51:36 +03:00
alexey.lysiuk
26e4b74261
Restored initial behavior of CVar.FindCVar()
...
https://mantis.zdoom.org/view.php?id=537
2017-04-06 10:50:40 +03:00
alexey.lysiuk
ac5e516148
Removed obsolete forward declaration
2017-04-06 10:39:53 +03:00
Magnus Norddahl
1312e9fb72
- fix linker error on platforms with no SSE support
2017-04-05 22:36:57 +02:00
alexey.lysiuk
a27ab73f33
Fixed broken dialogue customization in USDF parser
...
https://mantis.zdoom.org/view.php?id=539
2017-04-05 13:43:49 +03:00
Rachael Alexanderson
c06bd028d9
Merge https://github.com/coelckers/gzdoom
2017-04-05 00:53:00 -04:00
alexey.lysiuk
dd30d2a045
DEHACKED lumps from IWAD now have precedence over embedded lumps and separate files
...
See https://forum.drdteam.org/viewtopic.php?t=7588
Processing order is now the same as in Chocolate Doom
prBoom+ loads separate files after all WAD lumps though
This makes sense but would change loading sequence existed in ZDoom for years
2017-04-04 12:20:12 +03:00
Rachael Alexanderson
5851408803
Merge https://github.com/coelckers/gzdoom
2017-04-04 01:29:14 -04:00
Magnus Norddahl
f12c42d8d1
- add fuzz mode to softpoly
2017-04-04 01:11:55 +02:00
Magnus Norddahl
5c5e3bdcba
- change fuzzing to not do any offsetting but keep the shading pattern produced by it
2017-04-03 19:11:38 +02:00
Major Cooke
d3ef3b585b
- fixed: Flat sprites did not rotate their sprite angles when given the FLATSPRITE flag.
2017-04-03 17:06:33 +02:00
Rachael Alexanderson
12d39c74ef
Merge https://github.com/coelckers/gzdoom
2017-04-02 21:38:20 -04:00
Major Cooke
73c1451048
- fixed: The functionality for AddEventHandlers and EventHandlers were backwards.
2017-04-02 19:23:28 +02:00
Christoph Oelckers
e074c75609
- added a generic TransformRect to the status bar so that the proper transformations can be applied to draw operations that require special parameters not supported by the stock functions.
2017-04-02 12:58:31 +02:00
alexey.lysiuk
4cf3e1be2c
Removed obsolete workaround for Apple's GCC 4.x from node builder
2017-04-02 11:51:58 +03:00
alexey.lysiuk
bb9cd1b159
Removed special initialization of legacy render styles
...
Workaround for Apple's GCC 4.0.1 is now completely pointless
2017-04-02 11:41:04 +03:00
alexey.lysiuk
5187acd44f
Fixed undefined behavior in drawing of status bar graphics
...
Debug configuration built with Apple's Clang had bogus render styles applied to graphics in status bar
2017-04-02 11:38:59 +03:00
alexey.lysiuk
659f75c84a
Avoid duplication of member in OpenGL software framebuffer class
2017-04-02 10:13:25 +03:00
alexey.lysiuk
63f85f6b07
Fixed compilation of Cocoa backend
...
Use the same member names in framebuffer class for all backends
2017-04-02 10:11:41 +03:00
Rachael Alexanderson
643bdac514
Merge https://github.com/coelckers/gzdoom
2017-04-02 02:34:32 -04:00
Magnus Norddahl
4268090738
- switch OpenGLSWFrameBuffer to use m_Lock instead of LockCount
2017-04-02 00:47:18 +02:00
Magnus Norddahl
4a9dffa70d
- change subsector gbuffer to use a 8x8 block memory layout to avoid having to clip memory reads and writes
2017-04-01 23:21:06 +02:00
Magnus Norddahl
0ed60b8df6
- fix OpenGLSWFrameBuffer::Begin2D
2017-04-01 22:14:04 +02:00
Christoph Oelckers
3f552ea95f
- added loop tag reading to the new streaming music class.
...
This is somewhat brute-force thanks to the surprising lack of good documentation for the Ogg headers. The only other option would have been some rather bloated library for a function that should be 25-30 lines at most.
2017-04-01 21:40:36 +02:00
Christoph Oelckers
dfd3535e02
- added a dedicated player class for streamed music formats (i.e. MP3, Ogg and Flac)
...
The idea is to have more control on the game side instead of dealing with these formats in the backend, which was done for FMod because it already had the decoders implemented.
However, with OpenAL this setup makes no sense and only complicates future extensions that can be better handled at a higher level.
2017-04-01 19:47:12 +02:00
Magnus Norddahl
4a0b3c3bab
- speed up triangle setup slightly
2017-04-01 16:42:24 +02:00
Rachael Alexanderson
2b2297b73e
Merge https://github.com/coelckers/gzdoom
2017-04-01 10:11:52 -04:00
Christoph Oelckers
54764c136d
- changed the 2D draw abort check to use a dedicated variable, that gets set in Begin2D and unset at the end of D_Display.
...
This is really all the extent where 2D draw operations may be allowed. Trying to detect this from other variables is not reliable.
2017-04-01 12:59:58 +02:00
Christoph Oelckers
9dc8933109
- let 'stat think' also print the number of active thinkers.
2017-04-01 12:30:38 +02:00
alexey.lysiuk
36ad485edd
Proper default value for GL framebuffer lock in Cocoa backend
...
No more error when running with +map command line parameter with classic HUD:
> VM execution aborted: Attempt to draw to screen outside a draw function
> Called from BaseStatusBar.DrawImage [Native]
> Called from DoomStatusBar.DrawFullScreenStuff at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 140
> Called from DoomStatusBar.Draw at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 41
2017-04-01 13:16:31 +03:00
Christoph Oelckers
e780cd8297
- seems the wrong version of this got committed...
2017-04-01 12:04:31 +02:00
Christoph Oelckers
41f2f61b94
- minor VM optimization: Precalculate a function's frame size when compiling it instead of doing it each time it gets called.
...
This made up ca. 10% of the 'call' instruction's execution time.
2017-04-01 10:42:47 +02:00
alexey.lysiuk
893607c96c
Fixed crash in decals handling caused by reference to undefined class
...
https://forum.drdteam.org/viewtopic.php?t=7589
2017-04-01 10:36:35 +03:00
alexey.lysiuk
59ae50aecb
Fixed compilation warning reported by GCC/Clang
...
src/gl/textures/gl_texture.cpp:691:25: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
2017-04-01 10:24:05 +03:00
Magnus Norddahl
da6bfe65ff
- only calculate gradients once
2017-04-01 04:38:15 +02:00
Magnus Norddahl
6db89a2ce1
- clean up the triangle setup functions
2017-04-01 03:44:45 +02:00
Rachael Alexanderson
24b6924428
Merge https://github.com/coelckers/gzdoom
2017-03-31 14:58:45 -04:00
alexey.lysiuk
f48af606df
Fixed creation of BaseStatusBar
...
No more access to memory ouside of class instance
Minimized amount of copy-pasted code
https://mantis.zdoom.org/view.php?id=511
2017-03-31 12:53:28 +03:00
Rachael Alexanderson
bf9edec91a
Merge https://github.com/coelckers/gzdoom
2017-03-30 18:04:37 -04:00
Christoph Oelckers
5601364aaf
- fixed some issues with Set/GetClipRect.
2017-03-30 21:12:39 +02:00
Christoph Oelckers
228c57fae3
- fixed: Even SBARINFO needs to call the scripted Init method of the status bar because it initializes some data used by the automap HUD.
2017-03-30 19:00:26 +02:00
Christoph Oelckers
91ac6e30fe
- fixed: The automap tried to access a variable before it was initialized.
...
The fix is not ideal but the way this code is used it cannot be done any better.
2017-03-30 18:51:24 +02:00
Christoph Oelckers
3a1228bf95
- exported the clipping rectangle to scripting and added a statusbar scaling wrapper for it.
...
- fixed: BaseStatusBar.Fill did not pass its flags parameter to the native function.
2017-03-30 12:13:28 +02:00
Christoph Oelckers
a3ef711d1d
- added a special slider type for the scaling options that prints a descriptive text instead of the slider for the special settings.
...
- fixed the adaptive scale calculation in GetUIScale which had the coordinates mixed up.
2017-03-30 11:30:09 +02:00
Rachael Alexanderson
39826753f9
Merge https://github.com/coelckers/gzdoom
2017-03-30 02:11:03 -04:00
Christoph Oelckers
f95c29ad28
cleaned up the scaling options.
...
- all 5 settings affected by uiscale have been changed to have the exact same semantics: -1, if supported means special scaling, this is available for HUD and status bar, 0 means to use uiscale, any larger value is a direct scaling factor.
- scaling is cut off when the factor is larger than screenwidth/320 or screenheight/200 because anything larger will definitely not fit.
- a lot of code has been cleaned up and consolidated. Especially the message code had an incredible amount of redundancy.
- all scaling options have been moved into a submenu. This menu is not complete, though - it still requires a special menu widget to convey the intended information without confusing the user.
2017-03-30 02:16:23 +02:00
Christoph Oelckers
1dcc017daf
- reimplemented the position display, but changed its position a bit upward.
...
- activated the RenderOverlay event, now that it can be called from the correct spot, i.e. right after the top level HUD messages are drawn. The system's status output will still be drawn on top of them.
2017-03-29 23:51:53 +02:00
Christoph Oelckers
bde73fc530
- added automatic brightmaps.
...
Everything in the brightmaps/auto directory will automatically be assigned to the same-named texture.
2017-03-29 23:13:11 +02:00
Christoph Oelckers
7011010ff2
- fixed the drain callback.
...
- changed the effect spawn prevention of the Hexen flame strike weapon and reverted the attempt to fix this in FastProjectile.
This cannot be fixed in the base class, which was doing everything right. It's the flame missile that was doing undefined things by stopping its movement without clearing its missile flag. This cannot work because missiles are given some minimal forced velocity to ensure collision detection and any attempt to address this without clearing the missile flag is doomed to fail.
2017-03-29 22:50:13 +02:00
Christoph Oelckers
3f9ad55432
- allow multiple expressions in 'for' iteration part.
2017-03-29 22:18:52 +02:00
Christoph Oelckers
b38934b532
- fixed declaration of ACS getters for status bar.
...
- fixed some uninitialized variables in font print code.
2017-03-29 21:54:11 +02:00
Christoph Oelckers
01b095c911
- added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
...
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Christoph Oelckers
d36f656caf
- added a callback for when damage is drained from a target.
2017-03-29 20:25:54 +02:00
Christoph Oelckers
356144a537
- fixed: The player menu was not able to set the new name because the security check did not account for the text enter menu being present.
2017-03-29 20:11:58 +02:00
Christoph Oelckers
9d1031f0ba
- fixed ForcedScale handling in SBARINFO.
...
Due to the setup it would miss setting it when changing between HUDs.
2017-03-29 20:01:57 +02:00
Christoph Oelckers
401a1e80e8
- fixes typo in actionspecials.h.
2017-03-29 19:24:56 +02:00
Christoph Oelckers
1d4ab0cc2a
- implemented proper scaling for the status bar itself.
...
This allows using the UI scale or its own value, like all other scaling values.
In addition there is a choice between preserving equal pixel size or aspect ratio because the squashed non-corrected versions tend to look odd, but since proper scaling requires ununiform pixel sizes it is an option.
- changed how status bar sizes are being handled.
This has to recalculate all scaling and positioning factors, which can cause problems if the drawer leaves with some temporary values that do not reflect the status bar as a whole.
Changed it so that the status bar stores the base values and restores them after drawing is complete.
2017-03-29 19:23:40 +02:00
Christoph Oelckers
7ba6860102
- scriptified the automap HUD and made it obey hud_scale instead of always being fully scaled.
2017-03-29 14:20:22 +02:00
Christoph Oelckers
2f06c09681
- fixed map name display on the automap HUD
...
This would cut off overlong names and the handling for status bars with protruding elements was far too simplistic and worse, making assumptions based on game mode.
It now uses a virtual function to query the status bar itself for returning this information so it can be overridden and uses V_BreakLines to split the text if it is wider than the display.
2017-03-29 10:36:16 +02:00
Rachael Alexanderson
9f38b2b107
Merge https://github.com/coelckers/gzdoom
2017-03-28 22:40:40 -04:00
Christoph Oelckers
fabf8451e7
- use Fill to draw Strife's health bars.
2017-03-29 02:24:04 +02:00
Christoph Oelckers
598523a1de
- moved all coordinate adjustment for the status bar mode into one function and use this function in all places where status bar related coordinate adjustments need to be performed, also in SBARINFO.
...
- fixed unscaled status bar placement.
- fixed inventory count display for Doom status bar.
2017-03-29 01:59:03 +02:00
Christoph Oelckers
914c829f79
- added Floor/Ceiling_MoveToValueAndCrush action specials.
2017-03-29 01:25:02 +02:00
Christoph Oelckers
3a569f176d
- added GetLineX/GetLineY ACS functions.
2017-03-29 01:02:29 +02:00
Magnus Norddahl
d160424aea
- added DFrameBuffer::HasBegun2D to allow scripting to test if 2D drawing is active (instead of using IsLocked, which may return false when vid_hw2d is active)
2017-03-29 00:45:53 +02:00
Christoph Oelckers
054d9a5bcc
- allow passing the activator to ScriptCall.
2017-03-29 00:43:12 +02:00
Christoph Oelckers
19e7d60275
- removed DSBarInfo::Scaled because it tended to disagree with StatusBar->Scaled.
2017-03-29 00:35:35 +02:00
Christoph Oelckers
2d1641f0cd
- fixed: Reference types passed as a reference parameter were not properly checked for.
2017-03-29 00:00:25 +02:00
Christoph Oelckers
5e3e4a3bd1
- fixed: The wall spliter for 3D lights did not initialize the resulting colormap's fog density value.
2017-03-28 23:36:26 +02:00
Christoph Oelckers
fa893c082b
- changed the default for hud_scale to 0 (i.e. use uiscale)
...
- allow calling Menu.SetMenu from play code so that in-game menus can be opened.
2017-03-28 22:51:37 +02:00
Rachael Alexanderson
9da596cd9c
Merge https://github.com/coelckers/gzdoom
2017-03-28 16:29:07 -04:00
Christoph Oelckers
6870efe134
- added a GetCVarString ZScript/DECORATE function.
...
- fixed: loading a savegame triggered PlayerEntered events.
2017-03-28 21:37:43 +02:00
nashmuhandes
99d1581c27
Added "DontLightActors" flag for dynamic lights. Actors will not be illuminated by lights that are given this flag.
2017-03-28 21:33:16 +02:00
Christoph Oelckers
bdf761e457
- moved th player resurrection code into a player_t method.
2017-03-28 21:29:14 +02:00
Christoph Oelckers
71fe4a83c9
- fixed: the translucent flat drawer used a bad condition for dynamic light processing which caused a problem with the GL 3.x lighting method.
2017-03-28 21:18:03 +02:00
Christoph Oelckers
cd94d0927a
- fixed a problems with BeginHUD clobbering gST_Y.
...
The code involved is a total mess and needs some cleanup.
2017-03-28 20:49:06 +02:00
Magnus Norddahl
e8ba1156af
- add rect drawers for softpoly's player sprites
2017-03-28 16:46:22 +02:00
alexey.lysiuk
4716b712b1
Fixed compilation issues with isnan()
...
Need to do it in pure C++ way to avoid C99 macro at all costs
Tested with CI targets, on Debian Jessie using GCC 4.9 and on Ubuntu 16.04 using GCC 5.4
2017-03-28 17:10:06 +03:00
Christoph Oelckers
e2e17f575c
- added safeguards to all 2D drawing functions to throw an exception if used outside a valid 2D draw context.
...
This is necessary because the hardware accelerated renderers will hide the problem, but with pure software rendering to a locked hardware surface, like DirectDraw can result in a crash.
Note that ANY mod that gets caught in this did something wrong!
2017-03-28 13:25:17 +02:00
Christoph Oelckers
f3db5f3803
- added a clipping rectangle to DCanvas that can be used independently of DrawTexture calls.
...
Currently this is only being used for draw operations that are not automap related, i.e. DrawLine, DrawPixel and FillSimplePoly are not subjected to it.
2017-03-28 13:06:24 +02:00
Christoph Oelckers
c4c2b440fc
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-28 11:00:18 +02:00
Christoph Oelckers
b9485d4edf
- ported the Hexen status bar to zscript.
...
Note that DrawBar with a background texture does not work yet because the clipping rectangle is not done yet.
2017-03-28 11:00:05 +02:00
Magnus Norddahl
d15def7d41
- remove TriVertex::NumVaryings as this did not help on readability at all
2017-03-28 10:52:19 +02:00
Magnus Norddahl
5adf7463cd
- support render styles on decals
2017-03-27 21:59:43 +02:00
Magnus Norddahl
0537e9c1ba
- implement all styles for sprites in softpoly
2017-03-27 21:03:51 +02:00
Christoph Oelckers
78095460ac
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-27 21:01:47 +02:00
Christoph Oelckers
a6bf93c624
- implemented the Heretic status bar.
2017-03-27 21:01:40 +02:00
alexey.lysiuk
020c34abfa
Added workaround for undefined isnan()
...
All our continuous integration targets have no problems with C99 isnan() macro but on Ubuntu 16.04 compilation fails
It appeared that some implementation of C++ Standard Library may undefine bunch of C macros to avoid conflicts with own declarations
2017-03-27 17:06:21 +03:00
Magnus Norddahl
e865ba60f5
- support particle styles in softpoly
2017-03-27 11:33:16 +02:00
alexey.lysiuk
bed559f763
Fixed compilation with GCC/Clang
...
src/g_statusbar/sbar.h:399:23: error: extra qualification on member 'DrawString'
2017-03-27 11:55:17 +03:00
Magnus Norddahl
ad992d2ffd
- add support for choosing the particle style in the software renderer
2017-03-27 10:12:57 +02:00
alexey.lysiuk
5f44bc4d5f
Fixed crash in line portal setup
...
https://mantis.zdoom.org/view.php?id=488
2017-03-27 10:55:51 +03:00
Christoph Oelckers
0fdd118906
- change statusbar drawers to use the top left of the virtual screen as origin, not the top left of the actual status bar, to bring this in line with SBARINFO.
...
The Strife status bar which was still native code had it differently and that was used as the initial guideline.
2017-03-27 09:52:30 +02:00
Rachael Alexanderson
2338fe7e66
Merge commit 'c8eabe5'
2017-03-26 21:57:23 -04:00
Christoph Oelckers
bc95e5180d
- moved the BarShader textures into the texture manager so that ZScript can use them. ZScript only knows about TextureIDs, but those require the texture to be handled by the texture manager.
2017-03-27 01:55:47 +02:00
Christoph Oelckers
bb04eea996
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-27 01:06:28 +02:00
Christoph Oelckers
a112b29c43
- implemented the inventory bar. This object is a bit special because it requires a lot of parameters, most of which are easily set to defaults. To make handling easier, most are passed through a container object which does some processing up front.
...
- finished work on the Doom status bar. I also took the opportunity to fix the layout of the inventory bar which is a bit broken in SBARINFO.
- tuned the selection rules for deciding what creates the status bar, so that the most recent definition that can be found is chosen.
2017-03-27 01:02:10 +02:00
Christoph Oelckers
e791c957d9
- implemented the regular Doom status bar.
...
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
alexey.lysiuk
c8eabe57ff
Fixed compilation warning reported by GCC/Clang
...
src/v_draw.cpp:503:25: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare]
2017-03-26 22:10:05 +03:00
alexey.lysiuk
e5d4d9a36a
Fixed compilation with GCC/Clang
...
src/swrenderer/line/r_walldraw.cpp:102:13: error: expected unqualified-id before ‘(’ token
2017-03-26 22:10:05 +03:00
Magnus Norddahl
84e94f2a32
- change softpoly psprite drawing to do exactly what the software renderer does
2017-03-26 18:55:23 +02:00
Christoph Oelckers
0cbbd8d4b1
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-26 18:41:44 +02:00
Christoph Oelckers
08b3c38304
- simplified the parameters of the HUD draw functions by moving all booleans into one flags word and ordering them so that the less likely ones to be used can be made optional.
...
- got rid of the image list in the Doom status bar. The cost of the texture lookup is mostly irrelevant here so clearer and shorter code is preferrable.
- moved the box fitting code from DrawTexture into the native function to have all coordinate calculations in one place which is necessary to implement proper alignment default handling. Without higher level functions altering positioning the default can be set to automatic alignment determination, i.e. the value's sign decides where something is placed. Of course for special cases this can be overridden.
- use ANIMDEFS to animate the inventory arrow,
2017-03-26 18:41:24 +02:00
Magnus Norddahl
a12f0862c9
- remove softpoly intersection math class
2017-03-26 17:12:20 +02:00
alexey.lysiuk
28be42675d
Fixed build of SDL backend on macOS
2017-03-26 11:49:23 +03:00
Magnus Norddahl
ffc90f16ab
- Simplify the PolyDrawArgs interface
2017-03-26 10:10:55 +02:00
Magnus Norddahl
7b58eab332
- fix softpoly light visibility bug
2017-03-26 05:28:27 +02:00
Christoph Oelckers
488fface50
- started port of Doom status bar to ZScript.
...
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers
3e67a8bafa
- let hud_scale act like an override to uiscale, just like con_scale does.
...
- better handling of ForceScale for the fullscreen HUD that doesn't mess around with CVARs.
- moved the mug shot into the status bar, because this is global state that needs to be shared between different pieces of code which want to display a mug shot.
- SBARINFO should work off the current status bar settings instead of the ones stored in its script object
2017-03-25 18:32:47 +01:00
Rachael Alexanderson
71ad6c9651
Merge https://github.com/coelckers/gzdoom
2017-03-25 11:19:27 -04:00
alexey.lysiuk
093a05b588
Reset OpenGL 2D drawer state fully on each frame
...
https://mantis.zdoom.org/view.php?id=469
2017-03-25 11:32:39 +02:00
alexey.lysiuk
80f3c1ed81
Mouse input can now be disabled completely in Cocoa backend
2017-03-25 11:04:06 +02:00
Rachael Alexanderson
f5e1502bd7
Merge https://github.com/coelckers/gzdoom
2017-03-25 03:53:25 -04:00
Magnus Norddahl
04057b8b91
- implement the blending modes for palette mode in softpoly
2017-03-25 08:38:27 +01:00
Rachael Alexanderson
c5805ddd6e
- removed another vestigial #define NO_SSE
2017-03-25 01:46:41 -04:00
Rachael Alexanderson
2c3d867946
- fixed invalid variable reference on ARM
2017-03-25 01:40:13 -04:00
Rachael Alexanderson
f1ce0f1136
- Removed redundant #ifdef __arm__ #define NO_SSE from 2.5D drawers
2017-03-25 01:39:09 -04:00
Rachael Alexanderson
2d035a39b4
- fixed: Pushed -DNO_SSE for ARM processors unconditionally. We don't support SSE whatsoever on ARM so all code should always be aware of it.
2017-03-25 01:15:24 -04:00
Magnus Norddahl
af5355c69d
- fix SSE intrinsics being used on arm
2017-03-25 06:14:19 +01:00
Rachael Alexanderson
733cf1acc5
Merge https://github.com/coelckers/gzdoom
2017-03-25 00:26:06 -04:00
Christoph Oelckers
bdb9275f8c
- made the mugshot accessible to ZScript.
...
Note that there is no direct access, all this exposes is a single function to get the current face's texture which then can be drawn using the existing functions.
2017-03-25 01:22:42 +01:00
Christoph Oelckers
2d17594f6f
- converted the Strife status bar to use the new HUD specific draw functions so that it also can benefit from coming changes.
...
Note that the pop screens are special because they are not subject to scaling - they will always be drawn with the current resolutions clean scale. As a result they cannot use the HUD drawers but instead continue to use the low level draw functions directly.
2017-03-25 00:35:19 +01:00
Christoph Oelckers
b17b8d32ad
completely redid the active powerup drawer for the HUD
...
- replaced Inventory.DrawPowerup with a GetPowerupIcon method so that the calling code can handle the drawing and apply its own rules. This was a major design flaw of allowing the inventory items to handle the drawing themselves, because they were unable to adjust to different HUD frontends. Note that any mod that overrides DrawPowerup will not draw any icon that expects to be handled that way!
- the alternative HUD now has its own, separate drawer that obeys the AltHUD's rules, and not the ones of the normal fullscreen HUD.
- the standard drawer has been scriptified as a virtual function.
- Both drawers now handle positioning of the icon inside its assigned box themselves instead of trusting the powerup item to do it correctly.
- DTA_HUDRules and Screen.DrawHUDTexture are to be considered deprecated because both do not integrate into the redesigned HUD code.
2017-03-24 22:58:16 +01:00
Magnus Norddahl
321e2da979
- initialize clipper with the view frustum for better performance
...
- change translucent objects to be pointers for faster sorting
2017-03-24 22:04:07 +01:00
Christoph Oelckers
6760e01a0d
- implemented the status bar's DrawString function and ported the fullscreen HUD part of the Strife status bar to use the new functionality.
2017-03-24 20:09:50 +01:00
Rachael Alexanderson
2063813348
Merge https://github.com/coelckers/gzdoom
2017-03-24 15:06:05 -04:00
Magnus Norddahl
ac518e23bf
- improve triangle setup performance a little bit
2017-03-24 20:00:53 +01:00
Rachael Alexanderson
f6d9d153b1
- fixed: moved blur before and outside of menu dimming code.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
b747b0c3c6
- made gl_menu_blur into a menu option
...
- made bluramount also into a gameinfo option
- negative gl_menu_blur cvar now uses gameinfo option, 0 disables it
- removed gl_menu_blur_enabled since gl_menu_blur==0 does that anyway
- made gl_menu_blur default to -1 to use gameinfo option
- add default gameinfo bluramount options
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
954f21f71d
- changed defaults
...
- moved CVARs to head of file as forward declaration
- FGLRenderer::BlurScene now checks if postprocessing is enabled before executing
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
e49b549364
- added CVARs to control menu blur
...
- made blur effect menu only
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
959fb2577b
- Unfriendly players now spawn at deathmatch starts.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
48e98c66de
- fixed: this should probably be bumped to match GZDoom
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
23141dc38a
- QZDoom-ify
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
ff3d3f13c8
- Implement hostile coop for -FRIENDLY players.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
786c4f01c8
- Monsters no longer search for players who are unfriendly.
2017-03-24 14:59:25 -04:00
Magnus Norddahl
93a6e4bc94
Add an aggressive blur pass for the scene
2017-03-24 14:59:25 -04:00
Magnus Norddahl
bc8a4474d5
- optimize PolyTriangleDrawer::clipedge
...
- remove slow calls to roundf in the triangle setup functions
2017-03-24 13:04:02 +01:00
alexey.lysiuk
c1e425920e
Fixed compilation with GCC and Clang
2017-03-24 13:02:00 +02:00
Magnus Norddahl
f178646e1a
- improve sector portals rendering in softpoly
...
- fix a softpoly memory leak and change vertex list to be allocated using the frame allocator
2017-03-24 07:28:28 +01:00
Christoph Oelckers
b5720ee1e7
- initial work on DrawString method.
2017-03-24 02:38:44 +01:00
Christoph Oelckers
617934e1c2
- added a few exports for game strings which the SBARINFO string drawer can access and which should also be available by ZScript.
...
- merged BaseStatusBar and CustomStatusBar back together.
Since the low level draw functions are better done in native code for both performance and debuggability the split has become pointless.
2017-03-24 02:12:36 +01:00
Magnus Norddahl
c21037fb03
- fix sky sector portals
2017-03-24 02:11:24 +01:00
Christoph Oelckers
a3ee3c287e
- major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
...
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers
74a2d58a52
- made the coordinate check fatal. If this happens the loaded map will be broken, there is no point trying to recover.
2017-03-23 10:19:07 +01:00
Christoph Oelckers
f31fb64750
- added range checks to UDMF coordinate fields.
2017-03-23 10:09:54 +01:00
Magnus Norddahl
e12f48699e
- fix the culling bugs in softpoly by switching to a pseudo-angle clipper
2017-03-23 03:41:44 +01:00
Christoph Oelckers
31ea33bfc4
- rewrote the condition nodes from SBARINFO in ZScript. This compiles but hasn't been tested yet.
2017-03-23 00:25:26 +01:00
Christoph Oelckers
9bd75bcac5
- some conceptual work on statusbar stuff. This looks like a viable approach to build something that can replace SBARINFO.
2017-03-22 19:56:21 +01:00
Christoph Oelckers
f0e4f54c80
- one more bit of scriptification.
2017-03-22 18:38:09 +01:00
Christoph Oelckers
1423d5f42a
- scriptified the SBARINFO wrapper.
...
This serves no purpose in itself but it removes a native side class from the status bar class hierarchy which allows for better editing options later.
2017-03-22 17:29:13 +01:00
Christoph Oelckers
04c2565d7f
- added Get/SetValue functions to PBool.
2017-03-22 15:44:54 +01:00
Christoph Oelckers
62fbb00bc9
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-22 14:59:35 +01:00
Christoph Oelckers
4c51a4fc59
- reimplemented the health bar for Strife's status bar.
2017-03-22 14:59:12 +01:00
Rachael Alexanderson
09c3060728
- fixed: skybug on ARM was caused by undefined conversion from float to unsigned int. adding intermediary signed int cast fixes this problem.
2017-03-22 05:51:12 -04:00
Magnus Norddahl
b2e61412da
- add missing sprite blends to the soft poly drawer
2017-03-22 09:11:21 +01:00
Christoph Oelckers
4417afd548
- changed VMValue to handle strings by reference.
...
This makes VMValue a real POD type with no hacky overloads and eliminates a lot of destructor code in all places that call a VM function. Due to the way this had to be handled, none of these destructors could be skipped because any value could have been a string.
This required some minor changes in functions that passed a temporary FString into the VM to ensure that the temporary object lives long enough to be handled. The code generator had already been changed to deal with this in a previous commit.
This is easily offset by the code savings and reduced maintenance needs elsewhere.
2017-03-22 01:44:56 +01:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Rachael Alexanderson
4110f34139
- fixed: non-SSE2 drawers still had SSE2 intrinsics for light calculations, preventing successful compilation on ARM.
2017-03-21 17:51:09 -04:00
Magnus Norddahl
fc3cb01029
- only ray test sprites on lights that are shadowmapped
2017-03-21 14:32:48 +01:00
Magnus Norddahl
25a30f8b7e
- remove vectorcall from the 8 bit drawer
2017-03-21 14:28:31 +01:00
Magnus Norddahl
d437b342db
- replaced the softpoly drawers with templated versions
2017-03-21 14:12:19 +01:00
alexey.lysiuk
7aa6a6b0b3
Restored explicit assignment operators for VMValue
...
Unfortunately strings require special handling and so all operators must be available
This partly solves https://mantis.zdoom.org/view.php?id=453 (and https://mantis.zdoom.org/view.php?id=459 too)
2017-03-21 12:14:50 +02:00
Magnus Norddahl
11e5759913
- detached the poly renderer from the software renderer
2017-03-20 08:28:16 +01:00
Christoph Oelckers
f45371e231
- reverted the counter for the vertex angle cache to a simple incrementing global variable.
...
Using I_MSTime is not precise enough, because some camera textures can be done quicker. It was pointless anyway trying to make this multithreading-safe, the entire caching idea here makes no sense if two clippers can simultaneously work on the same level data without changing the memory organization and rendering it ineffective.
2017-03-20 01:21:33 +01:00
Christoph Oelckers
1031481167
- added some checks to exclude dynamic lights from being subjected to shadowmapping if they do not touch any one-sided lines from the back side. This condition is a requirement for a 1D shadowmap to even have an effect.
2017-03-20 00:34:19 +01:00
Christoph Oelckers
0721aef218
- fixed: FxAssign used the wrong value type for emitting the store operation.
...
It used the expression's value type, but needs to use the variable's, which can be different when the assignment is synthesized from a builtin function.
2017-03-19 21:36:18 +01:00
Christoph Oelckers
403c5693a9
- cleaned out a large part of unused methods from VMValue.
...
- keep string registers which are being used as function parameters allocated until after the function call returns. This is for allowing to pass strings by reference which would avoid some costly constructor/destructor loops in the call instruction.
2017-03-19 21:25:30 +01:00
Christoph Oelckers
0a11e38967
- let SBARINFO always read ST_X and ST_Y from the wrapper because it just too liberally changes these values in unpredictable ways.
2017-03-19 19:49:52 +01:00
Christoph Oelckers
6b95371813
- made a few adjustments to the clean factor calculation so that on large screens the smaller factor gets preferred.
...
Without such tweaking the menu scale tends to get a bit too large on some screen sizes.
2017-03-19 18:38:16 +01:00
Christoph Oelckers
0cfdd699ad
- exported the base thinker class for sector lighting effects to ZScript.
2017-03-19 13:15:38 +01:00
Christoph Oelckers
d74b6a6896
- typo...
2017-03-19 12:41:00 +01:00
Christoph Oelckers
fd9dc9e3f4
- fixed handling for OkayToSwitchTarget.
2017-03-19 12:07:02 +01:00
Christoph Oelckers
ac95cba848
- fixed generic class type properties to handle "" and "none" as 'no class'.
2017-03-19 12:02:17 +01:00
Christoph Oelckers
2c789a2d75
- looks like the last commit missed a few files.
2017-03-19 11:35:24 +01:00
Christoph Oelckers
845c43876c
- moved all trivial actor properties into the scripts as 'property' declarations.
2017-03-19 11:30:28 +01:00
Rachael Alexanderson
4784aae098
- backport cl_oldfreelooklimit from Skulltag - due to the advent of capped skies, there really was no reason to keep the upper limit so low.
2017-03-19 00:36:52 -04:00
Robert Cochran
077de36139
Fix method member being a qualified name
...
This breaks the Linux build with GCC. This is non-standard behavior, but
apparently Visual Studio allows it.
2017-03-18 22:44:21 +01:00
Christoph Oelckers
2c7ceaf96a
- fixed the check for one-subsector BSPs.
2017-03-18 22:44:03 +01:00
Christoph Oelckers
3cced6c7cc
- fixed the early-outs for empty functions in the VM caller.
...
OP_RET should not be used as an absolute number here.
2017-03-18 21:31:43 +01:00
Christoph Oelckers
622b4a6457
- switched over to the scripted intermission screens.
2017-03-18 21:19:32 +01:00
Christoph Oelckers
9ef88ea327
- need to be careful with ctype functions - the way they are written they will do bad things with non-ASCII characters if signed chars are fed to them.
2017-03-18 19:37:36 +01:00
Christoph Oelckers
a2f2be17ef
- status screen fully scriptified but not active yet.
2017-03-18 19:35:26 +01:00
alexey.lysiuk
9a10a0f136
Added handling of any space characters in BEX par times
...
Back to Saturn X E1: Get Out Of My Stations (https://www.doomworld.com/idgames/levels/doom2/megawads/btsx_e1 ) uses tabs instead of spaces and bunch of 'Need data after par' warnings were printed during loading
PrBoom supports arbitrary space characters too
2017-03-18 18:28:19 +02:00
Christoph Oelckers
745b96beec
- made the status screen a class and scriptified a few more functions.
2017-03-18 15:45:36 +01:00
Christoph Oelckers
74e9d9db1a
- fixed: The evaluation of multi-string ZScript properties did not work correctly.
2017-03-18 15:45:36 +01:00
alexey.lysiuk
cb5ddeff25
Fixed compilation warnings reported by Clang
...
src/gl/scene/gl_clipper.h:150:23: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
src/gl/dynlights/gl_aabbtree.cpp:137:24: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:137:34: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:137:44: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:30: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:54: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:142:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:143:3: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:144:3: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:167:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_shadowmap.cpp:163:31: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/p_saveg.cpp:367:16: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
src/p_saveg.cpp:402:60: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
src/p_setup.cpp:1553:39: warning: format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'int' [-Wformat]
src/scripting/zscript/zcc_compile.cpp:293:74: warning: field 'AST' will be initialized after field 'mVersion' [-Wreorder]
src/swrenderer/drawers/r_thread.cpp:113:21: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-03-18 15:13:02 +02:00
alexey.lysiuk
0130fc27cc
Fixed compilation with GCC/Clang
...
src/scripting/backend/codegen.cpp:317:35: error: cannot initialize return object of type 'FxExpression *' with an rvalue of type 'bool'
2017-03-18 14:31:15 +02:00
Christoph Oelckers
b416322032
- converted FInterBackground into a class so that the scripts can use it.
...
- fixed some issues with default value matching in savegames.
2017-03-18 13:25:22 +01:00
Christoph Oelckers
1e9ef2b1df
- started scriptifying the level intermission screen. This compiles but is not active yet.
...
- allow treatment as one-character string constants as character constants. This became necessary because name constants already use single quotes and are much harder to repurpose due to a higher degree of ambiguity.
- fixed: protected methods in structs were not usable.
2017-03-18 12:18:15 +01:00
alexey.lysiuk
ce3c397ec7
Fixed builtin type names for -dumpast command line option
2017-03-18 13:11:13 +02:00
alexey.lysiuk
4557f751c8
Fixed sight check after blockmap refactoring
...
https://mantis.zdoom.org/view.php?id=446
2017-03-18 12:44:26 +02:00
Christoph Oelckers
f3ae144525
- removed some unused variables in wi_stuff.cpp.
2017-03-17 23:53:51 +01:00
Christoph Oelckers
d423ad0d18
- moved CheckRealHeight from wi_stuff.cpp to texture code.
2017-03-17 23:08:22 +01:00
Christoph Oelckers
c4f6a54753
- fixed reject check in particle code.
2017-03-17 21:54:03 +01:00
Christoph Oelckers
c9296ead57
- moved the skybox texture files to the main textures directory.
2017-03-17 21:12:09 +01:00
Christoph Oelckers
fee18a6971
- fixed the attenuation check in gl_GetLight.
2017-03-17 20:16:49 +01:00
Christoph Oelckers
7d8d69d01b
- fixed: The clipper for the main scene may not be initialized before the camera textures have been drawn.
...
It looks like the memory management at use here is not capable of maintaining multiple instances simultaneously and the camera textures create another scene drawer so the initialization of the main scene drawer has to be delayed until after the camera textures are done.
2017-03-17 19:28:47 +01:00
alexey.lysiuk
3f7160183d
Fixed compilation with GCC/Clang
...
src/p_blockmap.h:76:7: error: extra qualification ‘FBlockmap::’ on member ‘VerifyBlockMap’
2017-03-17 17:42:28 +02:00
Christoph Oelckers
d506b2e6a1
- fixed code generation bug with bad class names in DECORATE.
...
- print attenuation info with 'listlights' CCMD.
2017-03-17 16:00:04 +01:00
Christoph Oelckers
33d36157c8
- moved the blockmap into a substructure of FLevelLocals.
...
This part can certainly improved a lot but the most important thing, grouping all those global variables into one place, is done.
2017-03-17 14:24:21 +01:00
Christoph Oelckers
f864a09faa
- moved more varialbles into FLevelLocals.
2017-03-17 12:49:43 +01:00
Christoph Oelckers
ea1d6634f7
- moved the Zones array into FLevelLocals.
...
- replaced TStaticArray with regular TArrays.
They had incomplete implementations preventing proper cleanup of the level loading code. It makes more sense to add the missing methods to the regular TArray and use that.
This also makes some changes to how the game nodes are used to avoid creating a copy: If the head node's pointer is stored in a separate variable, no code needs to check which of the two arrays gets used.
2017-03-17 12:11:37 +01:00
alexey.lysiuk
c1b774e809
Fixed compilation with GCC/Clang
...
src/p_glnodes.cpp:670:3: error: cannot jump from this goto statement to its label
src/p_glnodes.cpp:682:4: error: cannot jump from this goto statement to its label
2017-03-17 12:34:05 +02:00
Christoph Oelckers
309d086a15
- GCC complained about this part.
2017-03-17 10:16:04 +01:00
Christoph Oelckers
39b329e3f7
- this was accidentally left in.
2017-03-17 10:12:47 +01:00
Magnus Norddahl
fc0f2292ab
- add non-sse version of the sprite drawers
...
- fix some typos
2017-03-17 08:44:33 +01:00
Magnus Norddahl
1435832b09
- added non-sse span drawers
2017-03-17 07:36:02 +01:00
Magnus Norddahl
5644b2c0fd
Create non-sse version of the wall drawers
2017-03-17 06:58:36 +01:00
Magnus Norddahl
a6e47b571f
- change _mm_load_ss to _mm_set_ss just in case compilers are really dumb
2017-03-17 06:19:26 +01:00
Christoph Oelckers
fea4079b7c
- moved nodes into FLevelLocals.
2017-03-17 01:42:37 +01:00
Christoph Oelckers
f818d25542
- last commit deleted a small piece of code.
2017-03-17 00:31:15 +01:00
Christoph Oelckers
f201dab534
- moved the subsectors into FLevelLocals.
2017-03-17 00:22:52 +01:00
Christoph Oelckers
59b684bdbc
- moved the segs array into FLevelLocals.
2017-03-16 21:34:04 +01:00
Christoph Oelckers
2b2c986bd0
- cleanup of GL renderer interface and improper header use in software renderer.
2017-03-16 21:34:03 +01:00
Magnus Norddahl
1f109a5deb
- fix wrong particle Y offset
2017-03-16 19:15:42 +01:00
Rachael Alexanderson
55b95e68db
- Restored a file that apparently worked fine back at a certain commit ( 0176c29
).
2017-03-16 13:55:10 -04:00
Magnus Norddahl
dbea29e02c
- added missing memory barrier
2017-03-16 17:58:41 +01:00
Magnus Norddahl
f1b03b48e9
- add thread safety to GetSpecialLights
2017-03-16 17:53:12 +01:00
Christoph Oelckers
b529b1e3a7
- removed several unneeded GL headers from the software renderer's sources.
...
- consolidated the code to calculate a sprite's display angle for all 3 renderers.
As it turned out, they all differed in their feature support because they had always been updated independently by different people.
2017-03-16 13:49:34 +01:00
Christoph Oelckers
005e6871f9
- increased the snd_channels default and minimum.
...
The values were still 8 and 32 respectively which applied to hardware from last decade, but for modern mods these are simply too low. New values are 64 as minimum and 128 as default.
- added script access to a sector's colormap and specialcolors fields. (Writing only through dedicated functions because these fields are render state which may need to trigger some form of refresh if the renderer changes.)
2017-03-16 10:38:56 +01:00
alexey.lysiuk
889a2ae6aa
Fixed compilation with GCC/Clang
2017-03-16 11:13:02 +02:00
Christoph Oelckers
3aa7687d91
- made 'nocoloredspritelighting' a global option and also implemented it in the software renderer.
2017-03-16 00:56:03 +01:00
Christoph Oelckers
91da8aecdb
- fixed fog init for SW Truecolor.
2017-03-15 23:38:12 +01:00
Christoph Oelckers
76d3ae5ba2
made the sector's color_* properties work in the software renderer.
...
With no 3D floors this appears to be ok, but there are so many places where colormaps are being set in the software renderer that I cannot guarantee that I got all of them correct. This will need some testing.
2017-03-15 23:24:53 +01:00
Christoph Oelckers
921bc763fb
- separated the software-renderer-specific parts of colormap processing from the common parts.
...
- moved testcolor and test fades into SWRenderer files.
These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
cd015f9340
- make the colormap comparison against NormalLight inline because this is by far the most frequent case and any cycle being saved here counts.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
9a24771a7d
- refactored FDynamicColormap out of sector_t.
...
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +01:00
Rachael Alexanderson
a2fc2fb707
- Add new drawer: AddClampShadedSprite
...
- fixed: AddShaded did not have a drawer associated with it in the software renderer - used new drawer for this purpose.
2017-03-15 14:40:22 -04:00
Christoph Oelckers
d0c77d7264
- added a GetRenderStyle function to Actor, so that the internal render style can be retrieved in a format suitable for scripting.
2017-03-15 10:36:41 +01:00
Magnus Norddahl
fea2361815
- fix broken voxel palette colors when using the game palette
2017-03-15 04:33:01 +01:00
Magnus Norddahl
225ce82a5a
- turned r_scene_multithreaded back off as zdcmp2 revealed some problems
2017-03-15 04:01:28 +01:00
Magnus Norddahl
366d1637ce
- enable r_scene_multithreaded
2017-03-15 03:01:43 +01:00
Magnus Norddahl
80f9c81e36
- move PrepareTexture out of the inner drawer loops
2017-03-15 02:59:33 +01:00
Christoph Oelckers
64bdc8c495
- fixed some incomplete checks for static arrays.
...
- made AActor::OkaytoSwitchTarget scripted virtual.
2017-03-15 01:39:59 +01:00
Christoph Oelckers
d283beb063
- implemented static constant arrays in class scope.
2017-03-14 23:55:30 +01:00
Magnus Norddahl
93908bc2ef
- fix crash if a worker thread is the first thread to queue drawer commands
2017-03-14 23:47:41 +01:00
Magnus Norddahl
3838ec3edc
- allow drawer queues to run immediately to improve r_scene_multithreaded performance
...
- removed unused pass ranges in DrawerThread
2017-03-14 23:03:14 +01:00
Christoph Oelckers
6926875b21
- allow parsing of static constant arrays in class scope.
...
This is only the parsing part, the arrays are not yet getting evaluated.
This required quite a hacky workaround because the gramma couldn't be made to accept the rule. The scanner will check if a 'static' token is immediately followed by a 'const' token and will combine both to a new 'staticconst' token that does not create conflicts with other rules.
2017-03-14 20:22:37 +01:00
Christoph Oelckers
539af96b8e
- fixed variable size mismatch and some warnings for 32 bit builds.
2017-03-14 18:48:51 +01:00
Christoph Oelckers
d86bd470e5
- moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code.
2017-03-14 18:31:11 +01:00
alexey.lysiuk
e1cd034698
Fixed compilation with GCC/Clang
2017-03-14 18:24:34 +02:00
Christoph Oelckers
3c6e9f361c
- fixed typo in fog boundary check.
2017-03-14 16:13:00 +01:00
alexey.lysiuk
6b8ea7ead3
Fixed comparison of class names for functions and fields
...
https://mantis.zdoom.org/view.php?id=426
2017-03-14 15:50:05 +01:00
Christoph Oelckers
44a087554f
- moved the OpenGL fog properties to FLevelLocals to simplify their handling.
...
- added access to the glow properties for ZSCript and ACS.
2017-03-14 13:54:24 +01:00
Christoph Oelckers
72ecaba50a
- fixed: When vr_quadbuffering is on and context creation fails, first retry without it before falling back on the compatibility handler.
2017-03-14 13:50:33 +01:00
Christoph Oelckers
0ebe98d1e0
- added support for reading JASC palette files. I hope it's correct, considering I have no such files to test. The format should be simple enough, though.
2017-03-14 12:16:42 +01:00
Christoph Oelckers
f70d0a6ced
- added a setinv cheat CCMD.
2017-03-14 11:44:21 +01:00
Christoph Oelckers
dd8963142f
- fixed: P_RailAttack must send DMG_PLAYERATTACK if the attack originates from a player.
2017-03-14 11:13:52 +01:00
Christoph Oelckers
6db355a947
- added a callback to menu items for when a new menu gets created.
...
- added a StartSlideshow ACS and ZScript command and extended the functionality to specify the slideshow's name when starting it.
This is for triggering any kind of intermission definition in the middle of a level - keep in mind that this may not be set up to loop!
2017-03-14 10:41:13 +01:00
Christoph Oelckers
fbcf1b2c45
- restored a line of accidentally deleted code in the animated door thinker.
2017-03-14 10:08:43 +01:00
Christoph Oelckers
303ccb3ecc
- this is past version 2.4
2017-03-13 21:24:30 +01:00
Christoph Oelckers
d1ce5e37fc
- fixed another error in DispatchScriptProperty. That AST's data organization is really messed up... :(
2017-03-13 21:22:11 +01:00
Christoph Oelckers
5141fee8c0
- reverted the change of position where polyobjects get linked to the subsectors.
2017-03-13 21:17:25 +01:00
alexey.lysiuk
3a039b1e44
Fixed compilation error reported by GCC
2017-03-13 22:05:55 +02:00
Christoph Oelckers
6037ecb6a1
- fixed: Getting the offset to the 'Size' field for static arrays should use a fixed offset, not the size of the defining variable, which, depending on where things are defined, can be different.
2017-03-13 20:27:46 +01:00
Christoph Oelckers
cc60b005a1
- fixed processing of parameter-less ZScript properties.
2017-03-13 19:57:20 +01:00
Magnus Norddahl
a08f35fe3b
Fix missing player sprites in some situations when r_scene_multithreaded is on
2017-03-13 19:19:46 +01:00
Magnus Norddahl
22d3599ea1
Fix warp texture crash in software renderer true color mode
2017-03-13 18:02:44 +01:00
Magnus Norddahl
a408ea312f
Remove if statement that was always false
2017-03-13 17:54:05 +01:00
Christoph Oelckers
cd392e50e9
- added a dummy struct named '_' to define global variables. This can only be used internally.
...
This method was chosen because it avoids adding variable declarations to the global namespace which would have required a lot more work while polluting the grammar.
This way the global variables can be handled by a small bit of special coding in the struct generator.
2017-03-13 14:42:14 +01:00
Christoph Oelckers
feb680a4eb
- Removed the RSQRTSS code from GLSeg::Normal.
...
If we have to write compiler specific code for micro-optimizations I am out.
The Posix compatible version nullified most the advantage on MSVC by writing out the XMM register to memory and then reading back the float.
That's not worth the hassle for an optimization that brings a few microseconds at best.
2017-03-13 13:17:15 +01:00
Christoph Oelckers
5fd86cf98c
- added some syntactic help to the ZScript parser to allow defining the arrays with native structs on the script side instead of having to define them internally.
2017-03-13 12:51:09 +01:00
alexey.lysiuk
fc8b697e33
Fixed compilation of POSIX targets
...
TODO: Need better way to detect SSE support
2017-03-13 12:51:06 +02:00
Christoph Oelckers
822cda652b
- fixed: A_FireProjectile was still using the inverted pitch from A_FireCustomMissile it was supposed to correct.
2017-03-13 10:03:42 +01:00
Christoph Oelckers
1fccec32d6
- add limits.h include to vectors.h for FLT_EPSILON.
2017-03-13 09:23:57 +01:00
Christoph Oelckers
60fd79ce23
- some menu reorganization:
...
* dynamic lights also work in the true color software renderer and have been moved out of the OpenGL menu.
* created a separate software renderer menu and moved all relevant options there.
* delete non-applicable options when running in legacy mode.
* moved the OpenGL preferences menu one level up to eliminate a two-entry GL top level menu.
2017-03-13 01:17:46 +01:00
Christoph Oelckers
f9bb64a5f3
- fixed: MIDIStreamer::Update did not check if the device was still valid.
...
Stopping a song can delete device while the streamer is still valid.
2017-03-13 00:38:59 +01:00
Christoph Oelckers
439e4f9f94
Merge remote-tracking branch 'remotes/origin/3.0_work'
2017-03-13 00:02:16 +01:00
Christoph Oelckers
4965cdfd9a
- removed some unused global variables.
2017-03-12 23:56:17 +01:00
Christoph Oelckers
d72623b9b5
- eliminated global in_area variable.
...
Removing this made me realize that calling the renderers' FakeFlat functions from the automap is inherently unsafe with the recent refactorings because there is absolutely no guarantee that the data may actually still be defined when the automap is being drawn.
So the best approach here is to give the automap its own FakeFlat function that runs independently of render data and assumptions of data preservation. This one can also be a lot simpler because it only needs the floor, not the ceiling info.
2017-03-12 23:13:07 +01:00
Magnus Norddahl
a663f71a9f
- Added thread safety to texture loading in the software renderer
2017-03-12 22:53:20 +01:00
Christoph Oelckers
4c61048278
- moved gl_fixedcolormap into GLSceneDrawer.
...
This means that one of the most extensively used global variables is gone.
2017-03-12 21:57:39 +01:00
Magnus Norddahl
00f6ed45a2
Make LightVisibility thread local
2017-03-12 20:40:00 +01:00
Christoph Oelckers
61c91f05fc
Merge branch '3.0_work'
...
# Conflicts:
# src/gl/scene/gl_portal.cpp
# src/r_plane.cpp
2017-03-12 20:31:34 +01:00
ZZYZX
0176c29ec2
Will not emit OP_SCOPE if self type can be checked at compile time.
2017-03-12 20:27:38 +01:00
ZZYZX
91e83bf3c6
Fixed DECORATE scope for duplicates
2017-03-12 20:27:38 +01:00
ZZYZX
bd889cc8f1
Fixed various virtualscope oddities; set scope for DECORATE classes to play.
2017-03-12 20:27:38 +01:00
Christoph Oelckers
438b983ab1
- inlined the 4 remaining short functions of the Plane class and removed gl_geometric.cpp.
...
# Conflicts:
# src/CMakeLists.txt
# Conflicts:
# src/CMakeLists.txt
2017-03-12 20:11:57 +01:00
Christoph Oelckers
b52d1c3d50
- some cleanup.
2017-03-12 20:04:46 +01:00
Christoph Oelckers
4cd0d3d454
- removed the Vector class in the GL renderer and replaced all its uses with FVector3.
...
- optimized the math to get a plane equation from a linedef. The original code used a generic algorithm that knew nothing about the fact that Doom walls are always perfectly vertical. With this knowledge the plane calculation can be reduced to a lot less code because retrieving the normal is trivial in this special case.
- use the SSE2 rsqrtss instruction to calculate a wall's length, because this is by far the most frequent use of square roots in the GL renderer. So far this is only active on x64, it may be activated on 32 bit later as well, but only after it has been decided if 32 bit builds should be x87 or SSE2.
# Conflicts:
# src/gl/dynlights/gl_dynlight.cpp
# Conflicts:
# src/g_shared/a_dynlightdata.cpp
2017-03-12 19:59:45 +01:00
Christoph Oelckers
ef3421eee5
- moved dynamic lights out of the GL code into the common game code.
...
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Magnus Norddahl
6788b19e89
- stop using PORTSF_INSKYBOX flag in software renderer as it is not thread safe
2017-03-12 19:43:40 +01:00
Magnus Norddahl
3113db798d
Debug build compile fix
2017-03-12 19:10:52 +01:00
Magnus Norddahl
5bcdc7d889
Fix compile error on Linux
2017-03-12 18:56:48 +01:00
Magnus Norddahl
5fdbbc4f9e
Remove usage of r_viewpoint and r_viewwindow globals from software renderer and poly renderer
2017-03-12 18:54:39 +01:00
alexey.lysiuk
23130678a1
Fixed compilation errors and warnings in Mac PowerPC target
...
Tested with GCC 5.2 on 10.4 (32-bit only) and Clang from Xcode 8.2 on 10.12 (64-bit only)
2017-03-12 16:27:02 +02:00
alexey.lysiuk
b398c7458c
Do not draw crosshair on automap with alternative HUD enabled
2017-03-12 08:57:25 -04:00
Christoph Oelckers
e7330cfa03
- all main functions in gl_scene.cpp now belong to the new GLSceneDrawer class.
2017-03-12 12:51:26 +01:00
Christoph Oelckers
e4d7d9de8b
- moved several more functions from FGLRenderer to GLSceneDrawer.
2017-03-12 12:03:54 +01:00
Christoph Oelckers
90c42519b7
- fixed changed variable inside an assert that apparently got overlooked because it got only compiled as release.
2017-03-12 01:59:41 +01:00
Christoph Oelckers
64183fc3cd
- moved GL texture precaching to gl_texture.cpp.
2017-03-12 01:49:44 +01:00
Christoph Oelckers
9b33d1dd18
Merge branch 'scene_multithreaded' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/gl/scene/gl_clipper.cpp
# src/gl/scene/gl_portal.cpp
# src/gl/scene/gl_scene.cpp
# src/swrenderer/scene/r_scene.cpp
2017-03-12 00:38:55 +01:00
Rachael Alexanderson
0f61197bae
- Forbade return scripts from triggering on save load.
2017-03-12 00:22:59 +01:00
Magnus Norddahl
c79051126e
Fix ssao being applied to skybox portals
2017-03-12 00:22:58 +01:00
Christoph Oelckers
0aa0db637c
- started adding a SceneDrawer class to the OpenGL renderer.
...
This will eventually hold all the global variables for the rendering.
2017-03-12 00:19:20 +01:00
Rachael Alexanderson
bfc8c614a0
- Forbade return scripts from triggering on save load.
2017-03-11 17:39:57 -05:00
Magnus Norddahl
0c9014b984
- move r_utility globals into r_viewpoint and r_viewwindow
...
- change r_utility functions to only work on FRenderViewpoint and FViewWindow
2017-03-11 23:28:07 +01:00
Christoph Oelckers
8e2ebe15fe
- removed several unused variables from OpenGLFrameBuffer.
...
- removed the LastCamera logic in RenderView. This code predates the first GZDoom release and apparently was only added because back then R_SetupFrame was not fully compatible with the hardware renderer. Today it is not needed anymore.
2017-03-11 21:10:21 +01:00
Christoph Oelckers
9e70771da3
- Added a check to allow shader storage buffers on GL 4.3 Intel drivers. It doesn't work if GLSL version is set to 4.0 and the feature activated via extension.
2017-03-11 20:14:18 +01:00
Christoph Oelckers
9eae422dab
Merge branch 'shadowmaps' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/CMakeLists.txt
# wadsrc/static/language.enu
2017-03-11 19:55:43 +01:00
Christoph Oelckers
28aba3469d
- missed 2 includes
2017-03-11 19:18:31 +01:00
Christoph Oelckers
921abc404d
- fixed GCC warnings and errors
...
(Is there anyway to tone down GCC's warning level? It outputs too many false positives for potentially uninitialized variables in which the genuine errors get drowned.)
2017-03-11 19:02:35 +01:00
Magnus Norddahl
77a388e908
Fix default palette for voxel BGRA slab data and support translated 8-bit slab data in true color mode
2017-03-11 18:31:53 +01:00
Christoph Oelckers
756e6432c0
- missed a typo.
2017-03-11 18:26:56 +01:00
Christoph Oelckers
7d6cd2ac83
- fixed some issues with the AudioToolboxMIDIDevice interface that got broken by yesterday's changes.
2017-03-11 18:17:08 +01:00
Magnus Norddahl
38ad6ce6b7
Fix ssao being applied to skybox portals
2017-03-11 17:20:06 +01:00
Rachael Alexanderson
d868f79413
- fixed: Froze on startup on Linux.
2017-03-11 11:04:37 -05:00
Rachael Alexanderson
81291e6892
- fixed: Clang on Linux compile
2017-03-11 11:01:30 -05:00
Christoph Oelckers
355bbf4829
- removed debug output from recent translation additions.
2017-03-11 14:58:59 +02:00
alexey.lysiuk
b8ba2d20e5
Do not draw crosshair on automap with alternative HUD enabled
2017-03-11 14:58:33 +02:00
Christoph Oelckers
72da1fed7e
- removed many 'extern "C"' declarations, now that assembly is no longer a concern.
...
- some concepts about building a RenderViewpoint struct. No actual work yet.
2017-03-11 11:31:09 +01:00
Christoph Oelckers
56986ba843
- removed debug output from recent translation additions.
2017-03-11 09:56:05 +01:00
Christoph Oelckers
daacaa961e
- removed Windows includes from two more files.
2017-03-10 23:30:30 +01:00
Christoph Oelckers
5eb9587135
- moved the various music format files into their own directory.
2017-03-10 22:26:02 +01:00
Christoph Oelckers
95b181e618
-added missing file.
2017-03-10 22:19:36 +01:00
Magnus Norddahl
b407ea2164
Change gl_light_shadowmap to default to being off
2017-03-10 22:12:13 +01:00
Magnus Norddahl
59ec97d2d5
Fix shadow map acne and the attenuate flag
2017-03-10 22:08:55 +01:00
Christoph Oelckers
5cc525cd54
- renamed Timidity++ device source file for consistency.
2017-03-10 21:34:42 +01:00
Christoph Oelckers
c8bfef039a
- removed dependency on windows.h for music_fluidsynth_mididevice.cpp. It just accesses a single function from Windows so let's manually define this so that this file can use precompiled headers.
...
- enable precompiled headers for all non-system-specific MIDI devices.
- moved the native Windows and Mac MIDI devices into their respective sections in the project file so that they won't get compiled on the other ones.
2017-03-10 21:18:15 +01:00
Christoph Oelckers
0b645dc42d
- reorganized sound related code.
2017-03-10 20:53:03 +01:00
Christoph Oelckers
343db41b63
- changed the #defines in ddstexture.cpp into an enum
...
(because #defines suck...)
2017-03-10 20:08:39 +01:00
Christoph Oelckers
fec958cc0a
- finally managed to get rid of the DWORD type.
...
This one was particularly nasty because Windows also defines a DWORD, but in Windows it is an unsigned long, not an unsigned int so changing types caused type conflicts and not all could be removed.
Those referring to the Windows type have to be kept, fortunately they are mostly in the Win32 directory, with a handful of exceptions elsewhere.
2017-03-10 19:46:22 +01:00
Christoph Oelckers
2b0e9650bb
- forgot to add the new header.
2017-03-10 19:11:30 +01:00
Magnus Norddahl
b660493051
Add menu option for disabling shadow maps and detecting if storage buffers are available or not
2017-03-10 19:10:40 +01:00
Christoph Oelckers
5374eed06d
- cleaned up the interdependencies between the MIDIStreamer and the WinMIDIDevice classes.
...
A major part of this device's implementation details about how to handle the callback were not encapsulated by the device class at all, they were #ifdef'd into the streamer class.
This puts everything into the device class which now exposes a clean interface to the rest of the game with no special handling aside from calling two additional virtual functions that are empty for the other devices
2017-03-10 19:08:37 +01:00
Christoph Oelckers
8d6fe24945
cleanup of MIDI code dependencies
...
* make the critical section local to the respective platform instead of polluting everything with system specific symbols.
* moved system specific class declarations into the source file instead of having them in the global header.
This commit temporarily disables the Windows system device because it cannot be done without polluting the global header and still needs a bit of refactoring.
2017-03-10 19:08:36 +01:00
Magnus Norddahl
d75e09f545
Fix span dynamic light rendering glitch
2017-03-10 12:25:18 -05:00
Magnus Norddahl
1e7ea1c7ff
Fix crash HOM effect when vid_hw2d is off
2017-03-10 12:25:05 -05:00
Magnus Norddahl
b6ea5944d3
Fix crash when vid_hw2d is off
2017-03-10 12:24:09 -05:00
Christoph Oelckers
86d8f9ca83
- removed all dependencies on Windows-defined constants, rename the ones for non-Windows platforms and use those througout.
...
This should remove all dependencies on Windows definitions from the music interface, what remains is some cleanup.
2017-03-10 12:39:23 +01:00
Christoph Oelckers
f1630cebf3
- backported Line_Align... fix.
2017-03-10 12:09:15 +01:00
Rachael Alexanderson
9d5f8ba250
- fixed: P_AlignFlat's y-offset data was ignored when calculating plane offsets for the final render
2017-03-10 12:04:43 +01:00
Rachael Alexanderson
bb1d29d491
- Fixing r_voxel's license.
2017-03-10 12:04:43 +01:00
Christoph Oelckers
bfd968a88c
- uncoupled the MIDI player from Windows system structures.
...
The approach being used here caused the entire sound system to be infested by windows.h, just to avoid copying around a handful of variables in one place, effectively preventing any compiling optimization.
Windows will now use the same internally defined structure for all MIDI processing which only for actual submission to the system player will be converted to the internal format.
2017-03-10 12:01:29 +01:00
Christoph Oelckers
bc63c664f2
Merge branch 'master' into 3.0_work
2017-03-10 10:39:12 +01:00
Christoph Oelckers
5b9fece062
- fixed bad definition of FBlockThingsIterator.Next(). When implementing the BlockLinesIterator apparently some incorrect code got modified.
...
- fixed an uninitialized variable in P_CheckSight.
2017-03-10 10:38:30 +01:00
Christoph Oelckers
4ed5b91b0f
- added a few missing includes which were not triggered as error in a debug build.
2017-03-10 09:57:10 +01:00
Christoph Oelckers
96fa38bdc6
- make GCC happy.
2017-03-10 02:29:03 +01:00
Christoph Oelckers
bd7476fb8d
- untangled r_defs.h from actor.h
...
Both files can now be included independently without causing problems.
This also required moving some inline functions into separate files and splitting off the GC definitions from dobject.h to ensure that r_defs does not need to pull in any part of the object hierarchy.
2017-03-10 02:22:42 +01:00
Christoph Oelckers
ea0a9b537b
- removed the dobject.h include from s_sound.h. This isn't needed and only increased compile times of files with no relation to the actual game that need the sound system.
2017-03-10 01:10:14 +01:00
Rachael Alexanderson
7dc70b636f
- enable multiprocessor compilation with MSVC++ using /MP for MSBuild
...
- Target NEON processors for ARM.
2017-03-10 00:49:26 +01:00
Rachael Alexanderson
0d5cb0536e
- enable multiprocessor compilation with MSVC++ using /MP for MSBuild
...
- Target NEON processors for ARM.
2017-03-10 00:44:25 +01:00
Christoph Oelckers
4de0f8b1fa
- compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more.
2017-03-10 00:43:36 +01:00
Christoph Oelckers
a4710bcdb0
- did a bit of header cleanup to reduce the dependency on dobject.h.
2017-03-09 23:30:42 +01:00
Christoph Oelckers
1c81c40c59
- moved several files for which fastmath is mostly irrelevant into the PCH group.
...
Because reducing compile time is more important than some microscopic performance gain in non-time-critical code.
2017-03-09 20:56:33 +01:00
Christoph Oelckers
6325fbc491
- did a bit of cleanup on the MIDI callback interface, made the function type a typedef and removed the two unused parameters. Only the native Windows player passed something, but it wasn't used by the callback.
2017-03-09 20:28:57 +01:00
Christoph Oelckers
9b87a167d7
- replaced a large batch of DWORDs.
...
Most of those which still rely on ZDoom's own definition should be gone, unfortunately the code in files that include Windows headers is a gigantic mess with DWORDs being longs there intead of ints, so this needs to be done with care. DWORD should only remain where the Windows type is actually wanted.
2017-03-09 20:19:55 +01:00
Christoph Oelckers
a17685f3fd
- removed some long longs, to reduce that type's use to the necessary minimum
...
.
2017-03-09 20:05:22 +01:00
Christoph Oelckers
d2beacfc5f
- except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types.
2017-03-09 19:54:41 +01:00
Christoph Oelckers
c008ddaf66
- replaced homegrown SWORD, SBYTE and uint32_t types.
2017-03-09 19:31:45 +01:00
Christoph Oelckers
cc1241a4b8
Merge branch 'make-qzdoom-gzdoom-again' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/win32/win32gliface.h
# src/win32/win32iface.h
This compiles but no guarantees otherwise.
2017-03-09 19:09:13 +01:00
Christoph Oelckers
609e4c78b4
- fixed: NOINFIGHTSPECIES checked the wrong target actor.
2017-03-09 18:44:32 +01:00
Rachael Alexanderson
536e8fad19
- Make QZDoom GZDoom again!
2017-03-09 11:51:42 -05:00
Christoph Oelckers
878e6015df
- made all iterator classes natively abstract so that they do not get a ConstructNative method so that OP_NEW can refuse creating them without the need to mark them as abstract.
...
- block creation of actors with the 'new' instruction. Unlike the above these cannot be made abstract because without ConstructNative they cannot be serialized.
2017-03-09 17:21:37 +01:00
Christoph Oelckers
20c56f6dda
- added SectorTagIterator and LineIDIterator script classes.
2017-03-09 17:05:51 +01:00
Christoph Oelckers
420f71fc4f
- added a BlockLinesIterator script class.
2017-03-09 16:45:48 +01:00
ZZYZX
4dd1910d6d
Fixed the size of the local params array for WorldTick/UiTick
2017-03-09 15:38:49 +01:00
ZZYZX
5eb20b7877
Removed Create, CreateOnce, Register, Unregister from the C++ side as well
2017-03-09 15:38:49 +01:00
ZZYZX
01561eb768
Added: UiTick in EventHandlers, a callback that executes at 35fps on every handler in ui scope;
...
Removed: RenderOverlay, RenderFrame (commented out), Create, CreateOnce, Register, Unregister (completely)
2017-03-09 15:38:49 +01:00
Christoph Oelckers
e080f0cf89
- removed Windows.h include from gl_system.h and cleaned up that file. This means that most OpenGL sources can now be compiled without any Windows dependencies, which is significantly faster.
2017-03-09 13:19:51 +01:00
Christoph Oelckers
396c570a96
- moved Win32GLVideo's definition into the .cpp file, because it isn't needed anywhere else.
2017-03-09 13:09:38 +01:00
Christoph Oelckers
05919a2926
- remove Windows includes from gl_load.h
...
This is one of two places that unconditionally pulled in all Windows headers into the GL code.
We also do not need the cruft for defining the standard integer types. GZDoom is C++11 which means that stdint.h will be present. So the madness with the definitions should be avoided to ensure that the types are always the same.
2017-03-09 13:03:49 +01:00
Christoph Oelckers
03e1cbcfc0
- removed Windows types from several files which don't need them.
...
- split out the software renderer's video classes into their own file because they got included by all OpenGL sources.
2017-03-09 12:52:31 +01:00
Christoph Oelckers
8bd9c5a983
- moved some ACS enums from p_acs.h to p_acs.cpp.
...
There is really no point including this in multiple files if only one of them actually uses these constants.
2017-03-09 09:49:07 +01:00
Christoph Oelckers
77bac4f6fa
- fixed code generation for min/max when the first operand was a local variable or constant.
...
The code for constants was not optimal because the first operand of the instructions cannot be constant. This was solved by swapping it with the second choice which will always be non-constant.
The code for local variables did not allocate a new destination register and would overwrite the first parameter's variable.
2017-03-09 09:36:12 +01:00
Rachael Alexanderson
4d70b01da5
- followed through with GZDoom's SQWORD removals.
2017-03-08 21:35:20 -05:00
Rachael Alexanderson
cc9a2e5121
Merge https://github.com/coelckers/gzdoom
2017-03-08 21:25:24 -05:00
Magnus Norddahl
279fa7e886
Non-SSE version of the sky drawers
2017-03-08 23:35:13 +01:00
Christoph Oelckers
a632fae33f
- for some reason the change to c_expr.cpp got lost.
...
- moved NO_SANITIZE to autosegs.h, because it's the only place where it is used.
2017-03-08 21:14:21 +01:00
Christoph Oelckers
b513b32bcf
- reduced missing texture messages in the menu to warnings.
2017-03-08 19:04:35 +01:00
Christoph Oelckers
f341e7fb6a
- removed SQWORD, there were only a handful of occurences.
2017-03-08 19:02:50 +01:00
Christoph Oelckers
ba0f5a3f94
- most WORD and SWORD are gone.
2017-03-08 18:55:55 +01:00
Christoph Oelckers
8ab562ef13
- the fourth.
2017-03-08 18:55:54 +01:00
Christoph Oelckers
6dee9ff566
- replaced another large batch of homegrown type use.
2017-03-08 18:55:53 +01:00
Christoph Oelckers
6c6bab73ad
- more of the same.
2017-03-08 18:55:53 +01:00
Christoph Oelckers
ad41b23506
- replaced the homegrown integer types in all p* sources and headers.
2017-03-08 18:55:52 +01:00
alexey.lysiuk
3a0e29dab9
Added missing linker options for native MIDI support on macOS
...
Continuous integration is a cool thing: I completely forgot about addition of these frameworks because of my build environment which relies on static libraries and custom command line options
2017-03-08 16:11:04 +02:00
Magnus Norddahl
b281a697ce
Document the algorithm used for generating the 1D shadow maps
2017-03-08 14:12:59 +01:00
Christoph Oelckers
b8f7e305db
- changed TObjPtr to take a pointer as its template argument and not the class it points to.
...
This addresses the main issue with TObjPtr, namely that using it required pulling in the entire class hierarchy in basic headers like r_defs which polluted nearly every single source file in the project.
2017-03-08 13:35:21 +01:00
Christoph Oelckers
1cb89c6b37
- fixed bad call to validate function.
2017-03-08 13:35:21 +01:00
Magnus Norddahl
d09c3ad305
Move all GPU handling to gl_shadowmap and rename gl_lightbsp to gl_aabbtree
2017-03-08 13:31:19 +01:00
Magnus Norddahl
8687a9868a
Rename Level2DShape to LevelAABBTree and add a bit of documentation to it
2017-03-08 12:40:45 +01:00
alexey.lysiuk
de9c9221fe
Added AudioToolbox MIDI device for macOS
...
This device is the default one for OpenAL backend on Apple's platform
2017-03-08 11:23:36 +02:00
alexey.lysiuk
54ca55f070
Default MIDI device is now created by sound backend
...
OpenAL backend now plays music by default
It uses WinMM device on Windows and OPL on other platforms
2017-03-08 11:04:02 +02:00
Rachael Alexanderson
527a172fcd
Merge https://github.com/coelckers/gzdoom
2017-03-07 22:03:56 -05:00
Magnus Norddahl
850e61d1c9
Add shadow test to sprites
2017-03-08 00:34:08 +01:00
Christoph Oelckers
d911cdcfe7
- missed a bit.
2017-03-07 22:18:50 +01:00
Christoph Oelckers
e2f3a09dd0
- refactored the scope check for VirtualScope calls.
...
It now uses a dedicated opcode instead of piggybacking on OP_CALL and it passes data that is closer to the VM. Symbols should be avoided at this level.
It also will skip the scope instruction if the code generator detects that both calling function and the self pointer type have the same scope, this assumes that subclasses cannot flip between UI and Play.
2017-03-07 22:17:48 +01:00
Christoph Oelckers
0c686c593b
- simplify the runtime checks for OP_NEW.
...
They are not needed for OP_NEW_K which can evaluate the class relations at compile time and for OP_NEW the calling function can also be checked at compile time, passing only the scope value itself.
2017-03-07 19:57:55 +01:00
Christoph Oelckers
7a0c466b24
- fixed: For reflective floors, closed doors need to be considered an outer boundary, even if the floor below the door is reflective itself.
2017-03-07 18:59:48 +01:00
Rachael Alexanderson
71f400e238
Merge https://github.com/coelckers/gzdoom
2017-03-07 10:00:20 -05:00
Magnus Norddahl
6df3b3fbca
Changed the light collision structure uploaded to the GPU to be a binary tree using AABBs for the nodes instead of a BSP plane
2017-03-07 15:58:22 +01:00
ZZYZX
620ce72ebd
Fixed E_Responder for mouse events. It being active during console was actually a bug, because console should prevent any events.
2017-03-07 12:46:26 +01:00
ZZYZX
883048b538
Added E_Responder call for direct mouse input interception
2017-03-07 12:46:26 +01:00
Christoph Oelckers
1c95ddacb8
Revert "Moved some ancient playsim mouse input code around so that it works properly with input events"
...
This reverts commit 2e0eb742eb
.
This effectively nullifies the attempt to get a higher mouse update rate for the display.
2017-03-07 10:26:03 +01:00
ZZYZX
a681b5b706
Just in case, don't send useless mouse move events to G_Responder.
2017-03-07 09:47:47 +01:00
ZZYZX
2e0eb742eb
Moved some ancient playsim mouse input code around so that it works properly with input events
2017-03-07 09:47:47 +01:00
Rachael Alexanderson
bd50b5d05a
Merge https://github.com/coelckers/gzdoom
2017-03-06 19:40:55 -05:00
Magnus Norddahl
65f8d65858
Minor code clean up
2017-03-06 23:27:02 +01:00
Rachael Alexanderson
cb8b2de287
- somehow, this missed a few.
2017-03-06 16:58:48 -05:00
Christoph Oelckers
9d6b5f7015
- switched the menu code over to the data types of the event system.
...
Note that this will require adjustment of all menu code which overrides the Responder method!
2017-03-06 22:27:51 +01:00
Rachael Alexanderson
28abc96aef
- fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
...
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00
Rachael Alexanderson
5c3b9d81ad
Merge remote-tracking branch 'origin/no-diminishing-light'
2017-03-06 13:47:33 -05:00
Christoph Oelckers
4f97db74f2
- fixed: The deprecation checks in the compiler backend were wrong.
2017-03-06 19:24:31 +01:00
Rachael Alexanderson
134c2f3f38
Merge https://github.com/coelckers/gzdoom
2017-03-06 12:36:34 -05:00
Major Cooke
e111b0b92e
Fixed: Deprecated functions could not act because FxVMFunctionCall::CheckAccessibility returned false on warning.
2017-03-06 17:37:18 +01:00
alexey.lysiuk
cf23deef74
Fixed ssize_t type definition for mpg123 (affects MSVC x64 only)
...
According to MinGW headers (which is used for compiling libmpg123) ssize_t type must be 64-bit in size on 64-bit Windows
Moreover it was impossible to build GZDoom with the recent versions of libmpg123 because of wrong type redifinition
Tested MP3 music on Deus Vult II with Release x64 and OpenAL backend
2017-03-06 18:05:06 +02:00
ZZYZX
21ecd714ec
Added a way to tell apart console-executed events from code-executed SendNetworkEvent
2017-03-06 11:23:36 +01:00
alexey.lysiuk
4eb9f662cb
Fixed compilation with Clang
...
src/scripting/backend/codegen.cpp:8568:10: error: cannot initialize return object of type 'FxExpression *' with an rvalue of type 'bool'
2017-03-06 10:41:17 +02:00
Rachael Alexanderson
7ef8ed5867
Merge https://github.com/coelckers/gzdoom
2017-03-05 18:40:44 -05:00
Gaerzi
ad89d3eea0
Added SLADE3's colourise and tint translations.
...
Includes support for ACS.
Added tokens for '#' and '@' in sc_man_scanner.re.
2017-03-05 22:50:35 +01:00
Rachael Alexanderson
b4079b9915
- implemented "hazardcolor" and "hazardflash" properties. This affects strife's sector damage type that passively builds up over time. setting "hazardcolor" changes the gradual blend that is used when palette flash is disabled. setting "hazardflash" changes the flashing blend that is used when palette flash is turned on.
2017-03-05 22:48:46 +01:00
Christoph Oelckers
2b5fea4ea8
- added version checks for function calls and virtual overrides.
...
- restricted the UI functions in inventory.
2017-03-05 21:44:10 +01:00
Christoph Oelckers
8a5daf211c
- added version check for member variables.
2017-03-05 20:41:41 +01:00
alexey.lysiuk
f9e543bed3
Fixed black target screen during wipe (legacy renderer only)
...
Credits: NiTROACTiVE and Erick194
https://www.doomworld.com/vb/source-ports/93179-two-issues-im-having-with-gzdoom-v2-3-2/
2017-03-05 20:51:48 +02:00
Rachael Alexanderson
effe8a1e80
Revert "- started adding ARM support. incomplete. won't compile. don't try."
...
This reverts commit be8abba344
.
2017-03-05 13:07:25 -05:00
ZZYZX
8400961a00
Did some cleanup - since FScopeBarrier is not in codegen now, it's possible to include it properly from vm.h
2017-03-05 18:39:59 +01:00
Christoph Oelckers
456ac64723
- implemented version checks for compile-time type determination and for class inheritance.
...
Note that in this system, DECORATE counts as version 2.0, so any data that should be available to DECORATE should not use version restriction.
2017-03-05 17:58:55 +01:00
Magnus Norddahl
eb7955694b
Disable diminishing light in software renderer
2017-03-05 16:57:58 +01:00
Christoph Oelckers
7df698dad8
- implemented the parser basics of a ZScript versioning system.
...
Note that this completely disables the newly added keywords 'play' and 'ui' for unversioned code to allow using them as identifiers as I have found at least one mod that uses a variable named 'play' that would have been rendered broken otherwise.
This also disables many ZScript only keywords for other parsing jobs.
2017-03-05 14:13:00 +01:00
alexey.lysiuk
5d3244c3a7
Fixed minor issues in config file reader
...
Removed hardcoded values from long lines handling and made sure that pointer to the last character is always initialized
2017-03-05 13:07:51 +02:00
alexey.lysiuk
27376b1697
Fixed compilation of Debug configuration
...
src/scripting/vm/vmexec.cpp:204:44: error: no member named 'Native' in 'VMScriptFunction'
2017-03-05 11:39:25 +02:00
ZZYZX
38b86ad83c
No need for explicit EFX_Self check in FxStructMember::RequestAddress if self is set to readonly elsewhere.
2017-03-05 09:49:31 +01:00
ZZYZX
1832531726
Fixed: check protected fields against analog of OwningClass in functions, as opposed to the type that the field was accessed from.
2017-03-05 09:49:31 +01:00
ZZYZX
3eafc13b08
Removed BarrierSide from VMFunction, since it's obsolete with addition of VarFlags
2017-03-05 09:49:31 +01:00
ZZYZX
7cbabfb0d4
Implemented implicit 'protected' inheritance in virtual functions
2017-03-05 09:49:31 +01:00
ZZYZX
b87f9b540e
Implemented 'protected' on fields and methods
2017-03-05 09:49:31 +01:00
ZZYZX
9d4179ca06
Protected on methods of StaticEventHandler is completely useless
2017-03-05 09:49:31 +01:00
ZZYZX
6af5c1fa2b
Produce a warning if clearscope is used on non-inner structs. Also now checking for outer class presence correctly.
2017-03-05 09:49:31 +01:00
ZZYZX
86a494aacd
Can use clearscope on struct to signify that it should be plain data even if defined inside a play/ui class
2017-03-05 09:49:31 +01:00
ZZYZX
6c90d05407
By default, inner struct in class should take the scope of it's outer class
2017-03-05 09:49:31 +01:00
ZZYZX
0a7aebae93
Fixed const method qualifier. Also, fixed: const is not clearscope, treat differently.
2017-03-05 09:49:31 +01:00
Rachael Alexanderson
2c27b74e34
Merge https://github.com/coelckers/gzdoom
2017-03-05 02:55:38 -05:00
Christoph Oelckers
f07bd5ec65
- fixed some mess by two nearly similarly named flags.
2017-03-05 00:36:32 +01:00
Christoph Oelckers
600f57405f
- fixed typo in TexMan.GetSize.
2017-03-05 00:28:15 +01:00
Rachael Alexanderson
be8abba344
- started adding ARM support. incomplete. won't compile. don't try.
2017-03-04 16:50:42 -05:00
Rachael Alexanderson
b8b5360de1
Merge https://github.com/coelckers/gzdoom
2017-03-04 07:28:02 -05:00
Christoph Oelckers
cfafbfe4f2
- removed FStringNoInit.
...
This was development garbage.
2017-03-04 12:55:20 +01:00
Christoph Oelckers
7dbc6939c4
- declared most native getters in Actor as const.
...
- made the self pointer of const functions readonly.
This seems to work fine. Both calling a non-const function and trying to assign a value to a member fail with an error message.
2017-03-04 12:43:07 +01:00
Christoph Oelckers
b3ba5bfe2c
- allow 'const' on class functions. This is preferable to 'clearscope' so that the UI code can call getter functions without having to declare things as 'clearscope'.
...
Clearscope is a dangerous context and should be limited to the minimum extent possible and preferably be blocked in user code.
This may still need some work on const functions but better have it in now.
2017-03-04 12:07:45 +01:00
Christoph Oelckers
5551f3a8c5
- declared the sectorplanes in Sector as read only and marked all relevant functions in the planes themselves const.
...
This is to block modification of the planes directly. For future-proofness with renderer changes everything that alters these values should go through he function interface.
2017-03-04 11:48:36 +01:00
Christoph Oelckers
3879e67cee
- the #if was in the wrong place.
2017-03-04 11:34:53 +01:00
alexey.lysiuk
a5edd48996
Fixed remaining warning reported by Clang
...
src/scripting/zscript/zcc_compile.cpp:2456:54: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
2017-03-04 12:23:15 +02:00
alexey.lysiuk
d8cee4d3a5
Fixed most of warnings reported by Clang
...
src/scripting/zscript/zcc_compile.cpp: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/p_acs.cpp: warning: format specifies type 'char *' but the argument has type 'PClass *' [-Wformat]
2017-03-04 12:17:53 +02:00
alexey.lysiuk
8a1e0ee4b5
Fixed compilation with GCC/Clang
...
src/menu/menu.cpp:806:20: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-03-04 12:03:31 +02:00
Christoph Oelckers
a7fdf4b90d
- fixed: M_Init needs to catch VM exceptions from MENUDEF init to print out meaningful error messages in case something goes wrong.
2017-03-04 10:58:34 +01:00
Christoph Oelckers
fd4727e701
- did a bit of cleanup.
...
- disabled the runtime check in OP_CALL because as implemented it doesn't clean up properly and is not fully implemented.
2017-03-04 10:28:51 +01:00
Magnus Norddahl
8515f9720a
1D shadow maps are now working
2017-03-04 09:14:01 +01:00
ZZYZX
3338fb7f33
Added SendNetworkEvent static method to EventHandler; Fixed qualified static method call from own class (previously was 'shadowed' by qualified virtual method call)
2017-03-04 00:57:41 +02:00
ZZYZX
c9a994a885
Fixed: clearscope should also clear the inherited scope (through struct member access chain); Fixed: struct member access chain should ONLY work for structs (forgot that FxClassMember inherits FxStructMember)
2017-03-04 00:04:19 +02:00
ZZYZX
723f9770a4
Merge remote-tracking branch 'gz/master' into gz_master2
2017-03-03 23:33:02 +02:00
Rachael Alexanderson
21a8964bea
Merge remote-tracking branch 'gzdoom/master'
...
# Conflicts:
# src/v_video.cpp
2017-03-03 16:29:33 -05:00
ZZYZX
a924564bf3
Implemented hard separation between playsim ConsoleEvent and networked ConsoleEvent (ConsoleProcess, NetworkProcess)
2017-03-03 23:21:12 +02:00
Rachael Alexanderson
4b63092c7a
- disable size checking in windowed mode for vid_setmode, allowing it to set arbitrary sizes.
2017-03-03 22:19:58 +01:00
ZZYZX
421f78c771
Fixed potential crash with new() in anonymous functions (is that even allowed?); Added compile-time check for disallowed new()
2017-03-03 22:52:35 +02:00
ZZYZX
3a57a9809f
Removed nonew class modifier
2017-03-03 22:42:12 +02:00
ZZYZX
78533cc316
Fixed: the name of accessed field is now properly retrieved in FxStructMember::RequestAddress
2017-03-03 22:38:33 +02:00
Christoph Oelckers
fd20e1d78f
- allow hooking custom serializers into PPointer so that serializable types can be handled without having to create new type classes which would be a bit unwieldy thanks to how the type system works.
2017-03-03 20:11:13 +01:00
Christoph Oelckers
c630b07011
- replaced SDWORD with int32_t globally.
...
This type wasn't used in the software rendering code so it could be removed already. The other homegrown types will have to be dealt with later.
2017-03-03 19:35:08 +01:00
Christoph Oelckers
f563a296c2
- added an ACS ScriptCall function. So far only superficially tested.
2017-03-03 19:23:27 +01:00
Christoph Oelckers
217bcb847d
- fixed: When the savegame code errors out, some cleanup is required in G_DoSaveGame.
2017-03-03 19:19:19 +01:00
Christoph Oelckers
7736e42740
- fixed: The respawn event handler was not called for a regular in-game respawn, only for a cheat resurrection.
2017-03-03 18:53:11 +01:00
Magnus Norddahl
6055f136d8
Make sure SwapInterval is only ever called while the default frame buffer is bound to avoid problems with some drivers
2017-03-03 16:55:18 +01:00
Rachael Alexanderson
b3a69e1df8
Merge https://github.com/coelckers/gzdoom
2017-03-02 18:13:33 -05:00
Magnus Norddahl
0d1deddae5
Bind shadow map texture for main.fp and sample from the shadowmap texture
2017-03-02 19:10:57 +01:00
Christoph Oelckers
1761da6079
- fixed: AActor::Howl checked HowlSound for the wrong type.
2017-03-02 18:40:01 +01:00
Christoph Oelckers
8253b91d97
- fixed: The stair and donut builders did not initialize FFloor::m_Instant.
2017-03-02 18:18:34 +01:00
Magnus Norddahl
538d516c9a
Upload shadow map index for each light to main.fp
...
Move storage buffer binding location
2017-03-02 18:07:47 +01:00
Magnus Norddahl
62c285f7b3
Create a shadowmap texture and upload light list
2017-03-02 16:19:06 +01:00
Magnus Norddahl
7a4b01471d
Add class updating and managing the shadow map texture
2017-03-02 16:19:06 +01:00
Magnus Norddahl
6363c6cf58
Add a shadowmap shader
2017-03-02 16:19:06 +01:00
Magnus Norddahl
58c7c3c902
Upload BSP tree to the GPU
2017-03-02 16:19:06 +01:00
Rachael Alexanderson
26f7902c3f
- fixed: If player is killed by world, attacker was not checked for nullptr, causing a crash.
2017-03-02 13:02:25 +01:00
Christoph Oelckers
ff88ecd3f0
- a bit more reordering for another minor performance gain.
2017-03-02 12:55:04 +01:00
Christoph Oelckers
4dc0599a6c
- did a bit of reordering AActor's variables to group the ones together which are accessed by the renderer. Tested with some actor-heavy maps this does provide a small, approx 3-4% speedup in the OpenGL sprite processing function.
2017-03-02 12:37:25 +01:00
Christoph Oelckers
3532e50575
- check for RF_MASKROTATION before calling IsInsideVisibleAngles, because it is a bit faster this way.
2017-03-02 12:14:00 +01:00
Christoph Oelckers
cfda1a49d4
- forgot to save the last fix for the previous commit.
...
- let the script compiler also output the size of the allocated data for the script functions in addition to the actual code size.
2017-03-02 11:58:30 +01:00
Christoph Oelckers
b194ba205a
- backported Zandronum's MaxHealth base class for the MaxHealthBonus item.
2017-03-02 11:39:52 +01:00
Christoph Oelckers
00dc59ebdc
- separated the blood translation index from the BloodColor variable to allow more than 255 blood translations and as a prerequisite for allowing to change the blood color.
2017-03-02 10:26:23 +01:00
Rachael Alexanderson
d84ba4b953
Merge https://github.com/coelckers/gzdoom
2017-03-02 04:22:32 -05:00
Christoph Oelckers
59bd4d608c
- fixed: Be a bit more paranoid about what to consider a mod with an empty top-level directory.
...
This should only be accepted if the subdirectory contains at least one identifiable game definition lump to avoid catching some patch mods with only a few files.
2017-03-02 10:00:22 +01:00
Christoph Oelckers
3c21ca9cb1
- added a compatibility option to move vertices and applied it to E1M6 of Masters of Chaos.
...
This map has a door/lift combination that could trap the player without any chance to get out because both elements are so close together that it was almost impossible to trigger the lift. Moved two vertices by one map unit to make enough room.
2017-03-01 22:06:39 +01:00
Christoph Oelckers
9b2f31e692
- had to add a hack because some people had to exploit implementation-dependent behavior of the PulseLight type.
2017-03-01 20:54:37 +01:00
Christoph Oelckers
0de79042d4
- fixed: 'Bloodtype' cannot use the generic property definition because it needs special handling for optional arguments. This reinstates the native handler.
2017-03-01 20:20:46 +01:00
Christoph Oelckers
b5d4a59465
- fixed: Meta properties must not be serialized.
2017-03-01 20:10:24 +01:00
Rachael Alexanderson
bb3a2b25ff
Merge branch 'qzdoom-gpuswitch'
2017-03-01 10:26:15 -05:00
Rachael Alexanderson
4ebd25171c
- Implemented a simple graphics switch. This currently affects NVidia Optimus-enabled notebooks only.
2017-03-01 09:58:56 -05:00
Matthew McAllister
0583691670
Add bash-style console shortcuts
2017-03-01 11:33:14 +01:00
Rachael Alexanderson
5e5f88b629
Merge commit '5aec906' into testmaster
2017-02-28 21:34:36 -05:00
Rachael Alexanderson
d6169ea75e
Merge https://github.com/coelckers/gzdoom
2017-02-28 18:55:17 -05:00
Christoph Oelckers
cb295e0441
- added parameter to PLayerPawn::GetMaxHealth to return the real maximum health, including stamina upgrades.
2017-03-01 00:04:17 +01:00
Christoph Oelckers
12915b5f6e
- use an inventory flag to decide what items are slipped by DF_NO_HEALTH and DF_NO_ARMOR. With all the changes over the last 10 years this had become too spotty.
...
- use an enum type for ItemFlags, just like it was done for actor flags. Since the flag word is almost full it may soon be necessary to add a second one and then this kind of security check may become necessary.
2017-02-28 21:45:47 +01:00
Christoph Oelckers
dc6c91042b
- fixed misordered ACS functions.
2017-02-28 18:47:18 +01:00
Christoph Oelckers
314a642527
Merge branch 'meta'
2017-02-28 14:47:00 +01:00
nashmuhandes
bb1709228c
Changed FOV from a CCMD to a CVar, allowing players' FOV settings to persist. Also exported SetFOV to PlayerInfo for ZScript.
2017-02-28 14:46:30 +01:00
Christoph Oelckers
5f6da0d222
fixed double allocation of metadata.
2017-02-28 14:44:18 +01:00
Christoph Oelckers
168627f549
- native meta variables are not needed anymore. They were only a temporary aid to properly handle this, but now all have been redone.
2017-02-28 14:38:50 +01:00
Christoph Oelckers
bc0ffc4185
- removed access to the PlayerPawn's DisplayName variable. This one has implicit semantics, so wherever a displayable name is needed GetPrintableDisplayName should be called instead to allow later refactoring of the internal handling.
2017-02-28 14:33:46 +01:00
Christoph Oelckers
fc125f7eaf
- reworked the obituary system to use scripted virtual overrides. Let's hope this solves the problems with the original code, now that any actor needing special treatment can override it.
2017-02-28 14:30:14 +01:00
Christoph Oelckers
851984efe0
- made GetDeathHeight a virtual scripted function.
...
- made GetGibHealth a virtual scripted function.
- removed a few more native meta properties.
2017-02-28 13:40:46 +01:00
Christoph Oelckers
d5250d6b9f
- made WoundHealth modifiable to allow more control over the wound state.
2017-02-28 12:56:35 +01:00
Christoph Oelckers
2a4a5e7a70
- refactored a few more native meta properties.
2017-02-28 12:47:44 +01:00
Christoph Oelckers
1311f08f47
- scriptified Actor.GetBloodType as a virtual function to allow mods more flexibility here.
...
- made CameraHeight a modifiable actor property - it was readonly before.
- allow accessing the type constants from ZScript, this required quite a bit of explicit coding because the type system has no capabilities to search for basic types by name.
2017-02-28 12:11:25 +01:00
Christoph Oelckers
b6a1fe7fc6
- scriptified the basic attack functions, its properties and the explosion properties to test the new metadata system.
2017-02-28 10:51:32 +01:00
Rachael Alexanderson
5aec906031
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2017-02-28 04:46:23 -05:00
Christoph Oelckers
a93a7e1cac
- handle player meta properties.
...
Only two really make sense, the rest is never used from scripts and may just remain where it was.
2017-02-28 01:23:12 +01:00
Christoph Oelckers
4a87a598fb
- do floatification of the UDMF Health property as it should have been.
2017-02-28 00:59:09 +01:00
Christoph Oelckers
78a66e001a
- properly handle all meta properties for inventory items.
2017-02-28 00:45:16 +01:00
Christoph Oelckers
f343d36ea9
- implemented the basics of a working metadata system.
...
This will store class meta properties in a separate memory block so that it won't have to muck around with PClass - which made the implementation from the scripting branch relatively useless because extending the data wasn't particularly easy and also not well implemented. This can now be handled just like the defaults.
2017-02-27 23:28:19 +01:00
Christoph Oelckers
3700dea336
Revert "- the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented."
...
This reverts commit e4e023e59a
.
(This was nonsense.)
2017-02-27 22:05:20 +01:00
Christoph Oelckers
d5d383ee93
- added Floor_Stop and Ceiling_Stop action specials.
2017-02-27 21:31:59 +01:00
Christoph Oelckers
1ff4016498
- added ACS math functions floor, ceil and round.
2017-02-27 20:42:12 +01:00
Christoph Oelckers
e511f7f84b
- added a damage type parameter to MDK CCMD.
2017-02-27 20:07:21 +01:00
Christoph Oelckers
ac4074a69a
- allow sprites and particles simultaneously for puffs.
2017-02-27 19:51:37 +01:00
Christoph Oelckers
321c846d01
- added StealthAlpha actor property for defining a minimum visibility value of a stealth monster.
2017-02-27 19:46:27 +01:00
Christoph Oelckers
f82ab889b2
- added ACS strarg function which can convert a string into a string argument for ACS specials.
2017-02-27 18:44:58 +01:00
Christoph Oelckers
4bcbd5c011
- clear WF_WEAPONBOBBING in P_FireWeapon, because otherwise the first frame of the fire animation will be drawn in the current bobbing position and not centered.
2017-02-27 18:38:01 +01:00
Rachael Alexanderson
869de7554f
- fixed: Opening automap without 2D acceleration and rgb666 blending crashed due to bad color calculations. (Attempted to pass rgb888 values into rgb666 array)
2017-02-27 12:15:17 -05:00
Rachael Alexanderson
e9364fccb8
- Fixed: voxels were not properly remapped after "restart" ccmd
2017-02-27 18:12:49 +01:00
Rachael Alexanderson
4a9845a6c0
- Fixed: voxels were not properly remapped after "restart" ccmd
2017-02-27 12:02:46 -05:00
Christoph Oelckers
cc598dfdde
- fixed: To get the final error handling from the serializer, Close must be called before the destructor gets invoked.
...
- added line feeds to all error messages in the serializer.
2017-02-27 15:16:03 +01:00
Christoph Oelckers
78538ed9ef
- missed an else.
2017-02-27 14:53:39 +01:00
Rachael Alexanderson
fa6a94f789
Merge https://github.com/coelckers/gzdoom
2017-02-27 08:22:53 -05:00
Rachael Alexanderson
bd61e9f3f4
- Disabled dynlights during invulnerability/lightamp (or any FixedColormap or FixedLightLevel)
2017-02-27 08:20:26 -05:00
Christoph Oelckers
f9f9f2d5fc
- added selfdamagefactor actor property.
2017-02-27 11:22:51 +01:00
Christoph Oelckers
e84a2899f9
- this needs one more check.
2017-02-27 10:52:29 +01:00
Christoph Oelckers
073e63ed04
- Added a check for all z-movement for floor huggers so that it doesn't skip all the height checks if +NODROPOFF is also given.
2017-02-27 10:50:21 +01:00
Christoph Oelckers
0c660ff29c
- added an option to add elements to an existing options menu.
...
Note that for list menus this does not exist because they require complete setup to work as intended.
2017-02-27 10:37:47 +01:00
Rachael Alexanderson
2a847ca570
Merge https://github.com/coelckers/gzdoom
2017-02-27 01:06:00 -05:00
Christoph Oelckers
720e05d131
- fixed memory leak in DEM_NETEVENT.
...
- added handling for DEM_NETEVENT to SkipCommand.
- keep the data of DEM_NETEVENT at a fixed length to simplify handling.
2017-02-27 02:31:19 +01:00
Christoph Oelckers
3a5124e10e
- fixed: TakeInventory needs to check for subclasses of PowerInfiniteAmmo.
2017-02-27 02:09:56 +01:00
Christoph Oelckers
c7cf619ff4
- Caution: Wads.GetLumpName with a char pointer is stupid because it doesn't 0-terminate its return.
2017-02-27 01:58:21 +01:00
Christoph Oelckers
1e1194a669
- fixed: Dp mot strip the top level folder name in Zips if they only contain one entry or if the first entry isn't a directory.
2017-02-27 01:53:51 +01:00
Christoph Oelckers
c8445703ac
- added a workaround for the 'cannot split a seg' error in the node builder: In order to prevent all segs from ending up on the same side it will now force the bogus seg onto the other side of the node - regardless of whether this is correct or not, because the most important thing here is that the set of segs gets split to prevent the node builder from ending up in an endless recursion trying to split the same set of data and endlessly failing.
...
Note that this is not a fix, it's merely a countermeasure to avoid the crash in ZPack's E2M6 which this seems to achieve.
2017-02-27 01:41:27 +01:00
Christoph Oelckers
1ed2a0baf9
- fixed: The intermission screen did not show 'entering' for cluster-less maps.
2017-02-26 23:49:53 +01:00
Christoph Oelckers
e4e023e59a
- the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented.
...
- fixed: Several ZDoom-exclusive actor keys did not check the current namespace.
2017-02-26 23:21:56 +01:00
Christoph Oelckers
0514a997db
- added a new argument to GlassBreak to allow it to spawn other types of debris than GlassJunk by passing a spawn ID.
2017-02-26 23:07:16 +01:00
Christoph Oelckers
8c30ca213d
- allow loading of zips that have one root folder with all content contained within this folder. This top level's folder name will be stripped out from all file names, unless it is a special name that maps to a known namespace.
2017-02-26 22:55:36 +01:00
Christoph Oelckers
f918a9d9a7
- added a BOUNCE_NotOnShootables flag that hopefully helps addressing the biggest glitch in the bouncing code.
2017-02-26 22:31:43 +01:00
Christoph Oelckers
80e9763d64
- added a NOMENU option for skills.
2017-02-26 22:10:35 +01:00
Christoph Oelckers
3d500f0495
- added default obituaries for damage types.
...
Note that this is only implemented for the new official way of doing this in MAPINFO, but not in DECORATE!
2017-02-26 21:36:06 +01:00
Christoph Oelckers
f6dd99d3aa
- added A_Morph function.
2017-02-26 21:20:47 +01:00
Christoph Oelckers
346ada76bc
- allow blocking controller input in the menu.
2017-02-26 20:59:24 +01:00
Christoph Oelckers
8cac2d8c84
- added a NOATTACK sector flag which prevents monsters from going to their attack states if present.
2017-02-26 20:27:02 +01:00
Christoph Oelckers
9aff224891
- allow a link between the same sector's floor and ceiling.
2017-02-26 20:11:24 +01:00
Christoph Oelckers
0eebaf9f6b
- allow nightmare respawn if the current state has the 'canraise' flag.
2017-02-26 20:06:16 +01:00
Christoph Oelckers
7a1f36bfb0
- added RF_DONTINTERPOLATE flag.
2017-02-26 20:01:39 +01:00
Rachael Alexanderson
8c46ab40b1
Merge https://github.com/coelckers/gzdoom
2017-02-26 13:42:12 -05:00
Christoph Oelckers
4d043f086e
- missed a spot.
2017-02-26 19:41:39 +01:00
Rachael Alexanderson
7a5df2bc28
Merge commit 'b0eb19b'
2017-02-26 13:41:02 -05:00
Christoph Oelckers
7267e608cf
- added kickback factor skill property.
2017-02-26 19:37:25 +01:00
Christoph Oelckers
b0eb19bbc8
- added an option to define untranslated fonts through FONTDEFS. Note that due to how the fonts work they cannot be colorized AT ALL!
2017-02-26 19:29:27 +01:00
Christoph Oelckers
0cc46a2aaf
- added a FORCEINFIGHTING flag.
2017-02-26 19:05:20 +01:00
Christoph Oelckers
92b916fd5d
- fixed: ACS's SetMugshotState function was essentially broken in multiplayer because it contained no checks if the script's activator is connected to the current console player.
...
Ideally this should also be fixed for singleplayer but that would probably break half the mods using this function...
2017-02-26 18:49:40 +01:00
Christoph Oelckers
fb3d4bd42a
- added A_SetMugshotState.
2017-02-26 18:46:06 +01:00
Christoph Oelckers
5fe04dfd20
- added A_SprayDecal function.
2017-02-26 18:37:12 +01:00
Christoph Oelckers
c4b546404a
- added a 'nocheck' parameter to A_Raise* and Thing_Raise.
2017-02-26 17:50:48 +01:00
Christoph Oelckers
3f5ef48dac
- allow setting a global dialogue lump through gameinfo.
2017-02-26 17:22:02 +01:00
Christoph Oelckers
f31ddbc57c
- allow specifying specials in ZSDF by name.
...
- allow specifying a decal ID by name in UDMF.
2017-02-26 17:05:04 +01:00
Christoph Oelckers
ee6e427e78
- fixed: USDF did not allow specials > 255.
2017-02-26 16:54:09 +01:00
Christoph Oelckers
d80dc098bd
- added a RESETITEMS MAPINFO flag.
2017-02-26 16:48:24 +01:00
Christoph Oelckers
e6b31dde27
- added some flexibility to some Skulltag powerups.
...
- handle these powerups by actual item checks instead of cheat flags. (The same should also be done for the Frightener and Buddha but those are a bit more complex because they are also real cheats.)
2017-02-26 16:23:22 +01:00
Christoph Oelckers
8b2a5c75a1
- added an old submission for PowerReflection, although it had to be seriously reworked and improved.
2017-02-26 15:47:37 +01:00
Christoph Oelckers
a0b830c198
- allow all actor list CCMDs to filter by tid.
2017-02-26 15:20:43 +01:00
Christoph Oelckers
a6761463af
- added a new showtriggerlines mode that doesn't exclude doors.
...
- use lambdas for the AM checker functions.
2017-02-26 15:01:55 +01:00
Christoph Oelckers
bb7e191208
- allow specification of intermission music based on the destination map.
2017-02-26 14:50:02 +01:00
Christoph Oelckers
03ac816e83
- added a gme_stereodepth CVAR.
2017-02-26 14:04:30 +01:00
Christoph Oelckers
3412bdf5dc
Revert "Fixed splitting of long lines in message box menu"
...
This reverts commit 76a44ebf9c
.
Fix was done in the wrong place, it should be inside the script so that script-side calls to open a confirmation screen also get proper treatment.
2017-02-26 12:51:24 +01:00
Christoph Oelckers
2663414f72
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-02-26 12:47:34 +01:00
Christoph Oelckers
90b8dbb096
- removed the separate SSE2 version of the node builder's ClassifyLine function and all code associated with it.
...
Like everything else related to doing standard math with SSE2 vs. x87, there's nothing to be gained here with anything but first generation SSE2 systems which are irrelevant these days.
Taking 'thespir2.wad' from https://forum.zdoom.org/viewtopic.php?f=1&t=10655 the SSE2 version is reproducably ~3% slower than the x87 version on my Core i7, which quite closely mirrors all my previous tests since 2007.
Overall this just looks like an optimization not worth doing.
2017-02-26 12:47:16 +01:00
alexey.lysiuk
76a44ebf9c
Fixed splitting of long lines in message box menu
...
https://mantis.zdoom.org/view.php?id=338
2017-02-26 12:04:34 +02:00
Christoph Oelckers
bfa7a2d737
- fixed: DStaticEventHandler did not declare its pointers.
2017-02-26 10:59:05 +01:00
alexey.lysiuk
c150f9d737
Fixed incorrect pointers for Actor.Used()
...
https://mantis.zdoom.org/view.php?id=340
2017-02-26 11:39:27 +02:00
alexey.lysiuk
6ae91ac9ea
Fixed scripting type of demoplayback global variable
...
https://mantis.zdoom.org/view.php?id=334
2017-02-26 10:36:03 +02:00
Rachael Alexanderson
404b326812
Merge https://github.com/coelckers/gzdoom
2017-02-25 18:32:06 -05:00
Rachael Alexanderson
e7a1a59053
- Disabled alpha-masking textures for now, since they do not yet work. (needs texman fix)
2017-02-25 16:36:57 -05:00
Christoph Oelckers
43e5f035e4
- added a 'brief' mode to linetarget and info.
2017-02-25 21:48:15 +01:00
Rachael Alexanderson
9b40aa9605
- Fixed two typos as identified by dpJudas.
2017-02-25 15:32:50 -05:00
Christoph Oelckers
35552ce0cb
- added a Death.Sky state for missiles that gets used when they hit a sky plane.
...
- fixed: The Alt HUD did not draw the crosshair in HUD off mode.
2017-02-25 20:45:28 +01:00
Christoph Oelckers
7f78b42f21
- added an 'inventory change' and 'weapon change' sound, which by default are not defined.
2017-02-25 20:20:43 +01:00
Christoph Oelckers
35033891ac
- added MF7_NOINFIGHTSPECIES flag.
2017-02-25 20:12:30 +01:00
Christoph Oelckers
8dac678200
- added DAMAGE_NO_ARMOR flag for ACS's SectorDamage function.
2017-02-25 19:10:49 +01:00
Christoph Oelckers
89a43feb7a
- split the intermission background handling into its own class.
...
This means that 1/3 of wi_stuff can be left as-is when scriptifying the rest.
2017-02-25 17:55:20 +01:00
Christoph Oelckers
13c6cebef3
- call WI_updateAnimatedBack only once from WI_Ticker instead of from each single WI_update function.
2017-02-25 16:57:46 +01:00
Christoph Oelckers
d39ee1daf3
- added a new thinker statnum STAT_STATIC which do not get deleted between levels.
2017-02-25 16:56:49 +01:00
Rachael Alexanderson
ed4fe39fbb
Merge https://github.com/coelckers/gzdoom
2017-02-25 10:20:22 -05:00
Christoph Oelckers
10c6b7a80b
- added a NULL check to the VM's entry point, in case some bad but non-fatal DECORATE results in a function not having generated any code.
2017-02-25 10:57:12 +01:00
Rachael Alexanderson
05b092a8a1
Merge https://github.com/coelckers/gzdoom
2017-02-25 01:24:45 -05:00
Magnus Norddahl
735157aea4
Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!)
2017-02-25 01:22:54 +01:00
Christoph Oelckers
43c5fa93f9
- fixed handling of PlayerEntered event.
...
This was done in P_SpawnPlayer where it would be called not only on voodoo dolls but also on temporary player pawns. The second case was attempted to avoid, but this would break intra-hub travels to unvisited levels.
Moved the handling to G_DoLoadLevel for all cases where we have a clear and unambiguous situation with all players being set up and no voodoo dolls that might trigger an event.
2017-02-24 21:45:53 +01:00
Rachael Alexanderson
5c5b6a55d5
Merge https://github.com/coelckers/gzdoom
2017-02-24 13:24:44 -05:00
Christoph Oelckers
555f339924
- fixed: Sight checks through portals must disable all early-outs.
...
These can also be triggered from lines outside the actually valid range because the checks are done before the lines get ordered by distance.
2017-02-24 19:01:19 +01:00
Christoph Oelckers
c6a5e74c75
- added GC support to the events. OF_Fixed is not recommended because it can seriously impede the GC's functionality if just being used as a lazy means to avoid collection.
2017-02-24 19:01:19 +01:00
Magnus Norddahl
e697746e7d
Remove the php drawers and their generated output
2017-02-24 16:59:45 +01:00
Magnus Norddahl
51b872b30b
Created template version of sprite drawers
2017-02-24 16:52:13 +01:00
Magnus Norddahl
d3812e32f8
Created templated version of wall drawers
2017-02-24 15:31:47 +01:00
Magnus Norddahl
2a7bdaad79
Switched to a template version of the span32 drawers
2017-02-24 13:56:20 +01:00
alexey.lysiuk
fd615713d5
Fixed handling of default values for Menu.SetMenu() and Menu.StartMessage() arguments
2017-02-24 11:09:25 +02:00
Magnus Norddahl
298d68865c
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-24 04:32:50 +01:00
Magnus Norddahl
616e800635
Don't copy the SpriteDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:32:40 +01:00
Rachael Alexanderson
e35be9c0a3
Merge https://github.com/coelckers/gzdoom
2017-02-23 22:07:40 -05:00
Magnus Norddahl
218708571e
Don't copy the SkyDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:03:27 +01:00
Magnus Norddahl
f76a039a76
Don't copy the WallDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 02:37:13 +01:00
Christoph Oelckers
58be506a73
- made intermission screen more scripting friendly.
2017-02-24 00:28:33 +01:00
Magnus Norddahl
8bd0df1ace
Simplify CalcTiltedLighting in hope that this function is what made GCC break
2017-02-23 23:53:38 +01:00
Magnus Norddahl
b4b391c51e
Fix palette light artifacts caused by dynamic lights in some rare cases
2017-02-23 23:13:21 +01:00
Christoph Oelckers
5bc26763cb
- fixed: String CVARs get stored as a const char *, not an FString, so the ls opcode cannot be used to read their content.
2017-02-23 22:01:46 +01:00
Magnus Norddahl
4d161fbd42
Add dynamic light to sprites in palette mode
2017-02-23 21:50:16 +01:00
Magnus Norddahl
563b64b5e3
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-23 21:08:26 +01:00
Magnus Norddahl
832790f5ba
Fix sprite light bug
2017-02-23 21:08:08 +01:00
Thomas Hume
c4cb94123f
Do not change indentation of the licence...
2017-02-23 21:01:09 +01:00
Thomas Hume
c1cafd3bbc
Consistency of indents, removes false-pos warnings
...
Clang reports missleading indentation with non bracketed if in the
presence of mixed tabs/spaces
2017-02-23 21:01:09 +01:00
Thomas Hume
06119987a8
Prevents possible pointer miss-alignment error
2017-02-23 21:01:09 +01:00
Rachael Alexanderson
80d3fd58ff
Merge https://github.com/coelckers/gzdoom
2017-02-23 15:00:09 -05:00
Christoph Oelckers
73cceea994
- also added the 'amount' parameter to DropInventroy and A_DropInventory script functions.
2017-02-23 20:55:12 +01:00
Christoph Oelckers
e2d5a708f8
- added an amount parameter to the 'drop' CCMD.
2017-02-23 20:18:02 +01:00
Christoph Oelckers
fc101049c6
- exported gamestate variable and forced it to 32 bit internally.
...
- forced gameaction_t to 32 bit to avoid problems with undefined size issues.
2017-02-23 19:29:43 +01:00
Christoph Oelckers
65c4653f59
- restored some code in PClass::CreateDerivedClass that accidentally got removed.
2017-02-23 19:03:31 +01:00
Christoph Oelckers
4bae6e81db
- turned the texture pointers in wbstartstruct_t into scripting compatible texture IDs.
2017-02-23 18:33:49 +01:00
Rachael Alexanderson
10e268ebc0
- Change "clipmidtex" compatflag to be accessible in compatibility.txt only.
2017-02-23 06:32:53 -05:00
Magnus Norddahl
3c3917f1f3
Change dynlight sprite math to not overflow when used with dynamic colormaps
2017-02-23 10:55:44 +01:00
Thomas Hume
17f04c5043
Correct two overflows in PInt ctor
2017-02-23 10:10:58 +01:00
Rachael Alexanderson
1a9b1de9a1
- Added "clipmidtex" compatflag and applied it to unloved.pk3
2017-02-23 03:39:04 -05:00
Magnus Norddahl
0702e4523d
Fix that sprite light wasn't calculated using the center of the sprite
2017-02-23 09:27:00 +01:00
alexey.lysiuk
91f8f5b556
Restored EndGameMenu as a pseudo-class
...
Fixes the following error: Attempting to open menu of unknown type 'EndGameMenu'
At least Adventures of Square is using this class in main menu
2017-02-23 10:20:02 +02:00
Magnus Norddahl
56045c1293
Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer
2017-02-23 09:02:13 +01:00
Magnus Norddahl
ad507ca246
Removed drawergen tool and all LLVM dependencies (don't let the door hit you on your way out, llvm!)
2017-02-23 08:28:18 +01:00
Magnus Norddahl
c5683bbde5
Clamp dynlights to 0-1 range on sprites
2017-02-23 07:49:02 +01:00
Magnus Norddahl
92e6f070b4
Fix sprite dynlight distance check
2017-02-23 07:05:21 +01:00
Magnus Norddahl
548aec01ec
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-23 06:01:23 +01:00
Magnus Norddahl
ef41e8e54e
Add dynamic light to sprites
2017-02-23 06:01:01 +01:00
Rachael Alexanderson
271c75ab9b
Merge https://github.com/coelckers/gzdoom
2017-02-22 22:39:34 -05:00
Magnus Norddahl
c6235fb674
Added light to span drawers
2017-02-23 04:26:37 +01:00
Magnus Norddahl
e9efb64a0b
Fix light offset
2017-02-23 03:50:24 +01:00
Christoph Oelckers
d295186378
- made all fields of in_anim_t script-safe (except for the texture pointer which will have to be replaced by a Texture ID.
2017-02-23 00:16:14 +01:00
Christoph Oelckers
47ff6ec33f
- converted the intermission stat screen into a class so that its contents can be better exposed to ZScript.
2017-02-22 23:52:25 +01:00
Edoardo Prezioso
59d304274f
- Fixed some scripts showing up as 'unknown'.
...
See https://mantis.zdoom.org/view.php?id=322 .
2017-02-22 23:49:28 +01:00
alexey.lysiuk
eb40e8bcf0
Removed DYNLIGHT preprocessor definition
...
https://mantis.zdoom.org/view.php?id=318
2017-02-22 23:02:58 +02:00
alexey.lysiuk
61de40c678
Relaxed error check for menu textures
...
Null texture is acceptable as menu patch
Total conversion IWADs like Adventures of Square may use this technique
https://mantis.zdoom.org/view.php?id=320
2017-02-22 17:39:04 +02:00
alexey.lysiuk
b45418d363
Removed problematic assert() from garbage collector
...
DObject::GetClass() cannot be called from Barrier() function
Lazy evaluation it contains screwed up object type if called from base class constructor
Example:
DSeqSectorNode::DSeqSectorNode() -> DSeqNode::DSeqNode() -> GC::WriteBarrier() -> Barrier()
https://mantis.zdoom.org/view.php?id=299
2017-02-22 12:21:27 +02:00
Magnus Norddahl
01a8df7eb3
Add dynlights to wall drawer
2017-02-22 08:05:23 +01:00
Magnus Norddahl
38453d0435
Added most of the blend modes
2017-02-22 00:27:06 +01:00
alexey.lysiuk
bdd20d3887
Fixed initialization of Strife dialogs internal structures
...
Explicit assignment to members, no more memset() on non-PoD types
https://mantis.zdoom.org/view.php?id=317
2017-02-21 22:36:20 +02:00
Magnus Norddahl
c918950ff6
Add php drawer for the poly renderer
2017-02-21 09:08:51 +01:00
Magnus Norddahl
e73031b3c9
Added sky drawers
2017-02-21 01:25:08 +01:00
Magnus Norddahl
5fa5b062d6
Added php script for the span drawers
2017-02-20 22:49:52 +01:00
Rachael Alexanderson
257f48de97
Merge https://github.com/coelckers/gzdoom
2017-02-20 04:55:54 -05:00
Magnus Norddahl
fe854fb71f
Fix php drawer blend modes
2017-02-20 07:09:30 +01:00
Christoph Oelckers
bb6e667f33
- removed some unneeded version.h #includes.
2017-02-20 01:42:53 +01:00
Christoph Oelckers
051a394f47
- fixed some mess in the graphics organization for the Strife status bar.
...
This alternatingly loaded two different patch sets but it was entirely unclear which was supposed to be loaded when so they now are merged into one. It should have been two different variables from the start.
2017-02-20 00:22:36 +01:00
Rachael Alexanderson
7825c7b244
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2017-02-19 17:42:00 -05:00
Rachael Alexanderson
84ca9fd63c
Merge remote-tracking branch 'origin/versionstr-change' into versionstr-change
2017-02-19 17:40:44 -05:00
Rachael Alexanderson
b134ea5b4f
- fixed: Change compiled exe version strings to match git repo numbers. This is viewable in Windows by right-clicking on the executable and selecting "Properties".
2017-02-19 23:23:53 +01:00
Christoph Oelckers
26144340b8
- fixed: Hexen's poison cloud needs to call P_DamageMobj, even with a damage value of 0. Added a new flag to handle this case because normally this is not desirable.
2017-02-19 23:20:09 +01:00
Rachael Alexanderson
c2eed19b51
- fixed: Change compiled exe version strings to match git repo numbers. This is viewable in Windows by right-clicking on the executable and selecting "Properties".
2017-02-19 16:29:30 -05:00
Christoph Oelckers
4ca20e0297
- fixed: AActor::SetPortalTransition set an incorrect value for the previous position.
2017-02-19 21:35:06 +01:00
Rachael Alexanderson
11d6f46e2d
Merge https://github.com/coelckers/gzdoom
2017-02-19 13:05:32 -05:00
Christoph Oelckers
6c9558459d
- allow menu items to inherit their parent's Init method for MENUDEFS.
2017-02-19 18:15:40 +01:00
Christoph Oelckers
68b47d81de
- fixed WP_NOCHANGE changes with a restart, so this must be taken into account for the script variable holding it.
2017-02-19 17:58:54 +01:00
Christoph Oelckers
f3b6343e53
- use floats for menu item coordinates. This only has an effect in the ListMenu because the OptionMenu uses fixed offsets which work differently.
2017-02-19 17:24:30 +01:00
Christoph Oelckers
c0f588e234
- let M_ClearMenus destroy all open menus so that they can properly deinitialize.
2017-02-19 16:08:10 +01:00