Commit graph

16275 commits

Author SHA1 Message Date
Magnus Norddahl
e930dfaae7 - create ScriptCall function pointer on VMScriptFunction 2018-10-09 02:52:07 +02:00
Magnus Norddahl
137ef034d1 - modify the VM calling convention so that the callee sets up its own VM frame 2018-10-09 02:08:15 +02:00
Magnus Norddahl
367b60d88c - fix wrong registers getting saved when passing parameters by reference 2018-10-08 23:44:54 +02:00
Erick Tenorio
643e3a78d8 Fixes for Wraith Corporation WADs 2018-10-08 18:40:25 +02:00
alexey.lysiuk
77b8eb6547 - reverted macOS dark mode support with old SDKs
This feature causes several issues with NSOpenGLView:
* Mouse event coordinates are wrong in non-retina mode on HiDPI screen
* In retina mode only 1/4 of picture is visible and its scaling is incorrect
* Some sort of filtering is applied to frontbuffer picture
* Noticeable increase in CPU load because of that filtering

Linking with macOS 10.14 SDK leads to all these issues regardless of .plist option presence and its value
2018-10-08 15:50:56 +03:00
Magnus Norddahl
d643fbd077 - removed CanJit as all opcodes are now implemented
- fix some store bugs
2018-10-07 22:21:48 +02:00
Magnus Norddahl
47bcf318a5 - fix 32 bit compile errors 2018-10-07 20:55:06 +02:00
Magnus Norddahl
f321f64a05 - catch and rethrow c++ exceptions 2018-10-07 20:38:08 +02:00
Christoph Oelckers
2c9a82e084 - fixed potential null pointer access in Hexen's spike code. 2018-10-07 20:00:30 +02:00
alexey.lysiuk
4d14642cad - enabled macOS dark mode support with pre-10.14 SDKs
https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_app
2018-10-07 11:10:29 +03:00
alexey.lysiuk
2a68926192 - use Xcode 10 for Travis builds 2018-10-07 11:08:10 +03:00
Magnus Norddahl
47485194f4 - reuse temp virtual registers 2018-10-07 09:02:28 +02:00
Magnus Norddahl
c5a5265e40 Merge remote-tracking branch 'origin/master' into asmjit 2018-10-07 06:32:13 +02:00
Magnus Norddahl
d47988202a - workaround bug in asmjit's register allocator for calls where the return register is already allocated in a physical register needed by one of the call arguments 2018-10-07 06:29:54 +02:00
Christoph Oelckers
605d9ecdab - removed dynamic lights from Hexen's Mana pickups.
They barely glow, yet were casting relatively strong lights.
2018-10-06 23:50:12 +02:00
Magnus Norddahl
d4a64284ea
Merge pull request #586 from Talon1024/feature/objSmoothCalc
Calculate normals for OBJ models with smooth groups
2018-10-05 21:40:16 +02:00
Magnus Norddahl
8ea74770fd - fix artifact in PCF filter when the texture coordinate wraps 2018-10-05 21:30:16 +02:00
alexey.lysiuk
9cffc29134 - fixed stuck memory usage warning in options menu
https://forum.zdoom.org/viewtopic.php?t=62186
2018-10-05 15:22:21 +03:00
Magnus Norddahl
5e04678965 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-10-05 04:36:27 +02:00
Magnus Norddahl
6135e867a9 - remove shadow acne from PCF shadowmap filter and add three quality levels 2018-10-05 04:36:11 +02:00
Rachael Alexanderson
e7f19b01cb - added normal5x and normal6x 2018-10-04 22:09:18 -04:00
Magnus Norddahl
09bc6614cf
Merge pull request #595 from OrdinaryMagician/ue1_facetfix
Another minor correction to UE1 models
2018-10-04 23:24:16 +02:00
Marisa Kirisame
25ac526936 Computed facet normals for UE1 models were not normalized when they were supposed to. 2018-10-04 23:16:43 +02:00
Magnus Norddahl
c60270bd9e Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-10-04 15:33:22 +02:00
Magnus Norddahl
cd520a6528 - fix the nearest shadow map filter to have no shadow acne and replace linear with nearest in the menu 2018-10-04 15:33:07 +02:00
Marisa Kirisame
c3894ee348 Exports various resurrection-related functions to ZScript. 2018-10-04 08:59:37 -04:00
Vitaly Novichkov
59c8d8ff64 Upgrade libADLMIDI and libOPNMIDI
Added full-panning stereo, improvement of channel management, and many other things.

Also, I have implemented an ability to use custom WOPL (for libADLMIDI) and WOPN (for libOPNMIDI) banks from the same path as "soundfonts", but also, in the same environment, the "fm_banks" folder was added for WOPL/WOPN storing purposes.
To toggle usage of embedded or custom bank, I have added togglable booleans. When bank fails to be loaded, the default embedded bank is getting to be used as fallback.

ADLMIDI 1.4.0   2018-10-01
 * Implemented a full support for Portamento! (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for SysEx event handling! (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for GS way of custom drum channels (through SysEx events)
 * Ignore some NRPN events and lsb bank number when using GS standard (after catching of GS Reset SysEx call)
 * Added support for CC66-Sostenuto controller (Pedal hold of currently-pressed notes only while CC64 holds also all next notes)
 * Added support for CC67-SoftPedal controller (SoftPedal lowers the volume of notes played)
 * Fixed correctness of CMF files playing
 * Fixed unnecessary overuse of chip channels by blank notes
 * Added API to disable specific MIDI tracks or play one of MIDI tracks solo
 * Added support for more complex loop (loopStart=XX, loopEnd=0). Where XX - count of loops, or 0 - infinite. Nested loops are supported without of any limits.
 * Added working implementation of TMB's velocity offset
 * Added support for full-panning stereo option (Thanks to [Christopher Snowhill](https://github.com/kode54) for a work!)
 * Fixed inability to play high notes due physical tone frequency out of range on the OPL3 chip

OPNMIDI 1.4.0   2018-10-01
 * Implemented a full support for Portamento! (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for SysEx event handling! (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for GS way of custom drum channels (through SysEx events)
 * Ignore some NRPN events and lsb bank number when using GS standard (after catching of GS Reset SysEx call)
 * Added support for CC66-Sostenuto controller (Pedal hold of currently-pressed notes only while CC64 holds also all next notes)
 * Added support for CC67-SoftPedal controller (SoftPedal lowers the volume of notes played)
 * Resolved a trouble which sometimes makes a junk noise sound and unnecessary overuse of chip channels
 * Volume models support taken from libADLMIDI has been adapted to OPN2's chip speficis
 * Fixed inability to play high notes due physical tone frequency out of range on the OPN2 chip
 * Added support for full-panning stereo option

ADL&OPN Hotfix: re-calculated default banks
The fix on side of measurer of OPL3-BE and OPN2-BE where some instruments getting zero releasing time.
2018-10-04 08:58:47 -04:00
Rachael Alexanderson
2fff5c4c39 - use correct multipliers for the memory warnings for normalNx scalers 2018-10-04 08:43:02 -04:00
Rachael Alexanderson
b6bcc1b0f5 Add 'normalNx' texture scaling 2018-10-04 08:43:02 -04:00
alexey.lysiuk
c589f1bba7 - added a warning for texture upscaling modes 2018-10-04 08:43:02 -04:00
alexey.lysiuk
778a7c370d - added 5x and 6x upscaling with xBRZ 2018-10-04 08:43:02 -04:00
alexey.lysiuk
36adbcd9ed - localized names for xBRZ scaling modes 2018-10-04 08:43:02 -04:00
alexey.lysiuk
e111e2251c - cleaned up old xBRZ 1.0 upscaler
Removed obsolete header comments and support for C++98
Disabled Windows only debug features
2018-10-04 08:43:02 -04:00
alexey.lysiuk
30c3f4f597 - update xBRZ upscaler to version 1.6
Fixed build with all suported toolchains thanks to incomplete implementation of C++14 in MSVC 2015 and GCC 4.9
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.6.zip
2018-10-04 08:43:02 -04:00
Magnus Norddahl
d65d462268 - add some comments to shadowmap.fp 2018-10-04 01:29:25 +02:00
Magnus Norddahl
36946a47fe - fix diagonal linear shadow map artifact 2018-10-04 00:46:17 +02:00
Rachael Alexanderson
51dfc82153 - fix missing curly brace 2018-10-03 09:39:32 -04:00
Christoph Oelckers
92e419d65c - toned down the intensity of the dynamic lights for Doom's torches. 2018-10-03 13:46:25 +02:00
Christoph Oelckers
797f88a6c8 - some tweaking of shadowmap filter setting to allow changing the PCF filter's number of samplings. 2018-10-03 13:45:54 +02:00
Christoph Oelckers
35bb2d3079 - add new option to menu 2018-09-29 13:31:13 +02:00
Christoph Oelckers
c8852b8fea - enabled the linear shadowmap filter.
Although this doesn't look as good as the PCF version it is a lot less calculation intensive and therefore more suitable for weaker hardware.
It also tends to bleed through walls a lot less.
2018-09-29 13:23:40 +02:00
Christoph Oelckers
86c7e87767 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-09-29 12:59:11 +02:00
Marisa Kirisame
670c86cd47 Fix a major oversight that caused UE1 models to use the normals of the first frame for all frames. 2018-09-25 21:00:04 +02:00
Marisa Kirisame
a9b25242cd Hotfix: The output from CheckReplacement no longer permanently overrides an actor's replacement. 2018-09-23 23:40:58 +02:00
Magnus Norddahl
3b8b312fae - clamp the software light to never get brighter than the initial light level 2018-09-23 17:58:17 +02:00
Kevin Caccamo
525ab8eda3 Attempt to fix warnings from VS2017 Win64 compiler 2018-09-22 12:49:54 -04:00
Kevin Caccamo
7d4895d9df Calculate normals for OBJ models with smooth groups
Add smoothGroup member to OBJFace struct, and assign the current smooth group number to it
Move face normal calculation code to CalculateNormalFlat
Add AddVertFaces method, which initializes and populates the vertFaces array of arrays, which holds references to triangle references per vertex
Only initialize and populate vertFaces if the model has missing normals and smooth groups
Assign smooth groups to triangle data
Add CalculateNormalSmooth method, which calculates the normals for each face the vertex is attached to, depending on whether or not the faces are part of the given smooth group, and averages them out
Add OBJTriRef struct, which holds references to triangles on OBJ surfaces

Make {agg,cur}SurfFaceCount unsigned ints
Change nvec to a value instead of a pointer
2018-09-22 10:24:01 -04:00
Magnus Norddahl
5bf76523d6 - switch ToMemAddress to imm_ptr where allowed 2018-09-18 18:13:53 +02:00
Magnus Norddahl
05ac219ba6 - switch from ASMJIT_ARCH_X64 to ASMJIT_ARCH_64BIT when checking if we need to use 64-bit pointers 2018-09-18 18:05:53 +02:00
Magnus Norddahl
ad260aa971 - create a very basic OP_IJMP implementation 2018-09-17 21:52:21 +02:00