Kevin Caccamo
bb8c66b3a0
Fix rendering and parsing of OBJ models
...
Create a new surface for each 'usemtl' statement in the OBJ file, and fix memory errors caused by TriangulateQuad.
Calculate missing normals, and fix incorrect UV coordinates
Fix construction of vertex buffer for objects with multiple surfaces
Localize curMtl, curSurface, aggSurfFaceCount, and curSurfFaceCount to FOBJModel::Load(), since they are not used anywhere else.
Fix parsing of OBJs without UV references
Internally, I replaced hashtag line comments with C-style line comments, and I replaced each forward slash with newSideSep.
If no UV coordinates are available, add a default vector of (0,0).
Also, remove "this->" from ResolveIndex to make the code a bit cleaner, and fix a minor garbage issue I failed to notice earlier (normref would pick up garbage if there was no normal reference).
Ensure usemtl statements remain intact
It may be a bit inefficient, but I tried modifying the buffer directly, and I got memory corruption errors. In this case, it's a lot better to be safe than sorry.
2018-09-01 07:28:26 +02:00
Kevin Caccamo
1c15fb2408
Initial work on OBJ model support
...
What works:
- Parsing the model
- Constructing geometry (surfaces) for triangulated models
What doesn't:
- Rendering the model
- Building the vertex buffer
- Triangulating quads
2018-09-01 07:28:26 +02:00
ZippeyKeys12
c8e55fed46
Moved FConfigFile over to FileReader/FileWriter
...
Don't use new operator, use value instead
2018-08-31 14:29:37 +02:00
alexey.lysiuk
050d72724f
- fixed: always initialize active colors in special font
...
https://forum.zdoom.org/viewtopic.php?t=61859
2018-08-31 10:42:53 +03:00
Magnus Norddahl
ccd2f58fb4
- implement emitter functions for LKP_R, META, CLSS, LO, LO_R, LP, LP_R, SO, SO_R, SP, SP_R
...
- add emit code for throwing exceptions on null pointers
2018-08-31 06:57:30 +02:00
Magnus Norddahl
999b3833ff
- improve jit debug output slightly
2018-08-30 19:55:00 +02:00
Magnus Norddahl
bba422ffcc
- fix offsetting bug when loading address registers
2018-08-30 19:47:38 +02:00
Jonathan Russell
ea81ab4097
- added Screen.DrawThickLine for drawing lines with thickness
2018-08-30 19:21:57 +02:00
Magnus Norddahl
c7e14e63bc
- fix swapped operands in EmitSUBF_KR
2018-08-30 18:47:25 +02:00
Braden Obrzut
aaee655eba
- Added paths for all games on Steam for Linux since they now offer the ability to download all games for Proton/Wine.
...
- Check ~/.steam on Linux for the config since either they moved it at some point or my setup changed and that's where it is for me now.
2018-08-29 19:08:54 +02:00
Magnus Norddahl
4b22fa7bc8
- implement MODF_RR, MODF_RK and MODF_KR
2018-08-29 01:27:37 +02:00
Magnus Norddahl
a5719e73eb
- fix mul using wrong instruction
2018-08-29 01:07:36 +02:00
Magnus Norddahl
25e7042bc5
- implement BOUND opcodes and add logging the resulting assembly code if asmjit throws an exception
2018-08-26 14:27:46 +02:00
Rachael Alexanderson
4d3249496a
- fixed: sound from poly objects through portals will now propegate properly
2018-08-25 18:23:59 -04:00
Christoph Oelckers
5b7d3c91f9
- defaulted constructors and assignment operators of several trivial types.
2018-08-25 23:51:36 +02:00
Rachael Alexanderson
0c4e6f88a6
- bump ZScript version number to 3.6.0, since GZDoom 3.5.1 updated it and that's not yet reflected in the master.
2018-08-25 16:46:09 -04:00
Christoph Oelckers
d263f7bcc8
- removed most of the old LastIndexOf methods in FString, only leaving one for ZScript and clearly giving it a name that says it all. RIndexOf has been made the proper version of LastIndexOf internally now.
2018-08-25 20:54:16 +02:00
Christoph Oelckers
c04c48d157
- renamed RIndexOf to RightIndexOf
2018-08-25 20:39:58 +02:00
Kevin Caccamo
884de51b70
Add the "RIndexOf" method to FString, which works like String.lastIndexOf from JavaScript
...
RIndexOf returns the index where the substring starts, instead of the index where the substring ends - 1.
Deprecate the LastIndexOf method of StringStruct
2018-08-25 20:37:40 +02:00
Magnus Norddahl
7b886cc434
- implement a few more opcodes and fix some bugs
2018-08-25 13:38:45 +02:00
Magnus Norddahl
f84028eeae
- implemented pow, min, max
2018-08-24 23:17:35 +02:00
Magnus Norddahl
53943c4dd2
Merge remote-tracking branch 'gzdoom/master' into asmjit
2018-08-24 23:16:50 +02:00
Rachael Alexanderson
a99b71e19a
- disable survey code, 3.5.0's is over
2018-08-23 15:09:40 -04:00
Magnus Norddahl
eb9d2b54f3
Merge remote-tracking branch 'gzdoom/master' into asmjit
2018-08-23 18:20:23 +02:00
Magnus Norddahl
01ea329cd4
- only render visual portals if they are front facing
2018-08-23 18:19:53 +02:00
argv-minus-one
1d930b45cf
Add ZScript method LevelLocals.SphericalCoords
.
...
It computes spherical coordinates from one point in the world to another. Useful for checking whether one actor is inside another actor's view cone.
2018-08-21 08:22:16 +02:00
Magnus Norddahl
17813e4b3e
- implement ATAN2 and FLOP
2018-08-20 01:40:37 +02:00
Christopher Bruns
03fa1a12cb
Avoid overriding vr eye-specific buffer binding during 2D rendering.
2018-08-20 00:59:52 +02:00
Magnus Norddahl
38fa25d0c5
- implement DYNCAST*, TEST, TESTN and JMP opcodes
2018-08-20 00:44:48 +02:00
Christoph Oelckers
fad406c4c9
- got rid of FNameNoInit and made the default constructor of FName non-initializing.
...
This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually.
This also merges the player_t constructor into the class definition as default values.
2018-08-19 08:19:19 +02:00
Magnus Norddahl
302d753d17
- convert JitCompile's switch into a class to enable easier code reuse
2018-08-19 01:46:56 +02:00
Magnus Norddahl
c17be9eb21
- fix clang compile error
2018-08-18 22:46:18 +02:00
Magnus Norddahl
3453f05f06
- implement throwing by storing exception information in a struct, then return from the jitted function and throw from c++
2018-08-18 22:41:18 +02:00
Jonathan Russell
d983ae66c7
- removed the ability to use printf-like formatting in emitAbortExceptionCall, it barely worked
2018-08-18 20:37:55 +01:00
Jonathan Russell
6424190cbf
- add first draft of abort exceptions
2018-08-18 18:03:18 +01:00
Magnus Norddahl
c89d8bb9bb
- call play sqrt when calculating lengths
2018-08-18 18:41:35 +02:00
Magnus Norddahl
b159b5667a
- fix 8 and 16 bit store
2018-08-18 18:21:52 +02:00
Magnus Norddahl
e557e8fac0
- destroy the jit runtime when all script functions are destroyed
2018-08-18 17:50:47 +02:00
alexey.lysiuk
34f2d8f310
- fixed typo in error message
2018-08-18 17:45:26 +03:00
alexey.lysiuk
12b8510574
- cleaned up inconsistent leading whitespaces
...
Bump copyright year as well
2018-08-18 16:05:33 +03:00
alexey.lysiuk
31bd7cfc04
- prohibit assignment of dynamic arrays
...
https://forum.zdoom.org/viewtopic.php?t=61682
2018-08-18 15:20:38 +03:00
Magnus Norddahl
9d68d43ce7
- disable all unimplemented opcodes in the switch to ensure 'Unknown VM opcode' fatal error is generated if CanJit has a bug
2018-08-18 13:18:52 +02:00
Magnus Norddahl
68b2cd58d8
Fix compile errors on macOS
2018-08-18 12:37:33 +02:00
alexey.lysiuk
d965c9aa76
- support static const arrays inside structs
...
https://forum.zdoom.org/viewtopic.php?t=61677
2018-08-18 13:00:33 +03:00
Jonathan Russell
6a40e092fe
- added remaining int arithmetic opcodes (and fixed float loading offset issue)
2018-08-17 22:06:12 +01:00
Marisa Kirisame
20b6db30d7
Added missing check for HITOWNER on bouncers with 0 damage.
2018-08-17 21:39:41 +02:00
Jonathan Russell
758ee5cbfb
- forgot to turn off debug switch in last commit
2018-08-17 19:15:27 +01:00
Jonathan Russell
08c0ac541f
- made absMaskInt const
2018-08-17 19:14:31 +01:00
Jonathan Russell
d137b3c94e
- implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles
2018-08-17 19:08:19 +01:00
Marisa Kirisame
155afebb65
Add HITOWNER flag, when set, allows a projectile to collide with its shooter.
2018-08-17 19:47:12 +02:00
Chronos Ouroboros
079391e5ac
Updated CanJit's supported opcodes list.
2018-08-16 21:45:04 +02:00
Chronos Ouroboros
a8ce626708
Pointer addition opcodes must leave NULL pointers as they are.
2018-08-16 21:45:04 +02:00
Marisa Kirisame
02926a5567
Add "IsFinal" parameter for CheckReplacement.
...
If set to true it guarantees that the replacement is final and will not go through the rest of the replacement chain.
2018-08-16 21:44:21 +02:00
Marisa Kirisame
4e690b1f60
Fix SDL window "sticking" to the center of the screen after using vid_setsize.
2018-08-15 21:03:07 +02:00
Marisa Kirisame
e18b17217f
Added CheckReplacement to event handlers, a function inspired by its namesake in Unreal's Mutator class.
...
Performs runtime replacement of actor classes.
Takes priority over the "replaces" keyword in both DECORATE and ZScript.
2018-08-15 19:31:09 +02:00
Chronos Ouroboros
591783087d
Changed binary int ops to use a temporary register, fixed some opcodes.
...
For some reason, binary ops might reuse one of the input registers as the output register.
This is a problem for very obvious reasons.
2018-08-14 20:08:04 -03:00
Jonathan Russell
dc03cb7a80
- made CMP_CHECK checking compile time
2018-08-14 20:50:32 +01:00
Christoph Oelckers
96ec6b1dc6
- fixed FS camera for real.
2018-08-14 21:12:50 +02:00
Jonathan Russell
740415246e
- added exact floating point comparison opcodes
2018-08-14 18:32:17 +01:00
Jonathan Russell
167693f102
- implemented all integer comparison operators
2018-08-14 15:07:09 +01:00
Jonathan Russell
b30df47499
- adds OP_EQ_R, the first instruction using jumps
2018-08-14 13:02:56 +01:00
Magnus Norddahl
0ced612d2c
- add misc float opcodes
2018-08-14 01:07:30 +02:00
Jonathan Russell
cdb5a9d91e
- added most vector maths opcodes
2018-08-13 21:36:55 +01:00
Christoph Oelckers
57ed4df85e
- fixed FraggleScript's moving camera.
...
The logic here was a bit more complicated than I assumed but it was all buried in a heap of code that tried to deal with angular wraparounds in the BAM format.
2018-08-13 20:48:27 +02:00
Christoph Oelckers
c33f358894
- clear GLWF_TRANSLUCENT at the end of PutWall.
2018-08-13 20:48:27 +02:00
Chronos Ouroboros
cb28bbc72e
Fix floats and implement some more opcodes.
2018-08-13 13:07:36 -03:00
Magnus Norddahl
83d769f55c
- copy initial register values from the VM frame
2018-08-13 00:15:42 +02:00
argv-minus-one
a10f9526bc
Bump ZScript version to 3.5.0.
...
When GZDoom 3.5.0 was released, the ZScript version in the release commit was set to 3.5.0, but on master it was left at 3.4.0.
In the future, I suggest setting the ZScript version *before* making a release commit. Then master will remain up to date.
2018-08-12 10:01:27 +02:00
alexey.lysiuk
b6ff468aaf
- creation of dither texture no longer affects active unit
...
Red checkerboard was rendered upon startup instead of
* the first saved game's thumbnail
* the first game frame
2018-08-12 10:55:24 +03:00
Magnus Norddahl
7108fd6228
- implement most of the integer math opcodes
2018-08-12 04:34:57 +02:00
Magnus Norddahl
cbb945d8a7
- embed and use asmjit to JIT ZScript VM functions
2018-08-12 02:11:13 +02:00
Christoph Oelckers
19a5a2fd2b
- fixed dither math.
2018-08-11 09:27:35 +02:00
Rachael Alexanderson
ecdc485e05
- Allow specifying monitor bits-per-channel for dithering output. Not all displays are created equal, so this option is actually important for specifying the exact amount for your display.
2018-08-09 15:13:26 -04:00
Magnus Norddahl
d121fa21bf
- add gl_dither for toggling dithered output on and off
2018-08-08 21:58:23 +02:00
Christoph Oelckers
863b9fff8a
Make dither texture data constant
2018-08-08 08:43:46 +02:00
Rachael Alexanderson
24e2c3a611
- replace dither texture with a hand pre-calculated table)
2018-08-07 20:47:17 -04:00
Magnus Norddahl
31addbc859
- use a texture for the dither matrix
2018-08-08 00:54:12 +02:00
Marisa Kirisame
51b57cebb1
Additional blocking-related flags for Actor.LineTrace()
2018-08-05 09:42:40 -04:00
Marisa Kirisame
a2f7d36dc3
Fix model rendering only using interpolated yaw. Pitch and roll are now also interpolated.
2018-08-05 09:40:01 -04:00
Magnus Norddahl
48c83d36b5
- add post processing support to the software renderer and softpoly
2018-08-04 14:58:55 +02:00
David Carlier
1e11ce3bee
Texture data overlap occuring here, using memmove instead.
2018-08-04 09:21:55 +03:00
alexey.lysiuk
9d2b7e560b
- fixed compilation warning reported by MSVC
...
src\r_data\models\models_ue1.cpp(103): warning C4244: 'argument': conversion from 'int' to 'float', possible loss of data
2018-08-03 16:29:13 +03:00
alexey.lysiuk
eeec943cc0
- bump version number
2018-08-03 16:27:37 +03:00
Rachael Alexanderson
bd1e484c1e
- redo the menu a bit, add in some C++ support code to make it a little bit more flexible
...
- further tweaks. reduce clutter in custom resolution submenu by moving it to another
- add 'prevmenu' ccmd
2018-08-02 07:37:07 -04:00
Magnus Norddahl
00ada6cf56
fix: softpoly TEXTURES sprites with scale of 2 are tiled
2018-07-30 22:09:40 +02:00
Magnus Norddahl
5b8a016cad
- add vid_hdr cvar that enables higher than 8bpc output for monitors that support it
2018-07-30 22:01:05 +02:00
Christoph Oelckers
a516210b18
- always retrieve uniform buffer properties.
...
They are sometimes needed even if shader storage buffers are available.
2018-07-29 21:31:16 +02:00
Christoph Oelckers
6634416b89
- allow skipping optional arguments of the parent function in a virtual override definition.
...
This is mainly to allow retroactive addition to existing virtual functions without breaking existing content.
The MeansOfDeath fix for Actor.Die would not be possible without such handling.
2018-07-29 17:00:05 +02:00
Christoph Oelckers
ff69d945e1
- fixed: A global variable was used to pass MeansOfDeath to ClientObituary.
...
The problem here is that this affects the public scripting interface so it cannot be committed to master without further adjustments.
# Conflicts:
# src/p_interaction.cpp
2018-07-29 17:00:05 +02:00
alexey.lysiuk
269ca3155a
- fixed buffer overflow in saved game comment
...
https://forum.zdoom.org/viewtopic.php?t=61465
2018-07-29 11:29:29 +03:00
alexey.lysiuk
e9041c0697
- fixed potential garbage collection of still referenced objects
...
Objects from dynamic array stored in items of array of structures were incorrectly treated as unreachable
https://forum.zdoom.org/viewtopic.php?t=61354
2018-07-28 19:34:20 +02:00
Christoph Oelckers
7e69cd862e
- restore the viewport after the SSAO pass.
...
This runs through the generic postprocessing code which restores the screen's viewport but since this is run in the middle of the scene it needs to restore the scene's viewport (i.e. the window controlled by screenblocks.)
2018-07-28 19:01:34 +02:00
Marisa Kirisame
66f616dc1a
Set default window size to 80% of current display in SDL.
...
Make vid_setsize center window on current display in SDL.
2018-07-28 17:45:19 +02:00
alexey.lysiuk
477d2d0389
- center Cocoa window on vid_setsize CCMD
2018-07-28 18:17:25 +03:00
Christoph Oelckers
7c39773f98
- somehow the fullscreen default got reset...
2018-07-28 14:28:48 +02:00
alexey.lysiuk
8fab9f8c13
- set default window size to 80% of screen in Cocoa backend
2018-07-28 15:05:06 +03:00
Christoph Oelckers
9768698eda
- do not use SSBOs for dynamic lights on Intel graphics hardware for performance reasons.
...
This was already disabled for GL 4.4 and lower but also needs to be done for Intel's GL 4.5 drivers.
Unlike before this is now exclusive to the light buffer, the shadowmap feature is not affected anymore, although that should be impossible to use anyway on all affected hardware due to lack of computing power.
2018-07-28 12:43:35 +02:00
Christoph Oelckers
843e9e950f
- make the non-fullscreen window default to 80% of the current display size on Windows.
2018-07-28 11:57:51 +02:00
alexey.lysiuk
d58fe1f78a
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_main.mm:262:2: error: use of undeclared identifier 'fullscreen'
2018-07-28 12:24:23 +03:00
Christoph Oelckers
0d8d860c93
- moved the win_* CVARs to a single platform independent location.
2018-07-28 10:27:41 +02:00
Christoph Oelckers
3b53f31da3
- default to fullscreen display.
2018-07-28 10:05:50 +02:00
Magnus Norddahl
990f02d7c5
- add support for specifying the exact thread count to r_multithreaded and r_scene_multithreaded
2018-07-28 04:57:23 +02:00
Christoph Oelckers
c60b4239ed
- more parentheses.
2018-07-27 20:55:57 +02:00
Christoph Oelckers
bb5dc92225
- added information about full OpenGL features support to survey code.
2018-07-27 20:47:23 +02:00
Marisa Kirisame
79f0deaff4
Implement vid_setsize on SDL backend.
2018-07-25 10:34:52 +03:00
Christoph Oelckers
96bb8a779c
- fixed incomplete reordering of code.
2018-07-23 21:17:57 +02:00
Christoph Oelckers
6076f0a69d
- disable any texture clamping for textures with a user shader.
...
This cannot be reliably determined so the least restrictive setting must be used.
2018-07-23 17:53:35 +02:00
alexey.lysiuk
3a6e05710a
- fixed missing decals on 3D floors with hardware renderer
...
https://forum.zdoom.org/viewtopic.php?t=61404
2018-07-23 16:46:51 +03:00
Rachael Alexanderson
63393e8f1a
- fixed: use templates.h
function for minimal value check
...
- fixed: it was `MAX` all along, not `min` :P
2018-07-22 18:08:54 -04:00
Magnus Norddahl
b1468d9dcc
- somehow visual studio 2015 miscompiles this so badly it triggers an out of bounds assert in STL!
2018-07-22 22:51:08 +02:00
Christoph Oelckers
2382b9a238
- fixed: GLScenePortal did not forward IsSky to its backing object.
2018-07-22 21:18:00 +02:00
Rachael Alexanderson
fccb0b76c6
- fixed: correct the functionality of the 'min' function in the scaling code
2018-07-22 12:34:33 -04:00
Rachael Alexanderson
8cb281bf42
- fixed: I misnamed the function in my last commit, it should've been called 'min' not 'max'
2018-07-22 12:07:46 -04:00
Rachael Alexanderson
682b0ebf48
- enforce 320x200 minimum in actual scaling code
2018-07-22 12:05:16 -04:00
Christoph Oelckers
d84497c85a
- don't let the video scale let the screen end up with a client size less than 320x200, which may cause undefined behavior and trigger asserts in debug builds.
2018-07-22 11:40:12 +02:00
Christoph Oelckers
6d0b172762
- added MF8_DONTFACETALKER flag which prevents NPCs from facing the player in conversations.
2018-07-22 11:32:45 +02:00
alexey.lysiuk
051521a898
- set minimum size for Cocoa window
2018-07-22 12:10:06 +03:00
alexey.lysiuk
43d472328c
- implemented vid_setsize CCMD in Cocoa backend
2018-07-22 11:16:48 +03:00
alexey.lysiuk
4bb125d76c
- removed obsolete list of video modes
2018-07-22 11:04:38 +03:00
Rachael Alexanderson
f71b5154c7
- fix vid_showcurrentscaling so that it works even when vid_scalemode is 2 or greater.
2018-07-21 22:27:43 -04:00
Rachael Alexanderson
e4fd6ee03f
- the error checking on the previous commit should've been done slightly differently
2018-07-21 21:51:37 -04:00
Rachael Alexanderson
d7b7ae06e7
- implement a new vid_scalemode: 5 - this allows the usage of custom absolute scaling modes
...
- new ccmd: vid_setscale <x> <y> [linear] [fake-mcga-4:3] - sets vid_scalemode to 5 with the absolute scaling parameters. example: vid_scalemode 800 600 allows you to see the screen (stretched) as if it were 800x600. Linear specifies whether to force the scaling to be linear in this mode, and "fake-mcga-4:3" is meant for 320x200-like modes that mimic mode13h scaling.
2018-07-21 21:39:35 -04:00
Christoph Oelckers
156ed5790e
- added vid_setsize CCMD and fixed some issues with window restoration when switching from fullscreen.
...
Windows apparently cannot both undo borderless fullscreen and resize the window at the same time, so this must delay the resizing one frame.
2018-07-21 21:32:02 +02:00
Christoph Oelckers
369267bbe9
- adjusted stat code for the new survey.
2018-07-21 19:14:11 +02:00
Rachael Alexanderson
21575bc3df
- re-enable stats sending
...
- re-direct stats sending to new stats script
2018-07-21 07:21:37 -04:00
Christoph Oelckers
6ca2b3fce1
- fixed display for smaller screeblocks value.
...
When refactoring the screen scaling one line too many was altered by accident.
2018-07-21 12:13:17 +02:00
Christoph Oelckers
57f65a9379
- fixed: The 2D drawer did not restore the blend mode after finishing.
2018-07-20 19:46:53 +02:00
Christoph Oelckers
18213f377c
- fixed: Inventory items that have been modified with Dehacked to be monsters should not be killed by P_Massacre when being owned.
2018-07-20 11:43:49 +02:00
Christoph Oelckers
2a0c3e63a3
- allow temporary strings to be used as self pointer for String's member functions.
...
Due to how function calls get resolved by the code generator there were some incorrect flags on the self pointer which triggered an assert and caused incorrect code generation.
Fortunately this was a mostly contained special case for which a workaround was possible.
2018-07-20 10:38:55 +02:00
Christoph Oelckers
4a7b1aada7
Merge remote-tracking branch 'remotes/origin/modern'
...
# Conflicts:
# wadsrc/static/shaders/glsl/main.fp
2018-07-20 10:19:07 +02:00
Magnus Norddahl
a841602d70
- change the software renderer to render to a DSimpleCanvas like the old D3D9 target did. Then use the drawer threads to memcpy the result to the PBO
2018-07-20 05:48:15 +02:00
alexey.lysiuk
4d35b12808
- fixed crash on accessing state owner during VM abort
...
https://forum.zdoom.org/viewtopic.php?t=61338
2018-07-19 13:38:49 +03:00
Magnus Norddahl
7da61ddfee
- fix missing forward declaration when falling back to older user shaders
2018-07-19 02:34:45 +02:00
Magnus Norddahl
a0a7fd53e8
- change software renderer back to writing directly into the pixel buffer object, but change the creation and mapping so that hopefully all vendors put it in system memory
2018-07-18 17:47:09 +02:00
Magnus Norddahl
23c0f8f6ac
- fix buffer usage warning caused by using the wrong flag for glMapBuffer after switching to doing a plain memcpy
2018-07-18 16:04:35 +02:00
Magnus Norddahl
e93d1e3ebc
- change software renderer upload code to use GL_STREAM_DRAW and a memcpy from system memory
2018-07-18 06:46:30 +02:00
alexey.lysiuk
4e2385e912
- load common conversation lumps regardless of map naming scheme
...
https://forum.zdoom.org/viewtopic.php?t=61313
2018-07-17 12:56:23 +03:00
alexey.lysiuk
b2697a99f8
- added missing null pointer checks to VM ops
2018-07-16 17:10:47 +03:00
Magnus Norddahl
1ef9938320
- fix user defines and textures not working
2018-07-15 23:34:58 +02:00
Magnus Norddahl
fcb14494d7
- improve the gldefs syntax by allowing the shader to be specified in the material section
2018-07-15 23:21:06 +02:00
Magnus Norddahl
8a500a25f5
- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function
2018-07-15 23:01:40 +02:00
Christoph Oelckers
79b3c41677
- fixed titlepic animation.
...
It needed more than using the animated accessor. The code here nearly went out of its way to circumvent the texture manager's built in logic.
2018-07-15 22:51:25 +02:00
Christoph Oelckers
f62e2f9ba3
- fixed: The stencil cap may never write to the depth buffer.
...
Due to the way nested portals work this will block rendering of the nested cap entriely and cause some visual glitches when looking straight up or down in such a sector.
2018-07-15 19:16:12 +02:00
alexey.lysiuk
f554120086
- output Mac model identifier to startup window
2018-07-15 14:28:21 +03:00
alexey.lysiuk
5c7dd28f7d
- replaced deprecated macOS functions in paths handling
2018-07-15 13:20:36 +03:00
alexey.lysiuk
fc7af31cb9
- replaced usage of deprecated APIs to get macOS version
2018-07-15 13:20:36 +03:00
alexey.lysiuk
ccf056a888
- increased minimum macOS version to 10.9 in .plist
2018-07-15 13:20:36 +03:00
alexey.lysiuk
e2ac5cdf57
- removed unused macOS specific #include
2018-07-15 13:20:36 +03:00
Christoph Oelckers
7c527de374
- call P_PlayerStartStomp only when the map is played directly from the loaded data and only when it has been fully loaded.
...
The old code did this right in the middle of map initialization where not everything had been set up yet.
2018-07-15 10:57:10 +02:00
Christoph Oelckers
2c86c4e942
- fixed: When deleting a camera texture's depth buffer, the corresponding variable must also be cleared.
...
Thanks to OpenGL's messed up state system this didn't cause some clear failure but just reused the last bound buffer instead which may not have had a matching size.
2018-07-15 10:55:34 +02:00
Christoph Oelckers
d58d1e21d0
- removed the texture invalidation check from FHardwareTexture.
...
This is not needed anymore because only warp and camera textures still implement CheckModified and both are excluded here.
2018-07-15 00:28:16 +02:00
Christoph Oelckers
1294f3df64
- replaced the procedural backdrop texture with some warped noise texture.
...
This was done because the backdrop as implemented was the only texture in the entire game that had to be deleted and recreated each frame.
However, with Vulkan this would have necessitated quite a bit of synchronization with the render pipeline which wasn't really feasible just for this one single texture.
Now the texture manager can assume that once a texture was created it will be immutable and never has to change.
2018-07-15 00:00:00 +02:00
Christoph Oelckers
7a692b1557
- added DTA_LegacyRenderStyle so that STYLE_* constants can be passed directly to the Draw functions.
...
- fixed the optional parameter in Shape2D.Clear.
2018-07-14 22:58:24 +02:00
Christoph Oelckers
ed856085f4
- use the Dim function to draw the palette tester.
...
This looks better, consumes less resources and removes one ugly special texture from the engine.
2018-07-14 18:28:12 +02:00
Christoph Oelckers
33ee0f3c27
Merge branch 'master' into modern
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/gl/renderer/gl_renderer.h
# src/gl/renderer/gl_renderstate.h
# src/gl/system/gl_framebuffer.cpp
# src/gl/system/gl_framebuffer.h
2018-07-14 13:18:34 +02:00
Christoph Oelckers
7817e6a7b2
- moved the texture binding code back to the OpenGL specific parts.
...
turns out that this cannot be consolidated with Vulkan because the semantics are far too different here.
2018-07-14 13:05:49 +02:00
Christoph Oelckers
69a3271440
- removed the unused feature to allow animated material layers.
...
This was a relic from trying to support ZDoomGL's texture shader system but would make texture management with Vulkan significantly more complicated because it would require dynamic descriptor set management for textures which can cause a lot of overhead.
2018-07-14 12:10:41 +02:00
usernameak
7de9e1f097
Added ability to set defines in custom HW shaders
2018-07-14 12:01:54 +02:00
usernameak
e306d4ee04
Fix codestyle; add ability to name the textures
2018-07-14 12:01:54 +02:00
usernameak
fa51a54042
Made ability to define custom material shaders for ProcessMaterial function
2018-07-14 12:01:54 +02:00
usernameak
292458ee2d
Custom hardware shaders now can use custom texture units
2018-07-14 12:01:54 +02:00
Christoph Oelckers
124fe63d00
Merge branch 'master' into modern
2018-07-14 10:24:41 +02:00
Marisa Kirisame
2d0fb4ed2e
Adds 2D shape (triangle array) drawer, usable from ZScript. Handles most drawtexture parameters excluding those related to scaling, at the moment.
2018-07-13 20:24:06 +02:00
alexey.lysiuk
23a4daac23
- skipped owned items in proximity test
...
https://forum.zdoom.org/viewtopic.php?t=61224
2018-07-11 17:49:30 +02:00
alexey.lysiuk
55ae431c02
- fixed crash on setting particular CVARs
...
Game crashed when any of gl_brightfog, gl_lightadditivesurfaces, gl_notexturefill CVARs is set with no level loaded
There was impossible to reset settings to defaults because of this
2018-07-07 12:04:41 +03:00
David Carlier
2a59327aeb
foo being allocated with metadata based allocator needs to
...
be freed similarly.
2018-07-06 10:59:23 +03:00
Marisa Kirisame
e5249f302a
UE1: Clean up and restructure model class.
...
UE1: Add support for Deus Ex format vertex data.
UE1: Group triangles by skin index AND type/flags (preparation for per-surface render style support).
UE1: Add handling of Weapon Triangle (preparation for model attachment support).
UE1: Support flat shaded triangle flag.
2018-07-04 21:31:48 +02:00
Magnus Norddahl
ebae12e74b
- Make members private that are not used outside FGLRenderBuffers
2018-07-03 23:35:34 +02:00
Magnus Norddahl
092b2953ea
- add GL to OpenGL specific postprocess classes to make it more clear which belongs to the generic hw interface and which belong to the OpenGL implementation
2018-07-03 23:31:40 +02:00
Magnus Norddahl
2128b99117
- fix ssao not working when multisample was off
2018-07-03 23:21:54 +02:00
Magnus Norddahl
128c8d8318
- improve the bloom blur quality slightly
2018-07-03 23:12:47 +02:00
Magnus Norddahl
fcee021753
Fix frame buffer binding bug that caused PP textures to end up with bad data
2018-07-03 21:44:49 +02:00
Christoph Oelckers
158890e0ce
- fixed : Decals used the wrong texture variant.
2018-07-02 19:12:48 +02:00
Magnus Norddahl
2e5b7a7d8b
- softpoly: fix sprites still lit when dynlights off
2018-07-01 20:53:50 +02:00
Magnus Norddahl
6d6ee1281e
- softpoly: fix normal walls not getting rendered for subsectors with poly objects in them
2018-07-01 14:41:35 +02:00
Magnus Norddahl
4482ad2b78
- fix saved texture bindings to work for any number of binds
2018-07-01 14:31:30 +02:00
alexey.lysiuk
0a139e90fb
- restored initial clamping for blend colors
...
https://forum.zdoom.org/viewtopic.php?t=61134
2018-06-30 20:27:04 +03:00
Magnus Norddahl
5b3212df13
Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess
2018-06-30 16:47:06 +02:00
Magnus Norddahl
c0c7573788
- fix black ssao bug
2018-06-30 16:46:33 +02:00
Magnus Norddahl
8eb825e25a
- fix some postprocess bugs
2018-06-30 16:44:09 +02:00
Magnus Norddahl
ba09af7cbb
- add GL debug group for the 2D drawer
...
- remove pointless opengl calls from effects that are doing nothing
2018-06-30 15:41:12 +02:00
Magnus Norddahl
723b18f2cd
Merge branch 'hw_postprocess' of https://github.com/coelckers/gzdoom into hw_postprocess
2018-06-30 15:24:25 +02:00
Magnus Norddahl
35c13763db
- convert the SSAO pass to use hw_postprocess
2018-06-30 15:24:13 +02:00
alexey.lysiuk
43b94d829e
- fixed crash when actor is destroyed during spawning
...
This only applies to spawning via summon... CCMDs
Now 'summon decal 0' no longer crashes the game
2018-06-30 15:11:21 +03:00
alexey.lysiuk
5d27c16f30
- disabled default values for out parameters
...
https://forum.zdoom.org/viewtopic.php?t=61128
2018-06-30 11:44:22 +03:00
alexey.lysiuk
1d937b9f3c
- removed Class identifier workaround from Cocoa backend
2018-06-30 11:43:30 +03:00
alexey.lysiuk
49f2e75ee4
- removed support of legacy OpenGL profile in Cocoa backend
...
Minimum OpenGL version is now 3.3 and so, the given legacy fallback doesn't make any sense
This increases required macOS version to 10.9 as on previous versions nothing but a black screen was rendered
2018-06-30 11:13:12 +03:00
alexey.lysiuk
a1d5833c8a
- reset framebuffer pointer on destruction in Cocoa backend
...
Added debug validation of framebuffer pointer as well
2018-06-30 11:06:41 +03:00
alexey.lysiuk
da005fa7fc
Fixed compilation warnings reported by Clang
...
hwrenderer/postprocessing/hw_postprocess.cpp:22:3: warning: delete called on non-final 'PPEffectManager' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
hwrenderer/postprocessing/hw_postprocess.h:64:5: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
hwrenderer/postprocessing/hw_postprocess.h:75:3: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
hwrenderer/postprocessing/hw_postprocess.h:85:4: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
2018-06-30 10:51:47 +03:00
Magnus Norddahl
ecb5d69ae3
- Simplify FGLRenderer::PostProcessScene
2018-06-29 21:55:46 +02:00
Magnus Norddahl
a7529ce3b4
Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess
2018-06-29 20:24:32 +02:00
alexey.lysiuk
651e735246
Merge branch 'master' into modern
2018-06-29 17:51:10 +03:00
alexey.lysiuk
ecb5bfec13
- removed obsolete code from POSIX backends
2018-06-29 17:50:19 +03:00
alexey.lysiuk
1ebc169d56
- fixed potential crash on fatal error in Cocoa backend
...
Early fatal error can be triggered when native OpenGL frame buffer is not created yet and DDummyFrameBuffer is still used
2018-06-29 17:50:19 +03:00
alexey.lysiuk
907ce777a3
- added extra validation for status bar classes
...
Print a message when status bar class defined in GAMEINFO is missing or when it's not derived from BaseStatusBar
Validate internal status bar classes for basic consistency in Debug configuration
2018-06-29 13:47:06 +03:00
alexey.lysiuk
0703030be3
- simplified key repeat detection in SDL backend
2018-06-29 12:26:30 +03:00
alexey.lysiuk
0342bf532d
- fixed excess keyboard events in SDL backend
...
https://forum.zdoom.org/viewtopic.php?t=61104
2018-06-29 12:20:49 +03:00
alexey.lysiuk
6e4c0fc416
- disabled annoying macOS spaces in SDL backend
2018-06-29 12:20:49 +03:00
alexey.lysiuk
c30505d02a
- fixed excess keyboard events in Cocoa backend
...
https://forum.zdoom.org/viewtopic.php?t=61104
2018-06-29 12:20:49 +03:00
alexey.lysiuk
a968aeba8a
- added detection of macOS Mojave
2018-06-28 11:06:19 +03:00
Christoph Oelckers
cbe4c9c5c1
Added lump size validation to the WAD loader
2018-06-27 08:51:45 +02:00
Christoph Oelckers
8ac864b007
Merge branch 'master' into modern
2018-06-26 09:28:23 +02:00
Christoph Oelckers
446be98f37
- fixed light application logic for flats.
...
The light mode check wasn't done properly anymore after merging GLPASS_ALL and GLPASS_PLAIN.
2018-06-26 09:28:10 +02:00
Christoph Oelckers
0ed1077f29
- correct checks for HasDynamicLights
2018-06-26 08:51:21 +02:00
Christoph Oelckers
e402babfc0
Fixed: Software rendered models checked the wrong CVAR for enabled dynamic lights.
2018-06-26 08:23:07 +02:00
Magnus Norddahl
f8272287d2
- make softpoly use the r_dynlights cvar
2018-06-26 02:19:47 +02:00
Magnus Norddahl
1c5f73727e
- fix missing include
2018-06-26 02:14:08 +02:00
Magnus Norddahl
61d69f5561
Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess
2018-06-26 02:12:49 +02:00
Christoph Oelckers
ff1eb7f3f2
- calculate a proper opening range when encountering a sector portal on a one-sided line in the sight checking code
2018-06-25 10:27:02 +02:00
Christoph Oelckers
5d14ae68a6
- missed two added files.
2018-06-24 23:54:25 +02:00
Christoph Oelckers
daf8703fc9
- split up Win32's SystemGLFrameBuffer as well to get the shareable parts between OpenGL and Vulkan into a base class.
2018-06-24 21:26:32 +02:00
Christoph Oelckers
66d13b6e80
- renamed another file.
2018-06-24 20:55:05 +02:00
Christoph Oelckers
1519514dd7
- split Win32GLVideo in two so that the OpenGL independent part can be used for Vulkan as well.
2018-06-24 20:47:00 +02:00
Christoph Oelckers
c2d24e1dd3
- renamed a file.
2018-06-24 20:31:35 +02:00
Christoph Oelckers
e7365be0d1
- renamed SystemFrameBuffer to SystemGLFrameBuffer.
...
... because with Vulkan there needs to be some hint what API this is for.
2018-06-24 20:16:30 +02:00
Christoph Oelckers
52102f3d4a
- moved the Win32GLVideo class to its own file.
...
This and SystemFrameBuffer need splitting up to support both Vulkan and OpenGL
2018-06-24 20:11:08 +02:00
Magnus Norddahl
32d837cdf1
Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess
2018-06-24 17:57:02 +02:00
Christoph Oelckers
491898fe2c
- fixed calculation of projection matrix for weapon sprites.
...
- fixed color mask for green/magenta.
- fixed crash when initializing video, because it was accessing 'screen' before it was set from within the framebuffer's constructor.
2018-06-24 17:16:07 +02:00
Christoph Oelckers
c3d5b960ee
- refactored the entire Stereo3D system to get rid of the class hierarchy and all its ugly implications.
...
Ultimately all this needs is a small data table describing the geometric properties of each mode and a single Present function that calls the mode specific variants.
Code size got reduced from 50kb to less than 20kb with proper separation of the generic parts from the OpenGL parts.
2018-06-24 17:16:07 +02:00
alexey.lysiuk
036307927a
- refactored video part of Cocoa backend
...
Window related functionality is moved to framebuffer class
Video settings are now applied properly on startup
2018-06-24 14:20:20 +03:00
Christoph Oelckers
4ef7b66c4b
- partial consolidation of the EyePose classes.
...
The SBS versions can just as easily be handled with an additional parameter.
2018-06-24 11:45:40 +02:00
Christoph Oelckers
840c2c8958
- fixed warning in ADLMidi.
2018-06-24 10:48:04 +02:00
Christoph Oelckers
532fba5c26
- moved the Stereo3D EyePose to their own file in hwrenderer/.
2018-06-24 10:47:42 +02:00
Christoph Oelckers
65849441e5
- disable the wipe code entirely when a stereo3D mode is active.
...
This simply cannot work right so let's better outright disable it.
2018-06-24 09:32:46 +02:00
Christoph Oelckers
a4622e70d0
Merge remote-tracking branch 'remotes/origin/master' into modern
2018-06-23 23:03:51 +02:00
Christoph Oelckers
e7a0ccf879
- fixed remaining issues with portal refactoring.
2018-06-23 23:03:34 +02:00
Christoph Oelckers
6ebec37baf
- moved all portal code that sets up a scene to be rendered into API independent code and let it be handled by a common wrapper class.
2018-06-23 23:03:34 +02:00
Magnus Norddahl
b2fad453fa
- change tonemaps to steps
2018-06-23 19:25:49 +02:00
alexey.lysiuk
3936e3018d
- added window position and size restoration to SDL backend
2018-06-23 16:22:29 +03:00
alexey.lysiuk
663ac919bd
- removed unused header file
2018-06-23 16:21:35 +03:00
Christoph Oelckers
1cf3af9c41
- moved the current portal pointer to HWDrawInfo so that the portal managed does not need to save and restore a global variable for each portal.
2018-06-23 13:51:19 +02:00
Christoph Oelckers
282fdac660
- made the static portal state a struct inside the Renderer object
2018-06-23 13:25:59 +02:00
alexey.lysiuk
009acf3fb2
- added window position and size restoration to Cocoa backend
2018-06-23 12:45:44 +03:00
alexey.lysiuk
573758bc55
- removed obsolete code from Cocoa backend
2018-06-23 12:44:48 +03:00
Christoph Oelckers
82d7e5970f
- moved the clipline uniform to the viewpoint buffer.
...
This was the final one of the per-scene values that could be taken out of the render state.
2018-06-22 23:49:39 +02:00
Christoph Oelckers
7f0e29db48
- fixed clip plane setup.
...
This had to be reordered so that the clip plane gets set before applying the uniforms.
2018-06-22 22:50:33 +02:00
Christoph Oelckers
80a9028938
- mirror clip planes moved - not working yet.
2018-06-22 22:45:05 +02:00
Christoph Oelckers
e7531bb579
- fixed camerapos setup.
2018-06-22 21:44:53 +02:00
Christoph Oelckers
d5af939119
- more uniforms moved.
...
(not working yet.)
2018-06-22 21:32:38 +02:00
Christoph Oelckers
43e1a2d249
- moved uViewHeight and uCameraPos to the viewpoint uniform struct.
2018-06-22 21:05:36 +02:00
Vitaly Novichkov
a5b4d9d9a9
ADLMIDI: Fix one small MSVC Win64 warning
2018-06-22 17:30:51 +02:00
Vitaly Novichkov
ceec12056a
Upgrade libADLMIDI and libOPNMIDI
...
Added ability to switch emulator and it's accuracy level ("enabling of 'run at PCM rate' reduces accuracy, and also reduces CPU usage")
Added draft code for future external banks support (WOPL format for ADLMIDI and WOPN format for OPNMIDI)
ADLMIDI 1.3.3 2018-06-19
* Fixed an inability to load another custom bank without of library re-initialization
* Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* Fixed incorrect 4-op counter which is still catch 4-op instruments on 2-op banks
* Fixed an incorrect processing of auto-flags
* Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
* Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
* Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* The automatical choosing of 4 operator channels count has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
ADLMIDI 1.3.2 2018-04-24
* Added ability to disable MUS and XMI converters
* Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
* Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
* Added support for real-time switching the emulator
* Added support for CC-120 - "All sound off" on the MIDI channel
* Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
* Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
OPNMIDI 1.3.0 2018-06-19
* Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
* Fixed an incorrect processing of auto-flags
* MAME YM2612 now results a more accurate sound as internal using of native sample rate makes more correct sound generation
* Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
* Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
OPNMIDI 1.2.0 2018-04-24
* Added ability to disable MUS and XMI converters
* Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
* Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
* Added support for real-time switching the emulator
* Added support for MAME YM2612 Emulator
* Added support for CC-120 - "All sound off" on the MIDI channel
* Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
* Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
* Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima ) for a work!)
2018-06-22 17:30:51 +02:00
alexey.lysiuk
9b4e8efcb9
- fixed potential access to freed memory on map loading
...
MapData could destruct FResourceLump objects before accessing them
Loading of map .wad from .pk3 file is example of this case
https://forum.zdoom.org/viewtopic.php?t=60972
2018-06-22 15:42:00 +03:00
Magnus Norddahl
ebf0cef283
- convert colormap shader to postprocess steps
2018-06-22 00:51:58 +02:00
Magnus Norddahl
83f50f5808
- port bloom, blur and camera exposure to postprocess steps and remove the old implementation
2018-06-22 00:29:50 +02:00
Christoph Oelckers
9486180843
- simplify the interface.
2018-06-21 21:36:12 +02:00
Christoph Oelckers
1967165633
- move view and projection matrices to DrawInfo.
2018-06-21 21:02:14 +02:00
Christoph Oelckers
b106f72741
- don't route calls to FMaterial::FlushAll through the framebuffer interface.
2018-06-20 22:18:31 +02:00
Magnus Norddahl
fd2037bd6c
- removed the rest of the old lens and fxaa code
2018-06-20 20:09:37 +02:00
Magnus Norddahl
151ed22967
- write OpenGL backend for hw_postprocess (FGLRenderBuffers::RenderEffect)
...
- remove old fxaa and lens shader classes
- render the fxaa and lens effects
2018-06-20 19:56:30 +02:00
Christoph Oelckers
eb277cc101
- calculate the normal view matrix at a higher level.
2018-06-20 13:49:06 +02:00
Christoph Oelckers
7f5272c23f
Deleted GLSceneDrawer
...
Since it didn't contain any data anymore it was relatively pointless. Code has been moved to FDrawInfo and GLRenderer, depending on its scope.
2018-06-20 13:14:50 +02:00
Christoph Oelckers
f229b05675
- Took more functions out of GLSceneDrawer
2018-06-20 12:57:41 +02:00
Christoph Oelckers
469c9241eb
Moved WriteSavePic implementation to FGLRenderer
2018-06-20 12:29:52 +02:00
Christoph Oelckers
64ce4d5072
- The Teardown virtuals aren't implemented anywhere so they can go away
2018-06-20 11:46:25 +02:00
Christoph Oelckers
f7d8f32114
- removed some unused code from RenderViewpoint
2018-06-20 11:43:10 +02:00
Christoph Oelckers
3a80160ca0
More code from GLSceneDrawer to FDrawInfo
2018-06-20 11:38:45 +02:00
Christoph Oelckers
b244fa2c8b
Took the main render function out of GLSceneDrawer and moved them into FDrawInfo
...
First step of eliminating the intermediate SceneDrawer class which has become mostly redundant.
2018-06-20 11:17:38 +02:00
Christoph Oelckers
677eba3392
- fix the header
2018-06-20 10:48:24 +02:00
Christoph Oelckers
2060402671
Moved the viewpoint setup code in RenderViewpoint to R_SetupFrame
2018-06-20 10:47:03 +02:00
Christoph Oelckers
9bdb5f1a5d
Moved ProcessLowerMinisegs back toAPI independent code.
2018-06-20 10:10:30 +02:00
Magnus Norddahl
e3997d5f11
- convert FXAA and Lens Distort
2018-06-20 01:12:59 +02:00
Magnus Norddahl
684a97f300
- add some helper functions
2018-06-20 00:40:11 +02:00
Christoph Oelckers
922c3a8d75
- moved the basic methofs of HWDrawInfo to a dedicated file instead of storing them somewhere else.
2018-06-19 23:52:01 +02:00
Christoph Oelckers
54970b60e8
- use locally stored viewpoint variables in the hardware renderer.
...
- move a few variables from SceneDrawer to FRenderViewpoint.
The global r_viewpoint variable is left alone now to always represent the current viewpoint to the play code.
The main reason behind this change is to reduce the amount of global variables being used by the hardware renderer's scene processing code.
2018-06-19 23:45:17 +02:00
Magnus Norddahl
da5ecf1e5b
- create bloom pass in declarative postprocess form
2018-06-19 22:16:50 +02:00
Christoph Oelckers
d2309af3d5
Merge remote-tracking branch 'remotes/origin/master' into modern
...
# Conflicts:
# src/d_main.cpp
# src/hwrenderer/scene/hw_weapon.cpp
2018-06-19 19:40:52 +02:00
Christoph Oelckers
eddb179e36
- moved ViewActor variable into FRenderViewpoint.
2018-06-19 18:51:46 +02:00
Christoph Oelckers
87dfa34f1f
- save r_viewpoint as a whole when processing portals.
2018-06-19 17:55:42 +02:00
Christoph Oelckers
753cd0aede
- made R_SetViewAngle a member of r_viewpoint
2018-06-19 17:44:11 +02:00
Christoph Oelckers
2c655322c3
… and in gl_sprites.cpp
2018-06-19 11:21:32 +02:00
Christoph Oelckers
22b8d0a8d7
- r_viewpoint reduction in hwrenderer
2018-06-19 11:21:13 +02:00
Christoph Oelckers
548ccb1df4
- removed some references to r_viewpoint in game code
...
Mainly to reduce number of search results.
2018-06-19 11:20:36 +02:00
Christoph Oelckers
86975a71e8
- don't use r_viewpoint directly when sorting translucent geometry.
...
Better store the view Z in a member variable and use that.
2018-06-19 10:50:48 +02:00
Christoph Oelckers
ae7053ee98
- another small optimization
2018-06-19 10:40:50 +02:00
Christoph Oelckers
12ad0caec0
- small optimization
2018-06-19 10:33:59 +02:00
Christoph Oelckers
fba5b872be
- reduced number of references to r_viewpoint in hw_flats
2018-06-19 10:31:25 +02:00
Christoph Oelckers
3eb4b137f3
- reduced number of references to r_viewpoint in hw_fakeflat.cpp
2018-06-19 10:30:18 +02:00
Christoph Oelckers
18f43dea1e
- reduced number of references to r_viewpoint in hw_sprites.cpp
2018-06-19 10:29:09 +02:00
Christoph Oelckers
cf1641d0f6
- reduce number of places in weapon code which access r_viewpoint directly.
2018-06-19 10:25:11 +02:00
Christoph Oelckers
f857d14e76
-Code shortening
2018-06-19 10:22:27 +02:00
Christoph Oelckers
74d8c929cc
Give the clipper a reference to the current viewpoint
...
This is both for efficiency and encapsulation. At last on MSVC in 64 bit, accessing global variables is very inefficient and the clipper was doing it repeatedly in its worker functions.
It is also one less place where the global viewpoint gets checked.
2018-06-19 09:37:49 +02:00
Christoph Oelckers
46d73e7b4b
Pass ticFrac to the model renderer as a parameter
...
This also removes the rather pointless gl_RenderModel functions because with their two lines of content they can just be placed inline.
2018-06-19 09:18:27 +02:00
Christoph Oelckers
8787905fed
Fixed: DBaseStatusBar::Draw did not use its ticFrac parameter when being called from scripts
...
Instead it directly went to the global viewpoint again which would be inconsistent.
2018-06-19 09:00:50 +02:00
Christoph Oelckers
d73d89762d
Don't let DEarthquake depend on r_viewpoint.
...
The ticFrac value should be passed as a parameter, especially since this gets called from code that sets up r_viewpoint.
2018-06-19 08:32:25 +02:00
Christoph Oelckers
f2aecd47a5
Merge branch 'master' into modern
2018-06-19 08:16:48 +02:00
Christoph Oelckers
c8db149c06
Merge branch 'master' into modern
2018-06-19 00:11:59 +02:00
Magnus Norddahl
01bda6348e
- change swrender mapping to use two buffers/textures and glTexSubImage2D for uploads
2018-06-19 00:09:39 +02:00
alexey.lysiuk
c6e4d6a333
- implemented fullscreen toggle in SDL backend
...
Made window resizable but its size and position are not saved yet
2018-06-18 22:53:19 +03:00
alexey.lysiuk
37a0c1d6c1
- implemented fullscreen toggle in Cocoa backend
...
Window size and position are not saved yet
2018-06-18 22:52:37 +03:00
Magnus Norddahl
67733ed6e6
- change swrender mapping to use two buffers/textures and glTexSubImage2D for uploads
2018-06-18 21:15:52 +02:00
drfrag666
42bb9b7e59
- Fixed zdoom.rc for MinGW.
2018-06-18 20:57:52 +02:00
drfrag666
8afd331275
- Fixed -iwad parameter working only with VS on Windows.
2018-06-18 20:57:52 +02:00
drfrag666
958b3c303a
- Fixed missing manifest for MinGW.
2018-06-18 20:57:52 +02:00
drfrag666
aef4003de2
- Restored dependency on dxguid library for MinGW.
2018-06-18 20:57:52 +02:00
drfrag666
b38e67a53d
- Applied Blzut3's patch to compile with MinGW.
2018-06-18 20:57:52 +02:00
drfrag666
9a4ae6eb80
- Missing include again due to the VS preprocessor.
2018-06-18 20:57:52 +02:00
drfrag666
d8a1d1b89c
- Missing formatting macro definitions for MinGW.
2018-06-18 20:57:52 +02:00
drfrag666
703d2bc0cd
- Fixed missing include due to non conformant preprocessor in VS.
2018-06-18 20:57:52 +02:00
Christoph Oelckers
6b92b95068
- moved vertex creation for skybox sector to backend independent code.
2018-06-18 18:41:59 +02:00
Christoph Oelckers
34ee04f2ce
- moved the matrix math for the sky dome into backend independent code.
2018-06-18 18:18:28 +02:00
Christoph Oelckers
211bd0b1b0
Remove unnecessary check for the ending brace.
2018-06-18 08:51:33 +02:00
Christoph Oelckers
243787d19a
Fixed: End of file detection in MAPINFO parser was not correct
...
It should check for the special "End" flag instead of trusting that if the last token was a closing brace, all was correct. This can fail if the last token in a multiline string is a brace.
2018-06-18 08:26:14 +02:00
Christoph Oelckers
bac435333b
Merge remote-tracking branch 'remotes/origin/master' into modern
2018-06-18 00:24:49 +02:00
Erick Tenorio
c91d4750f3
Save item statistics
...
Items are now saved into save games and are displayed on the statfile
2018-06-18 00:24:23 +02:00
Christoph Oelckers
af0e11f377
- implemented fullscreen toggle for Windows and fixed the window position saver so that it can save and restore the window size as well.
...
This code was written when the window wasn't resizable and didn't actually manage to restore it before. With today's changes this design flaw caused totally incorrect results.
2018-06-17 23:33:22 +02:00
Christoph Oelckers
babe55819e
- fullscreen toggle and some cleanup. Not fully working yet.
2018-06-17 22:11:35 +02:00
alexey.lysiuk
89ce74443b
- adapted SDL backend to new video mode handling
2018-06-17 22:41:05 +03:00
alexey.lysiuk
42587761c7
- adapted Cocoa backend to new video mode handling
2018-06-17 22:35:50 +03:00
Christoph Oelckers
b65b83edb3
- removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
...
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Christoph Oelckers
322488d1d1
- fixed: Horizon portals must be drawn in the context of their containing drawinfo.
...
This data, however, was not passed along to the portal processor and resulted in null pointers when trying to access it.
2018-06-17 18:33:59 +02:00
alexey.lysiuk
33753955ac
- initialized view width and height explicitly
...
It was just a black screen and no menu on startup otherwise
2018-06-17 18:16:04 +02:00
Magnus Norddahl
bce49ad7c8
- fix Software models don't display over nonexistent sprites
2018-06-17 14:56:34 +02:00
alexey.lysiuk
5cf3dbfd5b
- fixed compilation of SDL backend
...
src/posix/sdl/sdlglvideo.cpp:200:4: error: use of undeclared identifier 'I_ClosestResolution'
2018-06-17 14:51:04 +03:00
alexey.lysiuk
832de42c24
- prevented crashes caused by inconsistent status bar
...
Incorrectly initialized or deliberately broken status bar could lead to integer division by zero and null pointer dereference
class BuggyStatusBar : DoomStatusBar
{
override void Init()
{
// No super.Init()
}
}
2018-06-17 14:39:42 +03:00
alexey.lysiuk
f2918b748f
- deleted leftover declaration in Cocoa backend
2018-06-17 14:39:05 +03:00
Christoph Oelckers
dc2a5b0cc9
- consolidated the 3 identical versions of I_CheckResolution and I_ClosestResolution.
2018-06-17 12:30:01 +02:00
Christoph Oelckers
e9e1911fa5
- made the scene scale and offset calculations inline functions of DFrameBuffer.
...
These got repeated quite often.
2018-06-17 12:23:29 +02:00
Christoph Oelckers
1fdf6a20d1
- fixed incomplete null pointer check.
2018-06-17 10:53:55 +02:00
Christoph Oelckers
acdb7e391f
- fixed bad pointer use in stereo3d code.
2018-06-17 10:53:33 +02:00
Christoph Oelckers
684dd8f716
- moved the palette tester to its own file.
2018-06-17 09:55:30 +02:00
Christoph Oelckers
6adff55b5d
- fixed typo in screen blend rendering.
2018-06-17 07:57:29 +02:00
Magnus Norddahl
b4351e538f
- fix weapon missing when bloom was off (scene was already copied to post processing, but nothing had bound the PP frame buffer)
2018-06-17 01:45:20 +02:00
Christoph Oelckers
523104b2a8
- simplify some code.
2018-06-16 23:35:12 +02:00
Christoph Oelckers
4937848123
- refactoring of fixed colormap stuff to have it better organized and to reduce the number of uniforms in the main shader.
...
This removes 3 uniforms, consisting of 9 floats. Those were merged into other values that never get used at the same time.
It also moves the costly setup of the fixed colormap out of the render state into the 2D processing code.
Since 3D forces use of render buffers now, it is no longer necessary to draw the entire scene with the colormap active, meaning it can be handled more efficiently.
2018-06-16 22:40:44 +02:00
Christoph Oelckers
9ff7e5a4ef
- force render buffers to be active.
...
For modern hardware the fallback path really makes no sense and this allows to simplify some things quite a bit.
2018-06-16 09:37:01 +02:00
Christoph Oelckers
8ab68264c1
- removal of all code to handle OpenGL 2. From this commit on the main build of GZDoom will be OpenGL 3.3 or higher.
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/gl/shaders/gl_shader.cpp
# src/gl/system/gl_framebuffer.cpp
# src/gl_load/gl_interface.cpp
2018-06-15 21:45:05 +02:00
Christoph Oelckers
1455111ddc
- removed unused declarations.
2018-06-14 22:57:08 +02:00
Christoph Oelckers
612fb40f3a
- don't use uniforms related to fixed colormaps for other things.
...
The fixed colormap is a per-scene global setting that normally does not need to change ever during rendering of a scene so it's easily shoved aside into a static uniform buffer.
Having to change this buffer for inconsequential stuff should be avoided, especially when there's other uniforms that are just as good to hold these values.
2018-06-14 21:28:03 +02:00
alexey.lysiuk
0643b2b1aa
- updated list of headers for CMake generated projects
2018-06-14 15:11:36 +03:00
alexey.lysiuk
19ca416d09
- fixed compilation with GCC and Clang
...
error: no template named 'unique_ptr' in namespace 'std'
2018-06-14 15:10:49 +03:00
Christoph Oelckers
2f4c2e0425
- fixed some includes which did not cause VC++ to error out.
2018-06-13 23:32:43 +02:00
Christoph Oelckers
9a7f9bdb4c
- moved postprocessing shader classes to hwrenderer after removing all dependencies on OpenGL.
2018-06-13 22:37:01 +02:00
Christoph Oelckers
3401876476
- use FShaderProgram through an abstract interface and remove all dependencies on the GL renderer from the shader definition source files.
2018-06-13 22:08:55 +02:00
Christoph Oelckers
8bf009bd89
- added a RenderQueue parameter to all Bind functions of the postprocessing shaders. This is unused for now. All places calling these pass a dummy NOQUEUE value which is just a nullptr.
...
This is for Vulkan preparation where all of this needs to run in a user-specified context so that this code can be moved out of the GL folder without depending on OpenGL's global state model.
2018-06-13 20:30:51 +02:00
Christoph Oelckers
0b9eaac5e1
- fixed SSAO shader texture assignments.
2018-06-13 19:04:19 +02:00
Christoph Oelckers
ce50b0e46b
- read sampler bindings from the shader instead of tagging along a large amount of support data.
...
Works for most shaders, except SSAO.
2018-06-13 17:44:49 +02:00
Christoph Oelckers
59827cd601
- use layout binding qualifiers on uniform buffers when GLSL version >= 4.2
...
This has no performance benefits but allows checking shader generation correctness without having to implement Vulkan first.
2018-06-13 13:16:07 +02:00
Christoph Oelckers
d2dea17e81
- specify vertex attributes in the shader source for Vulkan compatibility.
2018-06-13 08:40:04 +02:00
Christoph Oelckers
ad7aaa8f2a
- specify fragment output locations in the shader source.
...
OpenGL has been supporting this since version 3.3 and Vulkan requires it so it's the way to go.
2018-06-12 23:52:33 +02:00
Magnus Norddahl
832e7818c8
- rewrote the blur shader so that it works the same way as the rest
2018-06-12 22:14:44 +02:00
Christoph Oelckers
cb5caa757b
- moved ShaderUniforms to hwrenderer/ .
2018-06-12 22:08:31 +02:00
Christoph Oelckers
f166624eb2
- some fixes to the PP shader interface.
...
The binding point needs to be part of the ShaderUniforms class because Vulkan will need this value to generate the declaration in the shader source.
There's still one issue here: Since OpenGL has no local render state, the buffer must be bound every time it is used. Once the code is better abstracted this should be moved to a higher level class that knows all associated data and how to set it up.
2018-06-12 21:43:35 +02:00
Christoph Oelckers
4ddd9dde79
Use IUniformBuffer
2018-06-12 17:55:34 +02:00
Christoph Oelckers
20e84fff5a
- fixed crash with GL 3.x and fixed colormap active.
...
This must skip all light processing. On GL 4.5 it will only collect useless data but on GL 3.x it will run into an unmapped buffer situation.
2018-06-12 17:55:20 +02:00
Christoph Oelckers
6fced1865f
Moved ScopedViewShifter to hwrenderer/ .
2018-06-12 14:47:05 +02:00
Christoph Oelckers
f33ddd8cce
Made the ScopedViewShifter fully inline
2018-06-12 14:44:58 +02:00
Christoph Oelckers
5a20de829b
fixed compiler warning
2018-06-12 10:59:17 +02:00
Christoph Oelckers
3385e28611
Make it compile
2018-06-12 10:58:32 +02:00
Christoph Oelckers
b8b5802599
Added a uniform buffer abstraction class
...
May get some more methods later, this is just a start to get going.
2018-06-12 10:42:03 +02:00
Magnus Norddahl
9155b773cc
- change ShaderUniforms so that it just contains the uniform block and not the binding point
2018-06-11 22:33:55 +02:00
Magnus Norddahl
49073489e5
- uniform buffers for the fxaa, blur and bloom shaders
2018-06-11 22:06:46 +02:00
Magnus Norddahl
48f753061a
- uniform buffers for the present and shadowmap shaders
2018-06-11 21:42:09 +02:00
Magnus Norddahl
6fcc79d72a
- uniform buffers for the tonemap shaders
2018-06-11 21:18:20 +02:00
Magnus Norddahl
2bde741a7e
- Uniform buffer for colormap shader
2018-06-11 21:03:55 +02:00
Magnus Norddahl
d22fb24e28
- Uniform buffers for lens shader
2018-06-11 20:58:20 +02:00
Magnus Norddahl
763c5c9769
- change ssao pass to use an uniform block
2018-06-11 20:48:43 +02:00
alexey.lysiuk
29d2e77840
- fixed portal restoration on revisiting level in hub
...
Added function to FLevelLocals to test if map is being reentered
https://forum.zdoom.org/viewtopic.php?t=60455
2018-06-11 11:55:49 +03:00
Christoph Oelckers
bd1525eb9d
- fixed: ADynamicLight's shadowmap index must be reset when loading a savegame.
2018-06-10 22:57:34 +02:00
Magnus Norddahl
a91147a3a5
- move DrawArray and DrawElements to PolyTriangleDrawer
2018-06-10 15:58:01 +02:00
Magnus Norddahl
9ba26a5ece
- add support for using FModelVertex as input to the softpoly vertex shader
2018-06-10 15:29:31 +02:00
Magnus Norddahl
c9fd52340e
- add GroupMemoryBarrierCommand
2018-06-10 13:35:15 +02:00
Magnus Norddahl
efa434d47b
- remove unused VectoredTryCatch
2018-06-10 13:15:31 +02:00
Magnus Norddahl
628f6c32d9
- remove unused DrawerCommand::DebugInfo
2018-06-10 12:54:37 +02:00
Magnus Norddahl
de67393b4e
- use the worker threads to clear the stencil buffer
2018-06-10 12:42:19 +02:00
Christoph Oelckers
8486cd2c0e
- fixed generation of brightmaps for sprites.
...
This forgot to take the added empty border for filtering improvement into account.
2018-06-10 08:22:07 +02:00
Rachael Alexanderson
77956fc485
- remove ARM specific gl_es definition since it's not even really much different from the main line definition, anyhow
2018-06-09 13:40:39 -04:00
Christoph Oelckers
ae1fe041ee
- ZScript used the wrong variable for compatflags2.
...
ii_* is merely the storage for info from the compatibility.txt lump.
2018-06-09 17:59:21 +02:00
alexey.lysiuk
4a1f36623b
- fixed: flag CVars in ZScript referenced wrong addresses
2018-06-09 17:21:55 +03:00
Magnus Norddahl
85f5f897d7
- enable model rendering in the software renderer
2018-06-09 12:29:33 +02:00
Christoph Oelckers
1fdcacc337
- redirect script access to the compatflags CVARs to their internal shadow variables.
...
This is needed so that MAPINFO settings for these flags don't get ignored.
2018-06-08 22:55:44 +02:00
Christoph Oelckers
a312f5a7c1
- update version info.
2018-06-07 00:04:53 +02:00
Magnus Norddahl
2abf700c29
- fix missing include
2018-06-06 00:30:59 +02:00
Magnus Norddahl
5464d2a577
- add dynamic lights to softpoly and software renderer models
2018-06-05 22:43:11 +02:00
Magnus Norddahl
61f379c88f
- fix null pointer crash in softpoly
2018-06-05 22:42:21 +02:00
Christoph Oelckers
2baed338f7
- flat rendering must check for missing vertex buffer data.
2018-06-05 21:44:38 +02:00
Christoph Oelckers
60b6dbadb2
- fixed autoaiming for unranged attacks.
...
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.
2018-06-05 20:35:01 +02:00
Magnus Norddahl
f5386a706f
- fix software renderer dynamic lights not working properly in mirrors
2018-06-05 20:09:02 +02:00
Magnus Norddahl
b74a9965b8
- draw models in mirrors and portals at the right location in the software renderer
2018-06-05 19:36:57 +02:00
Marisa Kirisame
477cf23fd2
Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding.
2018-06-05 10:06:53 -04:00
Magnus Norddahl
674b6ee85c
- avoid using global variables in the inner fuzz drawer loop
2018-06-05 15:43:03 +02:00
Magnus Norddahl
51fd715404
- fix dynlight color not being applied on sprites
2018-06-05 15:32:27 +02:00
Magnus Norddahl
9cd751ae7a
- fix softpoly colored fog bug in the new drawers
2018-06-05 15:16:04 +02:00
alexey.lysiuk
7009755c52
- fix crash on dying when player class has no death states
...
https://forum.zdoom.org/viewtopic.php?t=60815
2018-06-05 11:06:31 +03:00
Marisa Kirisame
fae514f30d
BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines
2018-06-04 22:18:51 +02:00
Christoph Oelckers
2f6dc46f14
- fixed FMemArena to always return 16 byte aligned pointers.
...
Unfortunately this turned out harder than expected because of FSharedStringArena making some strong assumptions about the underlying implementation.
2018-06-04 21:51:16 +02:00
Christoph Oelckers
af3d17af8b
Revert "- fix memory arena allocation alignment for 32 bit systems."
...
This reverts commit 23fce56b5e
.
This did not do what it was supposed to because of how the block header was created.
2018-06-04 21:51:16 +02:00
Rachael Alexanderson
780ddd21bd
- fixed - sector sounds were not translated through portal groups properly
2018-06-04 13:10:58 -04:00
Magnus Norddahl
e3c78ab838
- use a light array to simplify inner light math
2018-06-04 00:36:14 +02:00
Magnus Norddahl
97f4cc1951
- use affine dynlights in softpoly
2018-06-03 22:24:44 +02:00
Christoph Oelckers
d18f5eecb4
- Fixed: Dehacked must not validate parameters for MBF special functions.
...
These won't match the conditions.
Additionally this adds disassembly output for the synthesized replacement functions for diagnostics purposes.
2018-06-03 19:28:16 +02:00
Magnus Norddahl
d425fb2d4a
- replace the old rect drawers with new ones based on render styles
2018-06-03 18:36:37 +02:00
Christoph Oelckers
23fce56b5e
- fix memory arena allocation alignment for 32 bit systems.
2018-06-03 18:20:50 +02:00
Christoph Oelckers
a851a5d151
- fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
...
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
alexey.lysiuk
352f93c066
- deleted now useless code from Cocoa backend
...
Let's rely on cross-platform code to manage window dimensions and screen resolution
2018-06-03 17:48:58 +03:00
alexey.lysiuk
f8f1148c59
- fixed mouse cursor positioning in menu for Cocoa backend
...
With video resolution scaling enabled engine coordinates of mouse cursor were wrong
2018-06-03 17:48:58 +03:00
alexey.lysiuk
b5274534d7
- fixed linking with sanitizer(s) enabled
...
no more unresolved references to various functions
2018-06-03 16:05:14 +03:00
Marisa Kirisame
f74e74ac4b
Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis
2018-06-03 14:20:42 +02:00
Magnus Norddahl
f03c02df43
- fix gamepic render buffer issues
2018-06-03 13:59:40 +02:00
Marisa Kirisame
dea1d0259d
Swap front face culling for GL model drawer (CCW should be the default).
...
Added mirroring handling to software models.
2018-06-03 07:26:55 +02:00
Magnus Norddahl
a186677092
- removed the 8x8 block drawing code from softpoly
2018-06-03 01:44:56 +02:00
Christoph Oelckers
d0aacd3ba8
- fixed: The translucent border draw list must be rendered with depth writing active.
...
This gets exclusively used by portal borders which means that for walls the setting is irrelevant but for flats it is needed to cover the portal surface so that translucent parts of the outer scene do not bleed through.
2018-06-02 23:09:51 +02:00
Magnus Norddahl
0dbcdc8a9c
- fix negative rotation speed not working
2018-06-02 20:35:51 +02:00
Christoph Oelckers
94d1a73ae8
- pass mirroring info to model drawers.
...
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.
2018-06-02 13:07:47 +02:00
Christoph Oelckers
decea97a34
- use a linear light ramp on the textured automap for light modes 0 and 1.
2018-06-02 12:34:21 +02:00
Christoph Oelckers
0c5a47ac90
- fixed: MF3_DONTSPLASH disabled all terrain effects, not just the splash.
...
Untested for now because the report came without any example to check it with.
2018-06-02 12:10:44 +02:00
Marisa Kirisame
58f4af6ded
Transform UE1 vertex coords to GZDoom's when importing, rather than leaving it up to the end user.
2018-06-02 10:00:31 +02:00
alexey.lysiuk
81f042f08b
- fixed compilation with Clang and GCC
...
src/gl/scene/gl_flats.cpp:215:3: error: cannot jump from this goto statement to its label
src/r_data/models/models.cpp💯 18: error: no member named 'floor' in namespace 'std'
2018-06-02 09:43:33 +03:00
Christoph Oelckers
7d515e72c2
- fixed: FxFloatCast must transfer the outer expression's value type to the inner expression if it performs a float->float cast.
...
This violated an important rule that a cast may not alter the expression's type and led to failed asserts elsewhere.
2018-06-02 07:50:23 +02:00
Christoph Oelckers
058c5426cd
- fixed: OpenGL2 should not use the precalculated vertex buffer data for flat rendering.
...
This wasn't set up properly anymore because the new index-based buffer code is not efficient on GL2, but the render function forgot to skip the buffer checks and jump right to the fallback path.
2018-06-02 07:25:41 +02:00
Magnus Norddahl
359b13b783
- fix rotationSpeed being ignored after the model interpolation fix
2018-06-01 20:48:24 +02:00
alexey.lysiuk
7b619bc78c
- fixed crash with legacy render path
...
https://forum.zdoom.org/viewtopic.php?t=60727
2018-06-01 12:28:27 +03:00
alexey.lysiuk
edabe43bca
- fixed typo in previous commit
...
https://forum.zdoom.org/viewtopic.php?t=60739
2018-06-01 12:24:29 +03:00
Christoph Oelckers
2d50f535ff
- fixed and simplified the vertex counter for wall polygons.
...
This is now allowed to overestimate the number of vertices to reduce computation time for a rarely occuring special case that was eating most of the time and was causing errors with some walls.
2018-05-31 22:14:57 +02:00
alexey.lysiuk
bff2c8cf74
- limited length of server CVAR name to 63 characters
...
Due to limitation of network protocol server CVARs with longer names cannot propogate changes of their values properly
https://forum.zdoom.org/viewtopic.php?t=60729
2018-05-31 10:29:58 +03:00
alexey.lysiuk
0546c86716
- fixed Windows XP compatibility for MSVC 2017 targets
...
Workaround initially implemented for MSVC 2015 is enabled with all Windows XP compatible toolsets regardless of Visual Studio version
https://forum.zdoom.org/viewtopic.php?t=60675
2018-05-31 10:24:16 +03:00
alexey.lysiuk
4f5911da21
- fixed rendering of environment map on mirrors
...
With temporarily mapped buffer this feature seems to never work correctly
With persistently mapped buffer it was broken in 9a1603b246
2018-05-30 15:46:53 +03:00
Magnus Norddahl
4e6226fc2d
- replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
...
- add dynlights to softpoly pal mode
2018-05-29 23:32:57 +02:00
Magnus Norddahl
ac207cce85
Merge branch 'master' of https://github.com/coelckers/gzdoom into gzdoom
2018-05-29 23:30:38 +02:00
Christoph Oelckers
ad343892f3
- fixed: When deserializing the object list, the array must be nulled before using it so that a premature abort does not end up working on random data.
2018-05-29 19:00:41 +02:00
alexey.lysiuk
f06ee10495
- use proper map section for wall mirror portal
...
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-29 12:16:20 +03:00
alexey.lysiuk
a0695cbb48
- fixed blinking frame after saving a game
...
Viewport was not reseted after creation of saved game thumbnail, so one junk frame was rendered right after saving a game
https://forum.zdoom.org/viewtopic.php?t=60412
2018-05-29 12:07:45 +03:00
alexey.lysiuk
0187b0aa5b
- fixed mirrors and reflections in hardware renderer
...
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-28 11:51:43 +03:00
alexey.lysiuk
36779cf88c
- restore startup game state on restart
...
At least values of custom server CVARs were not restored because of this
https://forum.zdoom.org/viewtopic.php?t=60711
2018-05-27 16:42:48 +03:00
alexey.lysiuk
e085a8d58a
- garbage collect static event handlers on restart
...
Remaining object(s) led to a potential crash on the next garbage collection cycle
Assertion failure was triggered during restarting in Debug configuration
2018-05-27 16:42:48 +03:00
Magnus Norddahl
190b673890
- Modify TriBlendMode enum to match the render styles
2018-05-26 23:06:23 +02:00
Magnus Norddahl
9fb34fd8e6
- add SSE2 version of softpoly span drawer
2018-05-26 16:15:14 +02:00
Magnus Norddahl
7f908ce75d
- implement render styles for the softpoly span drawers
2018-05-26 14:27:54 +02:00
alexey.lysiuk
91f440378e
- fixed minor issues with new line specials
2018-05-26 10:37:01 +03:00
Cacodemon345
b02736c705
Add missing line specials.
2018-05-26 10:36:16 +03:00
Magnus Norddahl
31f29bbe8a
- force model light to be attenuated
2018-05-25 19:23:47 +02:00
alexey.lysiuk
1634b78280
- fixed typo in error message
2018-05-25 11:05:30 +03:00
alexey.lysiuk
a936592cfd
- fixed compilation warning reported by MSVC
...
src\r_videoscale.cpp(105): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
2018-05-25 10:59:48 +03:00
Raccoon
475d3f0829
Adds line specials
2018-05-24 21:46:32 +02:00
Magnus Norddahl
cadc4f2a30
- add #include support to TEXTURES lump
2018-05-24 21:18:20 +02:00
alexey.lysiuk
7576068202
- fixed compilation warning with MSVC 2015
...
src\polyrenderer\scene/poly_portal.cpp(142): warning C4800: 'line_t *': forcing value to bool 'true' or 'false' (performance warning)
2018-05-24 11:58:51 +03:00
Magnus Norddahl
8098657cf4
- add two-sided culling support in software and poly
2018-05-24 01:39:36 +02:00
Magnus Norddahl
771931db9f
- forgot to remove the remarked comment
2018-05-24 01:00:31 +02:00
Magnus Norddahl
fb9cf33af6
- enable #include support in modeldef files
2018-05-24 00:59:45 +02:00
Christoph Oelckers
496e6e2e8f
- fixed: The vertex height updater was using the index buffer offsets to access the vertex buffer.
...
I missed this part when repurposing the vboindex members to store the index buffer offsets.
However, since both indices are needed, they need another set of variables.
2018-05-24 00:01:56 +02:00
Christoph Oelckers
23909d109f
fixed: Generating light data for single subsectors should not use the light list of the entire sector but only the one for the current subsector
2018-05-23 08:46:26 +02:00
Christoph Oelckers
044c8a2034
- removed gl_render_subsectors test CVAR and disabled vertex buffer generation for legacy mode
...
To reduce the performance impact, legacy mode will now always create flat vertex data on the fly instead of relying on the vertex buffer. This makes the CVAR mostly redundant as on anything more modern rendering per subsector will always be slower.
2018-05-23 08:43:52 +02:00
Christoph Oelckers
b612e182b4
Merge branch 'indexbuffer'
...
# Conflicts:
# src/gl/data/gl_vertexbuffer.h
# src/gl/scene/gl_flats.cpp
# src/hwrenderer/data/flatvertices.h
2018-05-22 22:10:21 +02:00
Christoph Oelckers
df6a50872d
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-05-22 21:36:52 +02:00
Christoph Oelckers
3f6789ecac
- moved gl_bsp.cpp to its proper place.
2018-05-22 21:36:42 +02:00
Christoph Oelckers
8987aba4a4
- restored accidentally deleted line of code.
2018-05-22 21:08:00 +02:00
alexey.lysiuk
26ebb938c1
- fixed compilation with GCC/Clang
...
https://forum.zdoom.org/viewtopic.php?f=2&t=60657
2018-05-22 21:48:31 +03:00
Christoph Oelckers
2514753afb
- make the vertex buffer accessible from the hwrenderer code.
2018-05-22 18:48:10 +02:00
Magnus Norddahl
91aec1689e
- move modeldef parsing to its own function (ParseModelDefLump)
...
- rename gl_InitModels to InitModels
- add commented out support for #include in modeldefs (blocked by gene tech having broken #include statements in its modeldef files)
2018-05-22 01:28:57 +02:00
Christoph Oelckers
226e8f84da
- most of gl_bsp.cpp moved to HWDrawInfo.
...
Only the vertex buffer update check needs to be done yet.
2018-05-22 00:27:39 +02:00
Christoph Oelckers
df0b1e8dae
- moved the clipper out of GLSceneDrawer and let it be handled by HWDrawInfo.
...
The precise way the clipper needs to be maintained may differ between APIs, so it is no longer owned by any render structure but instead HWDrawInfo only contains a reference.
For OpenGL there is still only one static clipper because without multithreaded BSP traversal there is no need for more.
2018-05-21 22:54:04 +02:00
Christoph Oelckers
5f87e81b6a
- moved CurrentMapSections and in_area from GLSceneDrawer to HWDrawInfo.
...
Not only are they better placed in the common code, but they are also both per-viewpoint and not per-scene, so this is a far more suitable place and avoids saving and restoring them in the portal code.
2018-05-21 22:04:29 +02:00
Christoph Oelckers
e6a447eb6f
- removed more occurences of gl_drawinfo.
2018-05-21 20:28:12 +02:00
Magnus Norddahl
31abe3df7e
- avoid reusing the same mVBuf pointer for the different renderers as that causes too many problems when switching between them
...
- remove gl_ prefix for model functions that are no longer GL specific
2018-05-21 17:52:03 +02:00
Magnus Norddahl
cc4a09a3d2
- fix model interpolation bug
2018-05-21 14:23:30 +02:00
Christoph Oelckers
31263eeac2
- removed gl_drawinfo-> from FDrawInfo member functions and pass it to some other functions as a parameter.
...
This really shouldn't be handled as a global variable. The mere fact that several member functions used it incorrectly is ample proof of that.
2018-05-21 11:36:07 +02:00
alexey.lysiuk
2cdc9f9dda
- fixed applying of alpha to weapon sprites
...
https://forum.zdoom.org/viewtopic.php?t=60638
https://forum.zdoom.org/viewtopic.php?t=60642
2018-05-21 10:53:02 +03:00
Christoph Oelckers
2d4b8549c6
- per-sector plane rendering needs to be disabled when processing a line portal with hardware that has no working clip plane support.
...
In this case there are no means to discard the parts of the rendered sectors that lie behind the portal so it should only render the parts that are flagged as visible.
2018-05-20 08:56:29 +02:00
Christoph Oelckers
3069b53804
- disable shader storage blocks if none get reported for vertex shaders.
2018-05-20 00:16:06 +02:00
Christoph Oelckers
5cffa8873a
- added a CVAR to disable per-plane rendering.
...
This will require some comparisons on older hardware. On my Geforce 1060 rendering the full plane with one draw call is clearly faster in all cases I tested.
2018-05-19 19:19:48 +02:00
Christoph Oelckers
cc65490062
- added CVAR to disable WGL_EXT_swap_control_tear.
...
At least on faster NVidia hardware, setting this to false and gl_finishbeforeswap to true gives a better experience because it reduces screen tearing - but the same setting will reduce frame rate quite dramatically on Intel and can cause bad stalls on some older GPUs when rendering camera textures.
2018-05-19 19:18:38 +02:00
alexey.lysiuk
c6f7d92c76
- added forced automap style to linedef, UDMF only
...
https://forum.zdoom.org/viewtopic.php?t=59808
2018-05-19 17:09:26 +02:00
RockstarRaccoon
90cb0b3215
- added 'revealed on automap' linedef flag, UDMF only
...
https://forum.zdoom.org/viewtopic.php?t=59808
2018-05-19 17:09:26 +02:00
Marisa Kirisame
0c4a08460f
Cleaned UE1 math by using FVector classes.
...
Reversed winding order on vertex buffer creation as UE1 uses CCW.
2018-05-19 17:09:06 +02:00
Christoph Oelckers
f54cf561ab
- missed this.
2018-05-19 15:40:33 +02:00
Christoph Oelckers
3e204080ae
- render sector planes in one draw call.
...
On a fast and modern graphics card this is a lot faster than doing it per subsector but it may not be without drawbacks on older hardware so it will require some testing on older hardware.
For me Frozen Time's view over the bridge went from 46 fps to 51 fps with this change, the time saved was roughly 2 ms.
2018-05-19 15:20:46 +02:00
Christoph Oelckers
352279a52f
- removed the non-indexed flat setup.
...
This won't be needed any longer.
2018-05-19 14:44:16 +02:00
Christoph Oelckers
2125f8b9d1
- use triangles instead of triangle fans to render flats.
2018-05-19 14:42:25 +02:00
Christoph Oelckers
fd3681dae2
- use an indexed vertex buffer to render the flats.
...
Right now this has no advantage but it allows optimizing the data, e.g. rendering an entire sector in one go instead of per subsector.
2018-05-19 13:33:28 +02:00
alexey.lysiuk
9257c9cc0c
- fixed compilation warnings reported by GCC/Clang
...
src/r_data/models/models.cpp:418:33: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models.cpp:427:38: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models_ue1.cpp:49:37: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
2018-05-19 13:28:53 +03:00
alexey.lysiuk
ace5ee3c41
- fixed crash after saving a screenshot
...
https://forum.zdoom.org/viewtopic.php?t=60616
2018-05-19 13:19:24 +03:00
Christoph Oelckers
5ec47d8b4f
- removed some leftover data in sector_t.
2018-05-19 08:25:26 +02:00
Christoph Oelckers
ab3bacdaf5
- added missing files to project.
2018-05-18 23:00:10 +02:00
Christoph Oelckers
ebbe52082a
- fixed vr_enable_quadbuffered for real
...
I did not consider that this is an init-only option. So changing the CVAR may not affect game behavior at all. Instead its value must be moved to some globally accessible variable on startup that never gets changed again.
2018-05-18 08:44:32 +02:00
Rachael Alexanderson
f2e6ca4ced
- add 'vid_showcurrentscaling' ccmd, expanded output for 'vid_scaletowidth' and 'vid_scaletoheight' commands
...
- made the vid_scaleto____ commands less hacky - after finding out I could route the calls through screen->, found the correct screen-> commands, and do scaling based on the real screen dimensions
2018-05-17 19:25:32 -04:00
Christoph Oelckers
1656bbf9ec
- route the BlurScene call in the menu through DFrameBuffer.
...
Game code should never ever call the renderer directly. This must be done through the video interface so that it can also work with other framebuffers later.
2018-05-18 00:22:57 +02:00
Christoph Oelckers
2962fe9f08
- silence some warnings.
2018-05-18 00:12:58 +02:00
Christoph Oelckers
b197bfc964
- avoid checking for vr_enable_quadbuffered directly.
...
This option only exists on Windows, so on the other platforms it should not be in the menu and not affect the setup of the VR mode.
2018-05-18 00:12:45 +02:00
Christoph Oelckers
3f56e02352
Revert "- fix compile on non-Windows targets"
...
This reverts commit 781cc62f89
.
This gets in the way of a real fix.
2018-05-18 00:03:58 +02:00
Rachael Alexanderson
781cc62f89
- fix compile on non-Windows targets
2018-05-17 17:47:42 -04:00
Rachael Alexanderson
872cd529c7
- define zdoom.rc as a proper Windows text file, stop Git from mismanaging it
2018-05-17 17:39:18 -04:00
Christoph Oelckers
46a57fdfa1
- moved the postprocessing CVARs to hwrenderer.
2018-05-17 20:51:42 +02:00
Christoph Oelckers
ea98fe3c4d
- moved the hardware independent part of custom postprocessing shaders from gl to hwrenderer.
2018-05-17 20:23:01 +02:00
Christoph Oelckers
da1cdf65c3
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-05-17 20:12:44 +02:00
Rachael Alexanderson
bcadd2bf04
- also remove unused forward declarations
2018-05-17 06:30:36 -04:00
Rachael Alexanderson
0f36b9d63f
- cleaned up vid_scaleto____ code a bit, also set a sane lower limit for vid_scalefactor, removed some code redundancy
2018-05-17 06:24:21 -04:00
alexey.lysiuk
42668c6a5a
- fixed seeking end of file in memory reader
...
https://forum.zdoom.org/viewtopic.php?t=60611
2018-05-17 10:19:29 +03:00
Christoph Oelckers
c0837f42bd
- gl_system.h as well, in particular this has no place in hw_* files.
2018-05-16 23:34:52 +02:00
Christoph Oelckers
401c9ab8ca
- moved gl_interface.cpp/h to gl_load folder.
...
These files are not part of the actual renderer but part of the system code.
This means, for separated modern and legacy GL renderers, there still will only be one set of this, unlike everything else.
2018-05-16 23:21:21 +02:00
Christoph Oelckers
6e20ece3f4
- moved vr_enable_quadbuffered definition to win32gliface.cpp because this is where it gets used.
2018-05-16 23:14:30 +02:00
Christoph Oelckers
fb876852bb
- fix warnings.
2018-05-16 22:56:02 +02:00
Marisa Kirisame
1bb00ed4f0
Fix for Unreal meshes that don't have sequential texture numbers
2018-05-16 22:11:24 +02:00
Christoph Oelckers
44dd48c7fa
- moved the palette stuff and some remaining scaling code from OpenGLFrameBuffer to DFrameBuffer and fixed GetFlashedPalette
2018-05-16 22:10:24 +02:00
alexey.lysiuk
fc91827900
- trigger WorldThingDamaged event before WorldThingDied
...
https://forum.zdoom.org/viewtopic.php?t=60597
2018-05-16 20:48:59 +02:00
Jonathan Russell
e9050a38b3
- added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors
2018-05-16 20:47:43 +02:00
Marisa Kirisame
98f279b651
Remove unnecessary checks.
2018-05-16 20:47:11 +02:00
Marisa Kirisame
ffc12eec29
Discarded "UMSH" packed format, now loads _d.3d + _a.3d pairs
2018-05-16 20:47:11 +02:00
Marisa Kirisame
f285e550d6
Add support for packed Unreal Engine 1 vertex mesh format.
...
(concatenated "UMSH" signature + datafile + anivfile)
This is pretty much 100% functional by now.
Hasn't been tested on platforms other than Linux yet, though.
Code definitely deserves some cleaning.
2018-05-16 20:47:11 +02:00
Rachael Alexanderson
0fae13bab4
- added vid_scaletowidth and vid_scaletoheight to calculate vid_scalefactor to reach a certain value on screen dynamics
2018-05-16 11:54:35 -04:00
alexey.lysiuk
e1e441091d
- fixed potential crash on startup, Windows only
...
At least one version of Windows SDK (10.0.17134.0) has broken _pgmptr/_get_pgmptr()
It points to an empty string for multi-byte character set applications
GetModuleFileName() is now used instead regardless of compiler/toolchain
Added extra guard against unexpected program paths to avoid crashes
https://forum.zdoom.org/viewtopic.php?t=60598
2018-05-16 11:44:49 +03:00
alexey.lysiuk
751e318c4e
- fixed wrong line number in error message
...
Parser of MAPINFO editor number definitions didn't assign line numbers, so 'Unknown actor class' fatal error displayed some garbage
2018-05-14 14:42:31 +03:00
alexey.lysiuk
fa5f936371
- fixed missing saved game picture in software modes
...
https://forum.zdoom.org/viewtopic.php?t=60574
2018-05-13 16:11:05 +03:00
Christoph Oelckers
8f96729e06
- fixed portal benchmarking and added separate output for 2D and finishing the main scene.
2018-05-13 09:48:19 +02:00
alexey.lysiuk
8a6ae503be
- use map axes in bad sound position/velocity warning
...
https://forum.zdoom.org/viewtopic.php?t=60578
2018-05-13 10:13:59 +03:00
Christoph Oelckers
142368d958
- fixed alpha of weapon sprite.
2018-05-12 18:45:12 +02:00
Christoph Oelckers
c2a7a4bf30
- moved viewport code to DFrameBuffer.
2018-05-12 17:23:56 +02:00
alexey.lysiuk
f17f8c9359
- added end line to various messages
...
so they don't screw up further output anymore
2018-05-11 18:03:57 +03:00
Magnus Norddahl
643828f5fa
- move 3d floor code into functions
2018-05-11 17:00:12 +02:00
Magnus Norddahl
e4d740e586
- more pointless complexity removal
2018-05-11 14:27:09 +02:00
Magnus Norddahl
acf9f55849
- remove pointless code
2018-05-11 13:29:24 +02:00
Magnus Norddahl
b0cc472e85
- fixed sloped drawer crash
2018-05-11 12:28:10 +02:00
alexey.lysiuk
2c2b19bb7f
- fixed crash during autoloading of material textures
...
https://forum.zdoom.org/viewtopic.php?t=60546
2018-05-10 18:01:29 +03:00
alexey.lysiuk
a7e7db1fe9
- fixed calculation of glow color
...
Width and pitch were mixed up for RGB format texture, pixel data were read outside of designated buffer
https://forum.zdoom.org/viewtopic.php?t=60538
2018-05-10 15:45:29 +03:00
Magnus Norddahl
46e2e0b57c
- reduce the number of direct OpenGL calls done by the post processing steps
2018-05-10 14:43:34 +02:00
landfillbaby
ba9a340c1f
fix highlighting in snd_listmididevices
2018-05-10 11:51:23 +03:00
alexey.lysiuk
ef536e7b00
- fixed crash in DECORATE parsing
...
The case with forward declared class used as a parent must be handled explicitly
actor MyWeapon : Weapon { Weapon.AmmoType "MyBaseAmmo" }
actor MyAmmo : MyBaseAmmo { }
actor MyBaseAmmo : Ammo { }
2018-05-10 11:47:16 +03:00
alexey.lysiuk
821cc2a140
- added end line to recursive sound warning
2018-05-10 11:43:27 +03:00
Christoph Oelckers
e1ad4b618d
- fixed: The targeter drawer did not check the return value of its setup function.
...
This caused invalid items to be passed to the renderer.
2018-05-10 09:09:24 +02:00
Christoph Oelckers
50cdcc79c8
- fixed OpenGL2.0 may not call the modern light setup code.
2018-05-10 09:05:26 +02:00
alexey.lysiuk
fd5df6e8d1
- Cocoa: ability to use drag and drop with custom IWADs
2018-05-09 12:47:11 +03:00
alexey.lysiuk
23dcc27542
- Cocoa: proper defaults in .plist
2018-05-09 12:33:19 +03:00
Magnus Norddahl
459f748c4e
- added r_debug_draw that shows how the software renderer composes its scene
2018-05-08 22:22:15 +02:00
David Carlier
1b68b69ed8
Needed headers for time and WIF*
2018-05-08 22:04:20 +03:00
Magnus Norddahl
b27655db70
- 3d floor clipping support for models
2018-05-08 01:36:18 +02:00
Magnus Norddahl
49c9de350f
- GetTimeFloat is not renderer specific
2018-05-07 00:40:12 +02:00
Magnus Norddahl
bfe6bffd33
- fix hud model clipping
2018-05-07 00:33:16 +02:00
alexey.lysiuk
78c06554af
- proper handle pixel format creation errors in Cocoa backend
2018-05-06 17:53:53 +03:00
alexey.lysiuk
7fcefa2ed1
- SDL: clear button state when switching from/to GUI input
...
https://forum.zdoom.org/viewtopic.php?t=60451
2018-05-06 14:37:04 +03:00
alexey.lysiuk
ce18ff1df3
- use libc++ for all targets on macOS
...
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
2018-05-06 09:44:13 +03:00
Magnus Norddahl
4642861501
- fixed missing depth for models
2018-05-06 03:23:07 +02:00
Magnus Norddahl
1d929dd79b
- fix translucent walls when r_models is enabled
2018-05-06 02:54:03 +02:00
Magnus Norddahl
d667a0192a
- fix null pointer crash
2018-05-06 02:31:58 +02:00
Christoph Oelckers
099057b142
- moved the vertex and light data generation back to the render pass for modern OpenGL with persistently mapped buffers.
...
Having this extra CPU time in there allows for better parallelization with the graphics driver and GPU.
2018-05-05 23:32:55 +02:00
alexey.lysiuk
437b44bafb
- serialize 'spawned' object flag, WorldThingDestroyed event relies on it
...
https://forum.zdoom.org/viewtopic.php?t=60435
2018-05-05 17:55:44 +03:00
Christoph Oelckers
74b624002c
- moved the software renderer's drawer to the swrenderer directory.
2018-05-05 11:44:42 +02:00
Christoph Oelckers
de15b589c0
- moved the screen blending code out of the renderer.
...
This is better be made part of the 2D interface.
That would have been done long ago if it hadn't been for the totally incompatible way this was handled by the purely paletted software renderer.
Now with that out of the way there is no point keeping this code this deeply embedded in the renderer.
2018-05-05 11:20:37 +02:00
Christoph Oelckers
52d73eabbf
- weapon drawing code refactor complete.
...
Setup and drawing are now done separately, this also no longer needs the Quad drawer.
2018-05-04 23:11:37 +02:00
alexey.lysiuk
2be84dc636
- skip rendering when application is not active
...
Use vid_activeinbackground CVAR to override this behavior
2018-05-04 11:24:37 +03:00
Christoph Oelckers
e0833d5005
- prepared the weapon sprite drawer for full separation.
2018-05-03 23:49:16 +02:00
Christoph Oelckers
e309fd1f3d
- moved a bit more of the wall setup to the API independent side.
2018-05-03 22:14:25 +02:00
Christoph Oelckers
6285a309ce
- added UploadLights to the DrawInfo interface.
...
- removed GLPASS_PLAIN because it was the same as GLPASS_ALL.
2018-05-03 21:47:58 +02:00
Christoph Oelckers
96ac1fa363
- changed GLDecal to work without a pointer to the generating GLWall.
...
Although this is currently safe there is no guarantee that future refactorings will keep the current draw lists, so it's better if GLDecal used its own copy of the data.
2018-05-03 21:42:34 +02:00
Christoph Oelckers
43b491ea33
- moved the global 'no dynamic lights' variable to FLevelLocals so that it is outside renderer specific data.
2018-05-03 21:27:45 +02:00
Hisymak
583da7f6cf
OPL Synth fix: Double-voice instruments randomly don't play second voice
2018-05-03 21:10:17 +02:00
alexey.lysiuk
e87cdd3658
- fixed missing geometry with render precision set to quality
...
https://forum.zdoom.org/viewtopic.php?t=60423
2018-05-03 21:10:05 +02:00
Christoph Oelckers
14410ae526
- fixed: FDrawInfo must be kept around until DrawEndScene2D finishes.
...
Otherwise some code crashes on invalid data.
2018-05-01 19:01:01 +02:00
Christoph Oelckers
9bdb0f2e49
- renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
...
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
2018-05-01 11:29:29 +02:00
Christoph Oelckers
f49c6cbde2
- use sector_t::GetHeightSec consistently and optimize it.
...
This was all over the place, with half of it using the function and half doing incomplete checks on the underlying variables.
Also did some optimization on the IGNOREHEIGHTSEC flag: Putting it on the destination sector instead of the model sector makes the check even simpler and allows to precalculate the effect of 3D floors on the heightsec, which previously had to be run on every call and made the function too complex for inlining.
2018-05-01 09:47:09 +02:00
Christoph Oelckers
3c49804c6c
- some Transfer_Heights related optimizations.
...
* only call hw_CheckViewArea if the result is not known yet.
* check the map up front if it even contains heightsecs. This allows to shortcut the above check entirely for maps without sector transfers and will allow further optimizations.
2018-05-01 09:02:24 +02:00
Christoph Oelckers
b35213741f
- don't force the renderer to remain active in windowed mode when in the background.
...
It's ok to have this as an option, but not as an unconditional forced feature.
2018-05-01 07:48:59 +02:00
Christoph Oelckers
af76e9a9c4
- allow animated title pics.
...
This also applies to all other images shown in the title loop as well.
2018-04-30 23:48:59 +02:00
Christoph Oelckers
7aea010892
- added a sector index to the subsector struct.
...
This will be used to process dynamic lights for flats in the processing pass, allowing to remove the lights-only pass entirely.
2018-04-30 23:48:16 +02:00
Christoph Oelckers
ecb1578a7a
- changed model lighting setup to be done in the processing pass.
...
This eliminates the different code paths for GL3 and GL4.5.
2018-04-30 23:06:48 +02:00
Christoph Oelckers
fbbf2f8346
- fixed a few things in the weapon drawer.
2018-04-30 21:42:36 +02:00
Christoph Oelckers
2b5019ea6e
- fix for rendering a brightmapped 2D texture with ColorIsFixed render style.
...
This must disable the brightmap.
2018-04-30 21:28:06 +02:00
Hisymak
07586af6d1
Fix OPL Synth note cutoffs and issues after removal of MusLib
...
This should fix bug reported in https://forum.zdoom.org/viewtopic.php ?
f=104&t=56682.
There were two problems:
1. Algorithm to select a free voice was not appropriate. Changed to a
simple "least-recently-freed voice" algorithm.
2. Sustained voices were treated as used voices and never got replaced.
Now sustained voices are preferentially replaced when there are no free
voices.
2018-04-30 18:21:30 +02:00
alexey.lysiuk
76ed80fe56
Fixed randomly colored weapons
2018-04-30 10:35:18 +03:00
Christoph Oelckers
ebc1c5741b
- some more weapon code extracted.
2018-04-30 00:09:42 +02:00
Christoph Oelckers
c2ac985357
- split off the utility functions from gl_weapon.cpp.
...
Meaning there's only half as much code left to clean up.
2018-04-29 23:38:26 +02:00
Christoph Oelckers
d904fba05b
- trying to clean up the weapon renderer.
...
Some of the data generation has been offloaded to subfunctions to get the main function down to something manageable for refactoring.
2018-04-29 22:30:52 +02:00
Christoph Oelckers
67cb6e63b5
- cleanup of the 2D interface.
...
Lots of this was still laid out for DirectDraw. This removes most of Begin2D so that it can be done more cleanlz.
Note that this commit renders weapon sprites and screen blends incorrectly. Those will be fixed in an upcoming commit.
2018-04-29 20:15:19 +02:00
Christoph Oelckers
1345c8e7b4
- fixed: NewDecal should not be called unless it is guaranteed that the decal will be rendered.
...
This left partially initialized items in the render list.
2018-04-29 19:28:13 +02:00
Christoph Oelckers
4d72214fd5
- fixed a memory leak in the FileReader.
2018-04-29 19:09:51 +02:00
Christoph Oelckers
852c42bbd4
- fixed dynamic lights in legacy mode.
...
Since they mess around with the texture coordinates, these need to be backed up and restored afterward.
There was also an issue with the ValidNormal check that was suffering from imprecisions that cause walls to be skipped, so the check was removed because it was mostly pointless.
2018-04-29 19:00:17 +02:00
Christoph Oelckers
6cd8b1b3eb
- With dynamic light data creation being done in the preparation pass, the light buffer must be mapped while this is running for it to work on older hardware.
2018-04-29 17:36:51 +02:00
Christoph Oelckers
f91511bd84
- removed the leftover code for running walls through GLPASS_LIGHTSONLY.
...
Unless in legacy mode, all dynamic light setup is now being done in the preparation pass, for both LM_DEFERRED and LM_DIRECT.
2018-04-29 17:27:28 +02:00
alexey.lysiuk
e9d84b8820
Fixed compilation of non-Windows targets
...
src/hwrenderer/dynlights/hw_aabbtree.h:45:2: error: no template named 'TArray'
src/hwrenderer/dynlights/hw_aabbtree.h:48:2: error: no template named 'TArray'
2018-04-29 16:12:33 +03:00
Christoph Oelckers
06d20e13b8
- cleaned up the gamma correction code.
...
This had accumulated quite a bit of cruft by now and parts of it should be in non OpenGL code.
2018-04-29 13:45:53 +02:00
Christoph Oelckers
9e6f3787c6
- moved PTM_BestColor to v_palette.cpp and removed its dependencies on CVARs.
2018-04-29 13:10:30 +02:00
Christoph Oelckers
9350eee0c0
- GLDrawList moved to hwrenderer/.
2018-04-29 12:56:06 +02:00
Christoph Oelckers
77b301612a
- some refactoring of GLDrawList to remove implementation-specific parts from this class.
2018-04-29 12:32:21 +02:00
Christoph Oelckers
ec13b77717
- removed empty gl_wall.h.
2018-04-29 11:40:47 +02:00
Christoph Oelckers
634b3cf413
- moved gl_spritelight out of gl/. This required a few more changes:
...
* split gl_shadowmap.cpp into a GL dependent and an API independent part.
* gl_drawinfo must be kept around for the HUD sprite because it connects the renderer with the hardware indpendent part of the engine.
2018-04-29 11:00:34 +02:00
Christoph Oelckers
819ea8f937
- reduced gl_spritelight.cpp to pure data setup so that it can be moved out of gl/.
...
- added thread_local to some static arrays being used for setting up dynamic lights.
Right now it's of little consequence but these will have to be maintained per thread if the render data setup is done by worker tasks.
2018-04-29 09:33:36 +02:00
Christoph Oelckers
64b108ff44
- hw_sprites extracted
...
- moved the variables for OpenGL's special textures to the texture manager because it is far better suited as a container than the GLRenderer.
2018-04-29 00:09:44 +02:00
Christoph Oelckers
d1720ad790
- GLSprite rework.
2018-04-28 20:02:17 +02:00
alexey.lysiuk
6d308ca67e
Fixed walkthrough blocker in Sin City 2 via compatibility entry
...
It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b
broke triggering of important linedef that pushes friendly marine to exit switch
https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
2018-04-28 17:45:15 +02:00
Christoph Oelckers
243e12bd8f
- split gl_flats.cpp
2018-04-28 13:24:45 +02:00
Magnus Norddahl
5cdea39b35
- add the missing header files in the vs solution explorer
2018-04-28 13:11:55 +02:00
Christoph Oelckers
c5641a0e72
- GLFlat split into API-dependent and -independent data.
...
No resorting of the files yet.
2018-04-28 12:34:09 +02:00
Christoph Oelckers
d694e19f01
- split off the data generation parts of gl_skydome.cpp
2018-04-28 00:50:42 +02:00
Christoph Oelckers
785a6c2ce5
- moved gl_sky.cpp
2018-04-28 00:22:25 +02:00
Christoph Oelckers
cc926dec1e
- removed gl dependencies from gl_sky.cpp by moving some data into other places.
2018-04-28 00:18:49 +02:00
Christoph Oelckers
59477362d9
Merge branch 'wallwork'
2018-04-27 20:37:54 +02:00
Christoph Oelckers
c2333db725
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-04-27 20:37:44 +02:00
Christoph Oelckers
fe2bfc6f11
- moved the API-independent parts of the decal code to hwrenderer/.
2018-04-27 20:34:20 +02:00
Christoph Oelckers
678ac40b72
- cleaned up includes for gl_decal.cpp
2018-04-27 20:28:59 +02:00
Christoph Oelckers
383ff0d8b8
- moved code around.
2018-04-27 20:21:22 +02:00
Christoph Oelckers
0d7c2527f2
- finished decal render refactoring.
...
Decals will now be processed into a list in the processing pass, allowing to use the vertex buffer even on GL3 hardware and to offload this part of the work to a multithreaded worker task.
2018-04-27 20:18:52 +02:00
Christoph Oelckers
1ae2f06161
Merge branch 'wallwork' of https://github.com/coelckers/gzdoom into wallwork
2018-04-27 18:53:08 +02:00
Christoph Oelckers
58c0431396
- copied gl_SetupLights to hw_walls.cpp.
2018-04-27 18:53:01 +02:00
alexey.lysiuk
2ae8b0c093
Added startup song definition for custom IWADs
...
https://forum.zdoom.org/viewtopic.php?t=60314
2018-04-27 13:32:38 +03:00
Christoph Oelckers
200848a487
Decal work. Not finished yet.
2018-04-27 11:40:23 +02:00
alexey.lysiuk
8dfd1e6490
Removed unsupported versions of macOS from detection list
2018-04-27 11:04:19 +03:00
Christoph Oelckers
bbea6e7e3c
Begin2D doesn't need a return type anymore
...
This was to tell the caller that software 2D was in use, but that doesn't exist anymore
2018-04-27 09:58:19 +02:00
Christoph Oelckers
90a1614ac8
The intermission drawer doesn't need to check the return of Begin2D anymore
2018-04-27 09:34:43 +02:00
Christoph Oelckers
fbcf2033c6
Corrected render style definition
2018-04-27 09:34:02 +02:00
Christoph Oelckers
0dc82fe755
- header cleanup for gl_swscene.
2018-04-27 00:53:58 +02:00
Christoph Oelckers
9d13e6b7ec
- gl_colormap.h is no longer needed.
2018-04-27 00:31:00 +02:00
Christoph Oelckers
fc0d673935
- moved the files
2018-04-27 00:28:30 +02:00
Christoph Oelckers
dd524b046e
- GLWall is mostly clean, except some smaller things in gl_sky.cpp
2018-04-27 00:22:00 +02:00
Christoph Oelckers
937a2cf69f
- abstracted the vertex allocator.
2018-04-26 20:07:56 +02:00
Christoph Oelckers
9a1603b246
- made GLWall ready for multithreaded processing.
...
* to do this efficiently the amount of required vertices needs to be calculated up-front
* always create the vertices in the data generation pass, not the render pass.
* added synchronisation code to the vertex buffer allocator.
Without multithreading this causes a slight slowdown, due to added processing cost. (Frozen Time bridge scene drops from 47 fps to 44 fps on my test machine.
2018-04-26 19:25:11 +02:00
alexey.lysiuk
3111ec97bb
Fixed crash during line tracing when enter sector is null
...
https://forum.zdoom.org/viewtopic.php?t=60371
2018-04-26 17:33:05 +02:00
alexey.lysiuk
86232df5ee
Fixed rendering of walls and flats
...
With high resolution textures enabled (gl_texture_usehires CVAR set to true) and without hires textures loaded walls and flats were black
2018-04-26 10:37:27 +03:00
Christoph Oelckers
6e58f72329
- continued reorganization of GLWall.
2018-04-26 07:07:46 +02:00
Christoph Oelckers
1ae6ad2a82
- moved the legacy member functions of GLWall to FDrawInfo.
2018-04-25 22:58:56 +02:00
Christoph Oelckers
41d5bd76d4
- moved decal rendering from GLWall to FDrawInfo.
...
First step of turning GLWall into a pure data container.
2018-04-25 22:09:12 +02:00
Christoph Oelckers
306b630de2
- merged the remains of gl_texture.cpp into hw_cvars.cpp.
...
- eliminated hqresize.cpp's dependency on GL headers.
- cleaned up the logic for CreateTexBuffer so that hqresize.cpp does not need to check for software warped textures anymore.
2018-04-25 21:02:50 +02:00
Christoph Oelckers
ceeb479261
- moved the CVAR definitions from gl/ to hwrenderer/.
...
- disabled gl_texture_format because in its existing form it is mostly a useless feature.
2018-04-25 20:33:55 +02:00
ZZYZX
3129840a04
Only call additional LineCheck if there are 3D floors
2018-04-25 19:38:29 +02:00
ZZYZX
3eef3d7845
Implemented workaround for ZScript LineTrace with 3D floors
2018-04-25 19:38:29 +02:00
Christoph Oelckers
85300993af
- replaced gl_PatchMenu with an MMX 'ifoption' check.
2018-04-25 19:36:48 +02:00
Christoph Oelckers
cf8ee3130b
- gl_clock moved to hwrenderer.
2018-04-25 18:39:54 +02:00
Christoph Oelckers
982776d48d
- removed dependencies on GL-API related classes from gl_walls.cpp and gl_sky.cpp
...
Not complete yet, but at least the GLWall memberes no longer reference GLSceneDrawer and the implementation dependent parts of FDrawInfo.
2018-04-25 14:58:13 +02:00
Christoph Oelckers
bf81799701
- typo
2018-04-25 13:59:27 +02:00
Christoph Oelckers
81341ac6c5
- Moved all static variables in hw_renderhacks into HWDrawInfo
...
- removed the profiling code from hw_renderhacks because it was broken in its current state and if still needed needs to be redone differently.
2018-04-25 13:59:14 +02:00
Christoph Oelckers
1648fc6a07
Fixed initialization issues with dynamic lights.
...
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2018-04-25 09:14:01 +02:00
Christoph Oelckers
f4e139485a
- fixed return value of hw_CheckViewArea.
2018-04-25 00:30:35 +02:00
Christoph Oelckers
bc8f47444f
- texture precaching also moved to hwrenderer/.
2018-04-25 00:07:46 +02:00
Christoph Oelckers
e24b597ae4
- got rid of the gl_info substructure in FTexture and moved all elements into the main class.
2018-04-24 23:51:19 +02:00
Christoph Oelckers
1a024a9f54
- moved gl_material into hwrenderer/.
2018-04-24 23:39:58 +02:00
Christoph Oelckers
0675315b41
- made FHardwareTexture inherit from an abstract interface to remove all GL dependencies from gl_material.cpp.
2018-04-24 23:06:34 +02:00
Christoph Oelckers
f9a82e66e4
- removed all GL dependencies from gl_material.h.
2018-04-24 22:37:52 +02:00
Christoph Oelckers
5e8a4b96fe
- make sure that warping textures never create a warped true color image.
...
This replaces the old redirection hackery that had to work differently for the legacy render path.
Overriding CopyTrueColorTranslated is far more robust and ensures that no edge cases can reach the GetPixels function, which wasn't the case before.
2018-04-24 21:58:26 +02:00
Christoph Oelckers
c37ff22a05
- removed the intermediate FGLTexture class.
...
This wasn't serving any real purpose anymore, and all its remaining functionality could be moved to FHardwareTexture
2018-04-24 20:41:52 +02:00
Christoph Oelckers
8d62ebd2f4
- renamed the functions in hw_fakeflat.cpp
2018-04-24 17:52:35 +02:00
Christoph Oelckers
0dcc6ec6d3
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/CMakeLists.txt
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_portal.cpp
# src/gl/scene/gl_scene.cpp
2018-04-24 17:39:03 +02:00
alexey.lysiuk
2ae8d39441
Removed all superfluous #include's
...
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers
e55b52f356
Moving the files to hwrenderer/
2018-04-24 11:58:04 +02:00
Christoph Oelckers
dbb1492bf9
Fully separated HWDrawInfo from GL dependencies.
...
This also required temoporarily moving one small function because in the current state this cannot be done in the API independent part.
2018-04-24 11:52:15 +02:00
Christoph Oelckers
a803b3d393
Split FDrawInfo in two
...
Done so that the entire gl_renderhacks.cpp file can be moved out of the GL folder.
Not cleaned up yet
2018-04-24 10:30:26 +02:00
Magnus Norddahl
45625399dc
- fix softpoly line portals
2018-04-23 23:09:11 +02:00
Christoph Oelckers
a93799b21f
- moved the "unused" folder to the repo's top level.
2018-04-23 22:25:29 +02:00
Christoph Oelckers
5ca1fca8d1
- moved gl_clipper and gl_fakeflat to the hwrenderer folder because both files do not contain anything API specific.
2018-04-23 22:18:13 +02:00
Christoph Oelckers
60567f207c
- made CheckViewArea a global function.
...
This can be put into the common hwrenderer folder but for that it shouldn't be part of the scene drawer.
2018-04-23 22:10:11 +02:00
alexey.lysiuk
c264ff05da
All platform-specific headers are referenced by generated projects
...
This was already the case on Windows anyway
2018-04-23 22:15:11 +03:00
alexey.lysiuk
6ac0c2f569
Excluded unused .cpp file from compilation
2018-04-23 18:42:59 +03:00
Magnus Norddahl
2aee68d215
- slightly improve sector portal handling in softpoly
2018-04-23 01:03:37 +02:00
Magnus Norddahl
6e77cb4906
- fix softpoly mirrors
2018-04-22 23:29:39 +02:00
Magnus Norddahl
16a8d71caf
- Simplify the portal code in softpoly somewhat
2018-04-21 15:19:28 +02:00
alexey.lysiuk
b0261d9545
Actor's Activation property is now stored in saved game
...
https://forum.zdoom.org/viewtopic.php?t=60295
2018-04-21 13:12:12 +03:00
alexey.lysiuk
9398d602f8
Fixed applying of dymanic lights to models
...
https://forum.zdoom.org/viewtopic.php?t=60301
2018-04-19 12:50:07 +03:00
alexey.lysiuk
75129f54b4
Deleted remnants of old software backend
2018-04-19 12:44:20 +03:00
alexey.lysiuk
3212da8fcf
Cleaned up #include's in dynamic lights code
2018-04-19 11:12:29 +03:00
alexey.lysiuk
671736ecdc
Disabled annoying MSVC 2015 warnings in ADL and OPN files
...
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_midiplay.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_load.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_private.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_opl3.cpp)
src\sound\opnmidi\opnmidi.cpp(132): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi.cpp(147): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(168): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(177): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(186): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(195): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(209): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(740): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(741): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(742): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(743): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_midiplay.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_load.cpp)
src\sound\opnmidi\opnmidi_midiplay.cpp(697): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_midiplay.cpp(698): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_opn2.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_private.cpp)
2018-04-19 11:12:20 +03:00
Christoph Oelckers
e77cba1fd8
- added a 'lightsizefactor' command to gldefs.
...
This is for mitigating the recently discovered problem with attenuated lights getting reduced in size, even on OpenGL 3+. The intent of the shrinking was to account for higher brightness of non-attenuated lights on OpenGL 2 and was never meant to be active on more modern versions.
The factor will apply to any attenuated light defined after it and will be inherited by included sub-lumps, but it will only last for the lunp it is set in.
If you have a definition for the broken behavior, AddLightAssociation
'lightsizefactor 0.667' at the top of your GLDEFS.
2018-04-18 22:15:06 +02:00
alexey.lysiuk
4ab6034a36
Cleaned up Windows backend from remains of Direct3D
...
Removed obsolete CMake settings, useless #include's, dead code
2018-04-18 17:05:25 +03:00
alexey.lysiuk
c241f34f15
Updated headers' paths for main project
...
Now all headers should be added to a project generated by CMake
2018-04-18 17:01:35 +03:00
alexey.lysiuk
a4a4abe896
Fixed usage of wrong drawlist for lit flats in legacy renderer
...
https://forum.zdoom.org/viewtopic.php?t=60279
2018-04-17 17:06:58 +03:00
Magnus Norddahl
4870cc73e2
- fix true color software crash in square and other maps
2018-04-17 09:01:34 +02:00
alexey.lysiuk
7a11be8615
Fixed dangling links to garbage collected HUD message objects
...
https://forum.zdoom.org/viewtopic.php?t=60262
2018-04-16 14:45:31 +03:00
alexey.lysiuk
87d164ee59
Added ability to set thing position in compatibility layer
2018-04-16 14:30:21 +03:00
alexey.lysiuk
3d1693558e
Removed obsolete compatibility enumeration
2018-04-16 14:29:10 +03:00
Christoph Oelckers
c1ce6c90ca
Moved gl_dynlight to hwrenderer because it does not depend on any direct renderer info.
2018-04-16 09:02:48 +02:00
Christoph Oelckers
3e6f69f64a
Renamed two functions
2018-04-16 08:55:13 +02:00
Christoph Oelckers
8a2e52d651
Removed gl_lights_checkside which essentially was just a pointless piece of cruft inherited from ZDoomGL.
2018-04-16 08:45:50 +02:00
Christoph Oelckers
f57c804a5a
store shadow map index in the light actor instead of a separate TMap
...
This frees another file of a direct renderer dependency and generally also should be faster
2018-04-16 08:42:37 +02:00
Magnus Norddahl
4a3f7e8dd5
- fix missing fuzz initialization in softpoly
2018-04-16 01:15:55 +02:00
Magnus Norddahl
5b60a29d35
Merge branch 'master' of https://github.com/coelckers/gzdoom into gzdoom
2018-04-16 01:08:38 +02:00
Magnus Norddahl
f5c2ffabc9
- fix softpoly portal crash and blinking translucent objects
2018-04-16 01:08:29 +02:00
Christoph Oelckers
88f856d995
- fixed a y/Z mixup with the hardware renderer's vectors.
...
Why do they have to be different from what the game itself uses...? :(
2018-04-15 23:51:41 +02:00
Christoph Oelckers
dcefa3cd12
- GLSprite done, too.
2018-04-15 19:57:28 +02:00
Christoph Oelckers
ee1d1a29a6
- converted GLFLat list to use pointers as well.
...
- added copy constructors and assignement operators to GLFlat and GLWall so that they can use memcpy instead of field-by-field copy. This actually increases performance slightly.
2018-04-15 19:00:54 +02:00
Magnus Norddahl
d10aa10889
- fix missing psprite when camera textures are in view
2018-04-15 17:16:13 +02:00
Christoph Oelckers
d17216d7dd
- fixed the translucent wall splitter, it forgot to copy the original wall before making adjustments to it and its copy.
2018-04-15 17:04:02 +02:00
Magnus Norddahl
21c2d38342
- fix softpoly canvas drawing not restoring all globals properly
...
- add null pointer check on camera
2018-04-15 16:05:29 +02:00
Magnus Norddahl
25784c2e57
- always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (software drawer)
2018-04-15 14:58:19 +02:00
Magnus Norddahl
11bb626ab6
- always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (softpoly drawer)
2018-04-15 14:47:53 +02:00
Magnus Norddahl
61032cb6ae
- fix softpoly portal crash
2018-04-15 14:40:52 +02:00
Christoph Oelckers
e8eb8dd596
- store the wall render nodes as pointers, not as objects.
...
This is mainly for future-proofing because storing these as objects in an array not only has a negative impact when using multithreading due to longer blocking time for the threads but also makes it hard to cache this data for reuse.
2018-04-15 14:25:42 +02:00
Magnus Norddahl
e15baa21cb
- Remove dead code
2018-04-15 12:21:40 +02:00
Christoph Oelckers
cf8447d19c
-protected critical portal data from getting written to by user code.
...
This data is game critical and may only be altered by code that knows what is allowed and what not. It must never be altered by any user code ever.
However, since the SkyViewpoint actors need to set up some relations between themselves and the default sky portals the previously purely internal 'internal' flag has been exported as a new keyword.
2018-04-15 12:13:02 +02:00
alexey.lysiuk
4ea16acef5
Fixed broken portals after loading saved game
...
Portals disabled initially and activated by scripting must be fully restored after loading of saved game
https://forum.zdoom.org/viewtopic.php?t=59999
2018-04-15 10:52:02 +02:00
Christoph Oelckers
35596dbbc4
- brighten the textured automap when in the hardware renderer with light modes 0, 1 and 4.
2018-04-15 08:53:38 +02:00
Christoph Oelckers
515323dcbd
- fixed: Rendering a translucent mid texture did not unset the render style for the following bottom texture.
...
With additive translucency and non-black fog this caused visual errors.
2018-04-15 08:29:40 +02:00
Christoph Oelckers
c03024e1b0
- fixed last commit
2018-04-14 22:34:25 +02:00
Magnus Norddahl
48b0fbcf4b
- Remove r_swcanvas.cpp again. It got accidentally re-added somehow by the swmodels branch
2018-04-14 22:30:02 +02:00
Magnus Norddahl
b62d05ae0e
Merge branch 'swmodels' into gzdoom
2018-04-14 22:23:27 +02:00
Magnus Norddahl
ee443b6fb6
- disable software models
2018-04-14 22:22:40 +02:00
Christoph Oelckers
71c8417578
- removed UniqueLineToLines because it wasn't used anywhere.
2018-04-14 21:24:48 +02:00
Magnus Norddahl
c3bd93a85c
Merge remote-tracking branch 'gzdoom/master' into swmodels
2018-04-14 21:20:05 +02:00
Christoph Oelckers
790182a2f4
- split GLWall::PutWall in two.
2018-04-14 20:20:43 +02:00
Christoph Oelckers
59a08ce0df
- fixed a few warnings and changed the return type of FGLTexture::Bind, because no caller needs the hardware texture.
2018-04-14 12:24:04 +02:00
Christoph Oelckers
0affc119fd
- moved hardware independent part of flat vertex data out of GL folder.
2018-04-14 12:05:31 +02:00
alexey.lysiuk
ba4cc1a6ca
Added activation type to WorldLine(Pre)Activated events
...
https://forum.zdoom.org/viewtopic.php?t=60232
2018-04-14 11:52:09 +03:00
alexey.lysiuk
83c513b6c9
Added names for arguments in DStaticEventHandler class definition
2018-04-14 11:52:09 +03:00
Christoph Oelckers
e654a99d39
- changed GLDebug to receive char pointers instead of FStrings.
...
The most frequent call using this is the regular texture creation function where this results in a pointless allocation and destruction of a temporary string which is easily avoided.
2018-04-14 10:40:11 +02:00
Christoph Oelckers
ad021cc374
- fixed: Hardware camera textures were given a dimension of (0, 0).
2018-04-14 10:26:56 +02:00
Christoph Oelckers
870890d8cf
- r_clearcolor did not consider that the base palette's alpha is not set.
2018-04-14 09:33:45 +02:00
Christoph Oelckers
cef6ddca6e
- fixed: Rendering to a camera textures clobbered the main render target for the software renderer.
2018-04-14 08:09:40 +02:00
Magnus Norddahl
915f8862a7
- Remove code that seemingly doesn't do anything and really shouldn't be needed
2018-04-13 21:56:34 +02:00
Magnus Norddahl
7e544c66fe
Merge remote-tracking branch 'gzdoom/master' into swmodels
2018-04-13 21:35:21 +02:00
Christoph Oelckers
71a6cc4625
Merge branch '2D_Refactor'
2018-04-13 17:52:58 +02:00
Christoph Oelckers
81f72ca4dd
Merge branch 'ZCompat2'
2018-04-13 17:52:02 +02:00
Rachael Alexanderson
a23259f26a
- remove TLS workaround and turn it into an actual error since it is required in order to even properly compile and not all systems properly detect this.
2018-04-13 09:10:33 -04:00
Christoph Oelckers
387827555f
- added compatibility handler for Alien Vendetta MAP01 to properly display the deep water hack and avoid problems with a node rebuild.
2018-04-11 23:08:59 +02:00
Christoph Oelckers
3aea82797c
- removed the parser for complex compatibility settings, now that this can be done via scripting.
2018-04-11 19:21:02 +02:00
Christoph Oelckers
3988e27059
- scriptified the last remaining definition (BTSX MAP12 beta)
...
- Changes to map geometry must force a node rebuild (SetVertex, SetLineSectorRef.)
- fixed incorrect use of scaling constant in SetWallYScale.
2018-04-11 19:10:15 +02:00
alexey.lysiuk
6631f208b1
Scriptified remaining compatibility entries
2018-04-11 17:01:57 +03:00
alexey.lysiuk
950443683b
Scriptified compatibility of more Heretic levels
2018-04-11 12:35:45 +03:00
Christoph Oelckers
0ecbf07769
-ported a large part of compatibility.txt
2018-04-10 23:19:22 +02:00
Christoph Oelckers
9daad477c3
- some improvements to compatibility scripts:
...
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk
03ffb30c39
Enabled custom window title in SDL backend
2018-04-09 20:47:49 +02:00
alexey.lysiuk
e6e2b11167
Set common name for system-specific framebuffer class
...
Implementation details are hidden as much as possible in platform-specific source files
Reduced number of included header files
2018-04-09 20:47:49 +02:00
alexey.lysiuk
640948703f
Level compatibility via ZScript -- PoC
2018-04-09 17:54:12 +03:00
Christoph Oelckers
e50d09ceb2
- removed the render mode settings from the launch popup.
...
They were already deactivated because with 5 render modes present this was destructive, having only 2 options available.
Since the render mode can now be changed on the fly this isn't as critical anymore as it once was.
2018-04-08 22:03:38 +02:00
drfrag666
80f57dfaf0
- Increased size of the savegame comment area.
2018-04-08 21:56:35 +02:00
Marisa Kirisame
8ff81c93e8
Fix building on GCC7.
2018-04-08 21:53:20 +02:00
Marisa Kirisame
08f3afab0b
Separated P_ActivateLine ZScript export into two functions, one with and one without a vector parameter.
2018-04-08 21:53:20 +02:00
Marisa Kirisame
5d0ff4c8ba
Exports P_ActivateLine to ZScript (along with constants for activation type)
2018-04-08 21:53:20 +02:00
Christoph Oelckers
551691f42a
- made FTexture::GetPixels and FTexture::GetColumn non-pure-virtual.
...
With the software renderer not being used for 2D anymore it would be quite annoying if every texture class had to implement these.
If done properly, the SW renderer should actually be forced to dynamic_cast any texture to a FWorldTexture before using this stuff, but that'd be some pointless overhead better saved.
2018-04-08 21:19:57 +02:00
Christoph Oelckers
3dc670a0cc
- missed this.
2018-04-08 21:02:15 +02:00
Christoph Oelckers
3dcd7d310f
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
2018-04-08 20:52:30 +02:00
Christoph Oelckers
7c70e0971c
- disabled the survey code.
...
This survey is now closed and new input no longer needed.
2018-04-08 20:51:19 +02:00
Christoph Oelckers
e6ce429ca5
- fixed alpha for hardware rendered weapon sprites in the software renderer.
2018-04-08 20:40:29 +02:00
Christoph Oelckers
a40d85fd41
- fixed: Before aqcuiring the WipeEndScreen, the renderer must be flushed.
...
Apparently this got previously done implicitly by code that got lost in the refactoring.
2018-04-08 19:54:17 +02:00
Christoph Oelckers
17c18f3367
- fixed typo in texture search function. This caused the crosshairs not to be found.
2018-04-08 19:16:46 +02:00
Magnus Norddahl
c4768441b4
- Fix playersprite offset being wrong in softpoly
...
- Remove DFrameBuffer::GetCanvas as it always returned null
2018-04-08 15:49:06 +02:00
Magnus Norddahl
4a730f6dd5
- Fix softpoly ignores status bar displacement
2018-04-08 14:28:48 +02:00
Magnus Norddahl
1a5f679d43
- Fix depth values when screenblocks less than 11
2018-04-08 13:45:23 +02:00
Christoph Oelckers
94e8d59dde
- implemented shader support for rendering the SW renderer canvas with legacy OpenGL.
2018-04-08 13:05:20 +02:00
alexey.lysiuk
8cd3cf04e7
Fixed a few compilation warnings
...
src/gl/renderer/gl_renderer.cpp:775:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:776:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:777:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:778:45: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:779:40: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:780:45: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/v_draw.cpp:1144:51: warning: '&' within '|' [-Wbitwise-op-parentheses]
src/textures/texture.cpp:1050:20: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src\intermission\intermission.cpp(80): warning C4101: 'lumpnum': unreferenced local variable
2018-04-08 13:55:46 +03:00
alexey.lysiuk
018f5b8d05
Removed deleted virtual functions
...
They led to link errors with the current Apple's toolchain
2018-04-08 13:55:46 +03:00
alexey.lysiuk
5a4307160e
Fixed compilation of SDL backend
2018-04-08 13:55:46 +03:00
alexey.lysiuk
1c89de25dd
Fixed compilation of Cocoa backend
2018-04-08 13:55:46 +03:00
alexey.lysiuk
a434f9bc91
Added missing _access() macro for POSIX targets
...
src/textures/hires/hirestex.cpp:338:8: error: use of undeclared identifier '_access'
2018-04-08 13:55:46 +03:00
alexey.lysiuk
472fdb26ad
Removed erroneous function declarations
...
src/r_data/gldefs.cpp:69:13: error: static declaration of 'ParseVavoomSkybox' follows non-static declaration
2018-04-08 13:55:46 +03:00
alexey.lysiuk
b8ee9d88ba
Fixed non-constant condition for static assertion
...
GCC 7:
src/gl/renderer/gl_renderer.cpp:702:2: error: non-constant condition for static assertion
src/gl/renderer/gl_renderer.cpp:702:2: error: value ‘12’ of type ‘float*’ is not a constant expression
src/gl/renderer/gl_renderer.cpp:703:2: error: non-constant condition for static assertion
src/gl/renderer/gl_renderer.cpp:703:2: error: value ‘20’ of type ‘PalEntry*’ is not a constant expression
Clang:
src/gl/renderer/gl_renderer.cpp:701:16: error: static_assert expression is not an integral constant expression
src/gl/renderer/gl_renderer.cpp:701:23: note: cannot access field of null pointer
2018-04-08 13:55:46 +03:00
alexey.lysiuk
6144ca930d
Fixed POSIX definition of rdtsc() function
...
src/stats.h:121:24: error: expected ';' after top level declarator
2018-04-08 13:55:46 +03:00
Christoph Oelckers
b12a6fded9
- added the code for legacy shaders.
...
- force texture filtering for 2D to off when in software rendering.
2018-04-08 12:11:51 +02:00
Christoph Oelckers
5eb898107f
- now that all 2D is guaranteed to be drawn in true color, the Heretic E2 end pic can be handled with less hacks.
...
This removes the entire palette switch and all the special checks to ensure that no menu can be drawn over this image.
Instead it gives this texture its special palette in the texture manager so that the proper image is created right away.
I decided against exposing this as an editing feature because it is far too specific to this particular image and the raw page format it uses.
A quick check of /idgames shows no project ever replacing it - especially no ZDoom-based project - so no extended handling is needed to make this work with other texture formats.
2018-04-08 10:10:26 +02:00
Christoph Oelckers
1897073b60
-fixed: When performing a restart the SW scene drawer's resources should be reset because they are outside the control of higher level containers.
2018-04-08 08:03:46 +02:00
Magnus Norddahl
b1355d472c
- Fix model projection matrix
2018-04-08 03:57:05 +02:00
Magnus Norddahl
7f25913b2d
- Fix depth values written by sloped planes
2018-04-08 02:22:01 +02:00
Christoph Oelckers
0a2c415dbe
- deleted some copypasted but ultimately unused definitions.
2018-04-07 23:52:46 +02:00
Christoph Oelckers
df4f435952
- merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
...
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Magnus Norddahl
fde87c40d2
- fix crash when in software truecolor mode - the pitch is in pixels, not bytes
2018-04-07 19:56:54 +02:00
Christoph Oelckers
1fc1fac2c2
- added missing header.
2018-04-07 19:41:21 +02:00
Magnus Norddahl
c15328de2f
- Remove include that shouldn't be there (also caused macOS builds to fail)
2018-04-07 19:35:32 +02:00
Christoph Oelckers
adbeb3f251
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
2018-04-07 18:50:24 +02:00
Christoph Oelckers
cd00f1fb45
- fixed incorrect check for SW texture recreation.
2018-04-07 18:41:25 +02:00
Magnus Norddahl
2d51fa5b43
- Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
...
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Christoph Oelckers
5fbc723842
- live switching of the renderer works.
2018-04-07 12:59:04 +02:00
Christoph Oelckers
221beec979
- added palette shader and fixed a few things.
2018-04-07 12:17:23 +02:00
alexey.lysiuk
cb3650ed9e
Added message for absent explicitly referenced dialog file
2018-04-07 12:52:38 +03:00
alexey.lysiuk
3239a9eaa6
Added loading of ZSDF lumps by full paths
...
https://forum.zdoom.org/viewtopic.php?t=60139
2018-04-07 12:43:10 +03:00
Christoph Oelckers
211a7f2569
- made the screen blend work for the software renderer.
...
It may use the same calculations as the hardware renderer but must use the 2D drawer for display.
It should be investigated if the hardware renderer can do this as well.
2018-04-07 10:53:20 +02:00
Christoph Oelckers
b34d7f9e08
- added a software scene drawer to the GL renderer.
...
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
alexey.lysiuk
7bd281ddc9
Added zero initialization of implicit dynamic array items
...
https://forum.zdoom.org/viewtopic.php?t=60111
2018-04-05 12:22:41 +03:00
Magnus Norddahl
b1d33d1bba
- Fix mid texture rendering for self-referencing sector lines
2018-04-05 01:40:58 +02:00
alexey.lysiuk
b6f184491b
Restored vanilla behavior of lightning for original Hexen
...
https://forum.zdoom.org/viewtopic.php?t=60103
2018-04-04 16:46:01 +03:00
alexey.lysiuk
2e7d196f8b
Fixed crash when vid_setmode CCMD is used from command line
...
It's impossible to validate video mode at such early stage of initialization
Added sanity check for mode's width and height as well
https://forum.zdoom.org/viewtopic.php?t=59990
2018-04-04 11:46:14 +03:00
Christoph Oelckers
d474b849a5
- removed the remaining calls from the FRenderer interface from the main game code.
...
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
927b351174
- added missing validation to SetCameraToTexture ZScript function.
2018-04-03 23:01:15 +02:00
Christoph Oelckers
fcc33f0a09
- moved around more stuff from the FRenderer interface.
2018-04-03 22:50:47 +02:00
Christoph Oelckers
91813ec43d
- moved part of the fade init for LEVEL_HASFADETABLE to the common colormap initialization to have all of it in one place.
...
Otherwise this is easily overlooked when changing things later and potentially causing problems.
2018-04-03 20:55:36 +02:00
Christoph Oelckers
9ba32cb994
- with the new order of things we need the software renderer to be always available.
2018-04-03 20:14:26 +02:00
Christoph Oelckers
51bf2eb9fa
- took GetMaxViewPitch out of renderer interfaces.
...
With live switching and both renderers on the same backend the old approach will no longer work.
2018-04-03 19:18:16 +02:00
Christoph Oelckers
9a919960c9
- fixd bad comparators for std::sort
2018-04-03 01:01:10 +02:00
Christoph Oelckers
7589dfda25
- removed test and debug code.
2018-04-03 00:53:45 +02:00
Christoph Oelckers
853903bb7e
- removed the border refresh counter.
...
This was just a relic of DirectDraw as main backend and is no longer needed.
2018-04-03 00:50:40 +02:00
Christoph Oelckers
942460ba55
- changed voxel remapping to make a copy instead of destroying the original.
...
With live renderer switching both sets of data are needed.
2018-04-03 00:30:02 +02:00
Christoph Oelckers
2f96d3c61a
- moved global variable definitions to the top of a few files.
...
Most of these are not critical because they only get used in non-multithreaded contexts but it's definitely easier to look them up this way.
2018-04-02 23:42:45 +02:00
Christoph Oelckers
821c2ec4c7
- removed access to deleted variable.
2018-04-02 20:38:12 +02:00
Christoph Oelckers
b0460eee19
- regenerated gl_load with full OpenGL 4.5 declarations, mostly to get the direct state access functions.
2018-04-02 20:37:31 +02:00
Christoph Oelckers
6641d65237
- use std::sort to sort the draw lists to avoid having to go through global variables.
2018-04-02 20:10:51 +02:00
Christoph Oelckers
5d94af913a
- no, we do not want to use global variables to pass parameters around...
2018-04-02 18:13:18 +02:00
Christoph Oelckers
60aebff4a1
- starting separation of hardware dependent and hardware independent code, starting with aabbtree, because it was easy.
2018-04-02 15:58:28 +02:00
alexey.lysiuk
c70f9cf833
Reintroduced discarding of custom IWAD duplicates
...
Detection of duplicated IWADs now works the same for embedded and custom IWADINFO definitions
https://forum.zdoom.org/viewtopic.php?t=58333
2018-04-02 16:16:47 +03:00
alexey.lysiuk
4de9597006
Fixed detection of .ipk7 custom IWADs
2018-04-02 15:32:00 +03:00
alexey.lysiuk
ac7e5def32
Forbade dynamic array as the return type of a function
...
Compiler ignored this case silently but it crashed during code generation
2018-04-02 15:18:30 +03:00
Christoph Oelckers
52c5328412
- made the glow getter functions members of sector_t.
2018-04-02 13:36:28 +02:00
Christoph Oelckers
d01bc452ba
- moved all variables not related to the hardware renderer's texture state out of gl_info.
2018-04-02 13:00:33 +02:00
Christoph Oelckers
1fc4c9801b
- moved all GLDEFS parsing into a dedicated source file.
...
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.
2018-04-02 12:28:20 +02:00
Christoph Oelckers
fd6fbc76c6
- moved the ZDoomGL texshader files to 'unused', where they belong. It is very unlikely that this code will ever be revisited.
2018-04-02 10:24:27 +02:00
Christoph Oelckers
7083103a0e
- moved dynlightdata to r_data
2018-04-02 09:51:51 +02:00
Christoph Oelckers
8080e039e0
- moved most of gl_setup.cpp to r_data as this is only some data setup in the main map data structures.
...
- made currentmapsections array something nicer to look at and made it a member of the scene drawer class.
2018-04-02 09:27:40 +02:00
Christoph Oelckers
202d209eb8
- made the MapSectionGenerator a class to remove a global array.
2018-04-02 08:25:07 +02:00
Christoph Oelckers
4357f0dc40
- removed translation hack for alpha textures.
...
This will cause incorrectly generated textures and the reason for this no longer exists because CreateTexBuffer is doing this as a postprocessing step now.
2018-04-02 03:38:25 +02:00
Christoph Oelckers
524df21d81
- moved portal grouping code out of GL and into r_data.
2018-04-02 00:39:04 +02:00
Christoph Oelckers
d84554f093
- deleting some unused stuff
2018-04-02 00:28:25 +02:00
Christoph Oelckers
64b504ee7f
- fixed last commit. This was missing an init call for the portal data.
2018-04-02 00:14:53 +02:00
Christoph Oelckers
248a29bf06
- resorted portal render data.
...
Compiles but does not work...
2018-04-01 22:26:57 +02:00
Christoph Oelckers
8be788a9b3
- moved portal data into FLevelLocals.
2018-04-01 20:17:39 +02:00
Christoph Oelckers
65e7b6dfaa
- moved the code in gl_data.cpp to better fitting places
...
* the MAPINFO options now get handled in g_mapinfo.cpp and g_level.cpp, just like the rest of them as members of level_info_t and FLevelLocals.
* RecalcVertexHeights has been made a member of vertex_t and been moved to p_sectors.cpp.
* the dumpgeometry CCMD has been moved to p_setup.cpp
2018-04-01 18:45:27 +02:00
Christoph Oelckers
0127a71974
- fixed last commit.
2018-04-01 17:16:53 +02:00
Christoph Oelckers
0ae371f3ce
- moved gl_use_hires check back into material class and cleaned up the interface a bit.
...
The function is supposed to be a worker, nothing more and its result should only depend on its arguments.
2018-04-01 16:32:37 +02:00
Christoph Oelckers
c60c025554
- moved gl_load headers out of the gl folder.
...
This is mainly to get them out of the way. The place is not optimal but will have to do as long as this remains a separate branch.
2018-04-01 16:30:34 +02:00
alexey.lysiuk
5df5e2abe7
Fixed excessive growth of ACS string pool
...
This fixes usage of uninitialized variable in ACSStringPool::PoolEntry objects
The initial version (before 66d15dc
) increased pool size by one entry and assign all its members right after that
The improved version reserved MIN_GC_SIZE entries but didn't initialize anything except the first one
ACSStringPool::FindFirstFreeEntry() cannot find the proper entry as it uses PoolEntry::Next member for list traversal
It's enough to initialize Next member with FREE_ENTRY value because other fields will be assigned anyway inside ACSStringPool::InsertString()
https://forum.zdoom.org/viewtopic.php?t=60049
2018-04-01 16:27:08 +03:00
Christoph Oelckers
8b79eedfea
- moved CreateTexBuffer out of the GL code.
...
This is merely a buffer creation function with no dependencies on the renderer.
2018-04-01 14:38:48 +02:00
Christoph Oelckers
711a88bab3
- consolidated cycle_t and glcycle_t because aside from glcycle_t's ability to be deactivated when no profiling takes place they did exactly the same thing.
2018-04-01 13:24:03 +02:00
Christoph Oelckers
d6fedd36b1
- moved the Plane class to vectors.h and deleted gl_geometric.h
2018-04-01 12:43:23 +02:00
Christoph Oelckers
cd64655f97
- removed empty header gl_convert.h
2018-04-01 12:00:51 +02:00
Christoph Oelckers
1461059dae
- moved contents of gl_templates.h to files outside of gl/
2018-04-01 11:59:12 +02:00
Christoph Oelckers
e49cd2cb83
- moved the hires replacement and upscaling code out of the GL classes into FTexture.
...
This theoretically means that the software renderer could access this data as well - if it just had been written with a more flexible texture interface.
However, as things stand, this may require quite a bit of work to achieve.
2018-04-01 10:41:04 +02:00
Christoph Oelckers
3671fd7f97
Merge branch 'master' into 2D_Refactor
2018-04-01 08:44:39 +02:00
Christoph Oelckers
0f12fb9d6d
- moved the texture file format handlers to a subdirectory for clarity.
2018-04-01 08:25:38 +02:00
Christoph Oelckers
a9d5533603
- integrated GL parts of translation handling into the main module.
...
Now that this doesn't have to share assets with HW2D it could be simplified a lot.
2018-04-01 00:59:49 +02:00
alexey.lysiuk
ff96980dda
Fixed handling of default values in String.Mid()
...
https://forum.zdoom.org/viewtopic.php?t=60047
2018-03-31 21:45:20 +03:00
Christoph Oelckers
bc485a7f2c
- moved a large portion of gl_textures.cpp into the main files for the implementing classes.
...
The old organization made sense when ZDoom still was a thing but now it'd be better if all pure data with no dependence on renderer implementation details was moved out.
A separation between GL2 and GL3+4 renderers looks to be inevitable and the more data is out of the renderer when that happens, the better.
2018-03-31 19:20:59 +02:00
alexey.lysiuk
b36fc82fff
Removed check for duplicate IWADs
...
Skipping of duplicate IWADs seems to serve a cosmetic purpose only but it caused troubles with custom IWADs
https://forum.zdoom.org/viewtopic.php?t=58333
2018-03-31 15:34:55 +03:00
alexey.lysiuk
ca0e39cd0c
Added ability to load any IWAD without extension
...
Previously, only .wad files can specified without file extension for -iwad command line option
For example, -iwad square1 will load square1.pk3 as IWAD
2018-03-31 15:32:28 +03:00
Christoph Oelckers
410d6817b2
- minor cleanup on the texture layer data in FTexture.
2018-03-31 12:27:41 +02:00
alexey.lysiuk
17bc9c3f69
Fixed handling of default value in Actor.Vec3Angle()
2018-03-31 11:46:06 +03:00
Christoph Oelckers
6d6196388e
- made SPROFS a more usable feature.
...
This was originally invented to fix the sprite offsets for the hardware renderer.
Changed it so that it doesn't override the original offsets but acts as a second set.
A new CVAR has been added to allow controlling the behavior per renderer.
2018-03-31 10:37:46 +02:00
ZippeyKeys12
0441994106
Default newradius in A_SetSize
2018-03-30 18:06:46 -05:00
Christoph Oelckers
5bdea6278c
- removed RequireGLNodes from FRenderer interface.
...
It returned true for both renderers anyway.
2018-03-31 00:33:09 +02:00
Christoph Oelckers
6cd26dec01
- remove some dead code.
2018-03-31 00:25:15 +02:00
Christoph Oelckers
a001a5304d
- removed the old software renderer framebuffers for Windows
...
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
1e5fbc1423
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
Christoph Oelckers
ec8804cfd8
- added missing virtual destructor to DFrameBuffer.
...
Previously it inherited this from DCanvas but now both classes are no longer related.
2018-03-30 22:03:50 +02:00
Christoph Oelckers
ff19627251
- fixed legacy version of color overlay to use the correct blend settings.
2018-03-30 21:34:04 +02:00
Christoph Oelckers
00c66f42d3
- made DTA_SpecialColormap work, both for GL3+ and GL2 render paths.
...
This will only be used for HUD sprites. At the moment it will ignore sprite translations, though, when running in OpenGL 2 legacy mode.
2018-03-30 21:14:49 +02:00
Christoph Oelckers
832df6d43a
- implemented desaturation for the legacy GL renderer's 2D.
...
A lot of work that's only needed to be able to use the hardware renderer's 2D code with the software renderer.
2018-03-30 18:14:42 +02:00
alexey.lysiuk
709bbe3db0
Fixed crash on accessing player sprite's state in software renderer
...
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:40:31 +03:00
alexey.lysiuk
408a2f6dab
Fixed uninitialized members in DPSprite class
...
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:38:51 +03:00
alexey.lysiuk
140ad241c4
Adjusted validation limit for sound velocity again :(
...
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-30 10:42:22 +03:00
Vitaly Novichkov
74c5bab075
Attempt to fix a blank banks list of ADLMIDI
...
That happen because of silly dependency on soundfonts list which is totally unneeded to ADLMIDI as it uses embedded banks or external banks in a different format.
https://forum.zdoom.org/viewtopic.php?f=104&t=59997&p=1047184
2018-03-29 23:39:15 -04:00
Christoph Oelckers
811d96e07e
D3D 2D code refactored but not tested yet.
2018-03-29 23:21:25 +02:00
alexey.lysiuk
b952653303
Set more suitable limit for sound velocity validation
...
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-29 17:37:36 +03:00
Christoph Oelckers
a40e085a46
- 2D drawer implementation complete for hardware renderer.
...
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
alexey.lysiuk
cbad9ac219
Fixed crash when event handler class isn't derived from StaticEventHandler
2018-03-29 16:41:29 +03:00
Christoph Oelckers
077df87704
- 2D code works in GL legacy mode.
...
Not tested yet with shaders.
2018-03-29 11:58:28 +02:00
Christoph Oelckers
0ff1426b23
- fixed: The index info for the 2D lists was not set.
2018-03-29 07:55:35 +02:00
Christoph Oelckers
fa6ba84094
- fixed untextured vertex order and removed some test code.
2018-03-29 00:38:31 +02:00
Christoph Oelckers
a253b15334
- more fixes.
2018-03-28 23:57:50 +02:00
Christoph Oelckers
3ca3193379
- fixed a few things, but still not working.
2018-03-28 23:42:06 +02:00
Christoph Oelckers
b194f2c466
- game starts, but no 2D visible yet.
2018-03-28 22:04:28 +02:00
Christoph Oelckers
70b6754299
- implemented the 2D drawer for the hardware renderer. Not tested yet.
2018-03-28 21:38:00 +02:00
Wohlstand
2d79d187d5
OPNMIDI: Remove std:: from all snprintf calls
2018-03-28 20:37:55 +03:00
Wohlstand
6a497a0b92
ADLMIDI: Update latest update of DMXOPL3 bank by @sneakernets
...
And a small polishing of bank names to keep the informative, but much shorter
2018-03-28 20:34:28 +03:00
Wohlstand
99e24efc2c
ADLMIDI: Remove std:: from all snprintf-s
2018-03-28 20:33:02 +03:00
Christoph Oelckers
25999c1c6a
- looks like the 2D drawer sources did not get committed...
...
- This also adds the missing draw modes to the GLSL shader.
2018-03-28 19:07:43 +02:00
Christoph Oelckers
16480a3f4b
- it compiles again.
...
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
alexey.lysiuk
fdd93d704d
Merged list of video modes for Cocoa and SDL backends
...
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Christoph Oelckers
33289ade49
- renamed the 2D drawer in the GL renderer so that the same name can be used for the device-independent replacement.
2018-03-27 21:44:58 +02:00
Christoph Oelckers
29ad081368
- removed remaining DirectDraw code and a few other things that are no longer being used.
2018-03-27 21:04:01 +02:00
Christoph Oelckers
2ed744963c
- Changed frame buffer locking mechanism so that the only place where a lock is needed is when the software renderer wants to access the render buffer, which is precisely for the duration of the RenderView function.
...
No more locking insanity! :)
There are no locking counters or other saveguards here that would complicate the implementation because there's precisely two places where this buffer must be locked - the RenderView functions of the regular and poly SW renderer which cannot be called recursively.
2018-03-27 20:02:44 +02:00
Christoph Oelckers
0c3635e22c
- removed vid_hw2d CVar.
2018-03-27 17:58:25 +02:00
Christoph Oelckers
62f073ef60
- removed Accel2D variable and a little bit of locking cruft.
2018-03-27 17:13:10 +02:00
Christoph Oelckers
cff5f0e3c7
- removed DFrameBuffer's locking mechanism.
...
In its current form this is quite useless. What's really needed is to require a lock on the RenderBuffer for the 3D scene, but since this is not needed for the 2D stuff anymore it can be done far simpler.
2018-03-27 16:48:33 +02:00
Christoph Oelckers
c06ad5c59c
- separated DFrameBuffer from DCanvas.
...
This was a bad idea from the start and really only made sense with DirectDraw.
These days a FrameBuffer represents an abstract hardware canvas that shares nothing with a software canvas so having these classes linked together makes things needlessly complicated.
The software render buffer is now a canvas object owned by the FrameBuffer.
Note that this commit deactivates a few things in the software renderer, but from the looks of it none of those will be needed anymore if we set OpenGL 2 as minimum target.
2018-03-27 14:14:46 +02:00
Christoph Oelckers
bb9283a9af
- work on separating DFrameBuffer from DCanvas.
...
2D works in D3D backend, but 3D crashes because not all pointers have been rerouted yet.
2018-03-27 13:50:31 +02:00
Christoph Oelckers
377aa95e34
- removed empty header.
2018-03-27 12:01:15 +02:00
Christoph Oelckers
e0f1abdf81
- removed SDLFB and cleaned things up a bit.
2018-03-27 11:59:43 +02:00
Christoph Oelckers
1a28644d83
- cleaned out unused stuff from DCanvas.
...
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
ba799aebbd
- moved locking logic from DCanvas to DFrameBuffer.
...
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
dd491d6558
- removed support for paletted Windows display modes.
...
This was only relevant for DirectDraw which has been removed.
2018-03-27 10:41:38 +02:00
Christoph Oelckers
ded21cba8e
- moved more code from DCanvas to DFrameBuffer.
2018-03-27 10:34:21 +02:00
Vitaly Novichkov
38156b9243
ADL&OPL: Added a fallback for a blank instruments in GS/XG banks
2018-03-27 07:36:07 +02:00
Christoph Oelckers
d650e37497
- stripped out the entire software 2D renderer and moved all 2D drawing functions to DFrameBuffer so that they cannot be used with software DSimpleCanvas anymore.
2018-03-26 23:16:27 +02:00
Christoph Oelckers
e0039179cb
- merge error fixed.
2018-03-26 22:11:13 +02:00
Christoph Oelckers
a350c43c87
. removed the texture atlases from the OpenGLSWFrameBuffer.
...
# Conflicts:
# src/gl/system/gl_swframebuffer.cpp
2018-03-26 22:05:45 +02:00
Christoph Oelckers
41a0e6af4a
- removed the D3D texture atlas implementation.
...
This is a necessary first step for simplifying the texture handling in order to refactor it.
# Conflicts:
# src/gl/system/gl_swframebuffer.cpp
# src/textures/textures.h
# src/win32/fb_d3d9.cpp
2018-03-26 22:05:35 +02:00
Christoph Oelckers
d9f6546c16
- removed Shader Model 1.4 support.
...
The only hardware ever to support this is ATI's R200 which has been deprecated by ATI before Vista got released, and is no longer a relevant target.
2018-03-26 22:03:33 +02:00
Christoph Oelckers
40bbe5cd8a
- removed DirectDraw backend.
2018-03-26 22:03:32 +02:00
Marisa Kirisame
19b701728d
Typo fix in linetrace flags checking.
2018-03-26 22:00:17 +02:00
Christoph Oelckers
3c3c2f03e8
The missing parts of last commit.
2018-03-26 20:44:25 +02:00
Christoph Oelckers
7c333b1fd1
- changed the default settings for fluid_patchset, timidity_config and midi_config to point to the default sound font.
...
wildmidi_config has not been changed because it cannot read .sf2 files.
2018-03-26 20:43:44 +02:00
Christoph Oelckers
d166ab95a9
Revert "- fixed: 3D floor that extend into the real sector's floor were not clipped properly."
...
This reverts commit a33ad3c99e
.
Turns out that this breaks legitimate maps. So I'd rather let that one broken map glitch than the good ones.
2018-03-26 19:44:41 +02:00
Christoph Oelckers
f8019637cf
- fixed: FBuildTexture::CopyTrueColorPixels returned incorrect transparency information
2018-03-26 11:46:33 +02:00
Christoph Oelckers
755cbd341b
- fixed: A sprite having a picnum was not animating its image in the hardware renderer.
2018-03-25 22:01:18 +02:00
alexey.lysiuk
75a65873e7
Fixed applying of unsafe context in waiting command
...
https://forum.zdoom.org/viewtopic.php?t=59947
2018-03-25 22:38:38 +03:00
Christoph Oelckers
e89a598b31
- renamed FTexture's UseType flags and gave them a dedicated type.
...
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
5c7f2e0217
- removed some dumb CMake script that messed around with Visual Studio's user settings.
2018-03-25 17:51:23 +02:00
Christoph Oelckers
c0893027da
- added a band-aid fix in case Timidity has both chorus and reverb active.
...
This merely addresses the crashing issue, it does nothing about the faulty initialization logic here that causes the chorus not to get initialized properly if reverb is active.
The issue needs more in-detail investigation but for now this has to suffice.
2018-03-25 12:12:14 +02:00
Christoph Oelckers
4c4f8288a4
- disable XP toolset warning for 64 bit builds.
...
- fixed an error with assigning a string constant to a non-const char * variable that was pointed out by compiling with /permissive-.
2018-03-25 10:50:14 +02:00
Vitaly Novichkov
27b9b67d68
ADL&OPN: More setup: Chips count and Volume model!
...
Notes:
* ADL: The DMX volume model was set as default to unify volumes on all bank. Otherwise, if you will use 'Generic' or 'Win9x', the sound will became too loud than wanted. Each bank has own default volume model which is used when 'Auto' is set.
* ADL: 6 chips is optimal to work with default banks
* OPN: 8 chips are set to provide 48 polyphony channels. (each OPN2 chip has 6 channels only)
* Text files: junk spaces from end of lines are was auto-removed.
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
f7e45b06b7
Fixed double-increment and use a safer way to fetch a bank names
...
(in case of new bank will be added (or removed) on ADLMIDI side, no need to change the count of banks in "some deep place" of code)
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
79d7067f07
Fixed typo in the error message: it's YM2612 is OPN2 which is not OPL
2018-03-25 08:14:35 +02:00
Rachael Alexanderson
3e31b89929
- corrected 2 spelling errors and added a linebreak with a really long line for the stats prompt
2018-03-25 00:35:57 -04:00
Vitaly Novichkov
a60dc64e71
ADL&OPN: Fix long
vs int64
conflict in 'CalcChGoodness'
2018-03-25 01:37:44 +03:00
Vitaly Novichkov
6e6d1b5e97
Merge branch 'master' of git@github.com:coelckers/gzdoom.git
2018-03-25 01:20:31 +03:00
Christoph Oelckers
95d7101e26
- stats sending message.
2018-03-24 23:16:21 +01:00
Christoph Oelckers
a33ad3c99e
- fixed: 3D floor that extend into the real sector's floor were not clipped properly.
...
The only check being done on this was done after processing for the renderer which simply is too late.
2018-03-24 22:42:10 +01:00
Vitaly Novichkov
d202ef9e68
Merge branch 'master' of git@github.com:coelckers/gzdoom.git
...
# Conflicts:
# src/sound/opnmidi/opnmidi_private.hpp
2018-03-25 00:41:11 +03:00
Vitaly Novichkov
15e133afb9
ADLMIDI & OPNMIDI: Little clean and MSVC warnings muting
2018-03-25 00:38:26 +03:00
Christoph Oelckers
73f9300c2b
- disable MSVC warnings in OPNMidi.
2018-03-24 21:53:37 +01:00
Vitaly Novichkov
5acffa693f
Merge branch 'master' of git@github.com:coelckers/gzdoom.git
...
# Conflicts:
# src/sound/adlmidi/adlmidi.cpp
2018-03-24 23:51:36 +03:00
Vitaly Novichkov
be1b884a04
OPNMIDI: Natively disable embedded MUS and XMI, and MIDI sequencer
2018-03-24 23:46:05 +03:00
Vitaly Novichkov
0816018d36
ADLMIDI: Another warning fix
2018-03-24 23:33:39 +03:00
Christoph Oelckers
77a2101c06
- re-applied my changes to ADLMIDI code:
...
* disable sstream. No point pulling in such a large piece of code for two error messages.
* disable MSVC warnings which get emitted by the code.
2018-03-24 21:30:59 +01:00
Vitaly Novichkov
e31830e8be
ADLMIDI: Tiny warning fix
2018-03-24 21:26:30 +01:00
Vitaly Novichkov
be81e00722
ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
...
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom
I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 21:26:30 +01:00
Vitaly Novichkov
c65a004e08
ADLMIDI: Tiny warning fix
2018-03-24 23:19:50 +03:00
Christoph Oelckers
4e012e3765
- fill in the ADL bank menu from the internal table. Some of the names had to be shortened to prevent it from getting too confusing.
2018-03-24 21:19:10 +01:00
Vitaly Novichkov
b6302f5fc9
ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
...
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom
I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 22:45:54 +03:00
Christoph Oelckers
49ab99a383
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-03-24 19:40:52 +01:00
Christoph Oelckers
b8f2d1fc06
- better CVAR control for Timidity++ reverb.
2018-03-24 19:40:39 +01:00
Christoph Oelckers
4978d979e8
- fixed Windows version of snd_mididevice.
...
- removed mus2mis and xmi2mid converters from OPNMidi, because they are not needed.
- moved the data file for OPNMidi into gzdoom.pk3.
2018-03-24 18:29:12 +01:00
Christoph Oelckers
8aeb6531be
Merge branch 'opnMIDI' of https://github.com/Wohlstand/gzdoom into opnmidi
2018-03-24 17:10:50 +01:00
Marisa Kirisame
0656916bf2
Add WorldLinePreActivated to override line activation, as a counterpart to WorldLineActivated.
2018-03-24 16:30:49 +01:00
Vitaly Novichkov
6308fb311b
Added support for libOPNMIDI Playing device
2018-03-24 17:58:47 +03:00
Vitaly Novichkov
46942cb27f
Added libOPNMIDI sources
2018-03-24 17:52:52 +03:00
alexey.lysiuk
a4bee610b4
Added runtime warning about usage of unsupported OpenAL implementation
...
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 15:00:36 +02:00
alexey.lysiuk
c4b3dcf266
Fixed indent of OpenAL initialization messages
...
Tab characters should not be used for indenting messages in console
2018-03-24 14:53:47 +02:00
alexey.lysiuk
4f6a853bfb
Added validation of sound position and velocity
...
https://forum.zdoom.org/viewtopic.php?t=57632
2018-03-24 13:09:55 +01:00
Christoph Oelckers
da74b9df95
- serialize the temporary music volume that can be set through ACS.
2018-03-24 13:07:18 +01:00
alexey.lysiuk
40bf8a421e
User's OpenAL library has precedence over Apple's framework
...
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 12:09:23 +02:00
Marisa Kirisame
3072c9bf7c
Add PostUiTick(). Happens after all other tickers. Useful for handling changes in the play side within the same tic.
2018-03-24 10:24:13 +01:00
Marisa Kirisame
69c6e95b08
Add worldlineactivated event, triggered after successful line activation.
2018-03-24 10:23:31 +01:00
Jason Francis
bd7791ad9c
Allow setting string user variables in ACS
2018-03-24 10:20:39 +01:00
Jason Francis
4494b18e8a
Enable string & float user_ properties in UDMF things
2018-03-24 10:20:39 +01:00
alexey.lysiuk
2951476ce0
Fixed compilation with GCC and Clang
...
src/v_video.h:56:6: error: ISO C++ forbids forward references to 'enum' types
src/v_video.h:342:17: error: field has incomplete type 'FTextureFormat'
src/v_video.h:344:47: error: variable has incomplete type 'FTextureFormat'
2018-03-24 09:53:55 +02:00
Marisa Kirisame
634a10db52
Adds "DI_MIRROR" flag to statusbar image drawing. Useful for rearview mirror camera textures, for example.
2018-03-24 00:29:50 +01:00
Christoph Oelckers
7301001a3f
- made the necessary adjustments to the HW2D interfaces to handle alpha textures properly.
...
These cannot be done with the regular textures so there needs to be an option to create more than one native texture per FTexture. For completeness' sake there is also the option now to create a paletted version of a texture if the regular one is true color. This fixes a long standing problem that translations were not applied to non-paletted textures.
2018-03-23 23:04:30 +01:00
Christoph Oelckers
3c6b09b3a1
Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2
2018-03-23 19:53:06 +01:00
Christoph Oelckers
1c9b08dd44
Merge remote-tracking branch 'remotes/origin/master' into alphatex2
2018-03-23 19:52:48 +01:00
Christoph Oelckers
4c781a8f65
- finished verification of proper texture generation and fixed a few remaining issues.
...
Aside from PCX 4 bit, uncompressed PCX and TGA grayscale for which I was unable to obtain test images, all others now produce proper textures in both 8 and 32 bit mode.
2018-03-23 19:52:08 +01:00
alexey.lysiuk
836b09c933
Added third-party sound headers to CMake generated project
2018-03-23 12:47:37 +02:00
Vitaly Novichkov
4f104b0da9
Fixed incorrect pitch processing in the ADLMIDI
2018-03-23 00:35:20 +01:00
Christoph Oelckers
0a07f4c144
- fixed alpha texture generation for OpenGL rendering.
...
The old logic used a translation table that does not work with color images, it was designed to handle 8 bit grayscale images.
So now, it creates a true color buffer and then turns it into a texture with R,G,B = 255 and the alpha channel set to the grayscale value.
This was also the reason why crosshairs made from 32 bit PNGs did not show correctly.
2018-03-22 23:57:14 +01:00
Christoph Oelckers
5466e2c7c5
- fixed what looks like a wrongly braced 'for' loop in 4 bit PCX.
...
The code looks wrong, unfortunately I cannot test it due to lack of an image in that format
2018-03-22 23:14:43 +01:00
Christoph Oelckers
6fcf1e0149
- fixed incorrect translation table that was used to process grayscale patch and IMGZ textures.
...
- fixed: The MD5 check for patches deleted the buffer too early.
2018-03-22 22:49:42 +01:00
Christoph Oelckers
c869df9bf7
- added missing checksum file.
...
- fixed decoding of uncompressed DDS textures.
Apparently this was never tested and nobody ever used this format as a texture in ZDoom.
2018-03-22 22:30:09 +01:00
Christoph Oelckers
702e948000
Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2
2018-03-22 20:44:32 +01:00
Christoph Oelckers
d586d774cf
- adjusted GL renderer to the new rules for alpha textures. This means that the translation fallback is only needed for the legacy renderer now. Modern GL can use the regular texture and will apply a grayscale mapping instead of merely using the red channel.
2018-03-22 20:42:17 +01:00
Rachael Alexanderson
0893f0c01e
Merge remote-tracking branch 'origin/master' into adlMIDI
2018-03-22 14:28:54 -04:00
Vitaly Novichkov
4481ebbdd2
Fixed an incorrect ADLMIDI playback
...
As DMX uses both 10'th and 16'th channels for percussions, I'll turn a 16'th channel into percussive by XG way on every init/reset.
2018-03-22 04:30:10 -04:00
Christoph Oelckers
1756035594
- fixes in DDS decoder.
...
- let FPatchTexture use the inline color getters.
2018-03-22 00:54:03 +01:00
Christoph Oelckers
b473838627
- adjustments and fixes for alphatextures:
...
* Instead of using the red channel it now uses the grayscale value. While slower in a few situations, it is also more precise and makes the feature more useful.
* For paletted textures do not use the index as alpha anymore but the actual grayscaled color. This is again to make the feature more consistent and useful.
* To compensate for the above there is now a list of hashes for known alpha textures in patch format, so that they don't get broken.
* IMGZ is now considered a grayscale format. There's only two known textures that use IMGZ for something else than crosshairs and those are explicitly handled.
* several smaller fixes.
* the actual color conversion functions for paletted output are now consolidated in a small number of inlines so that future changes are easier to do.
Note: This hasn't been tested yet and will need further changes in the hardware rendering code. As it is it is not production-ready.
2018-03-22 00:29:01 +01:00
alexey.lysiuk
de0a815215
Fixed error reporting on loading malformed DeHackEd patches
2018-03-21 13:08:16 +02:00
alexey.lysiuk
92f10febe8
Fixed crash on loading malformed DeHackEd patches
...
Lump that contains only "Patch File for DeHackEd v3.0" (without line break at the end) caused a crash
2018-03-21 13:03:44 +02:00
drfrag
88bebaec39
- Fixed not getting the 'old and unsupported DeHackEd patch' error message for some old patch versions.
2018-03-21 12:48:46 +02:00
alexey.lysiuk
d58169f1b0
Fixed crash with very short music loop
...
https://forum.zdoom.org/viewtopic.php?t=59883
2018-03-21 12:28:12 +02:00
Rachael Alexanderson
fae6f22a2b
- fix botched merge
2018-03-21 03:50:47 -04:00
Rachael Alexanderson
d829e53bc0
Merge branch 'stats_native_ui' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/d_stats.cpp
2018-03-21 02:28:52 -04:00
Rachael Alexanderson
4ad769572f
- bump stats version string, send stats to new stats script instead
2018-03-20 22:02:18 -04:00
Rachael Alexanderson
def0ea0103
Merge branch 'stats_native_ui'
...
# Conflicts:
# src/d_stats.cpp
2018-03-20 22:00:30 -04:00
alexey.lysiuk
568d439c24
Removed deleted virtual functions
...
This solves linking errors on macOS with missing ___cxa_deleted_virtual symbol
2018-03-20 22:12:43 +02:00
Christoph Oelckers
b0c96ac43d
- fixed uninitialized variables in files.h.
2018-03-20 18:29:54 +01:00
alexey.lysiuk
f242f0631b
Fixed crash in when MP3 length guesstimation failed
...
https://forum.zdoom.org/viewtopic.php?t=59881
2018-03-20 18:01:35 +02:00
alexey.lysiuk
6f68b6c352
Fixed JPEG errors reporting
...
GCC/Clang reported these warnings:
src/textures/jpegtexture.cpp:305:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:388:28: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:432:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:481:28: warning: data argument not used by format string [-Wformat-extra-args]
2018-03-20 10:29:28 +02:00
Magnus Norddahl
09c0bed74f
- Oops, last commit had its check inverted
2018-03-20 01:29:43 +01:00
Magnus Norddahl
5f4e4d859e
- Fix netgame freeze situation
2018-03-20 01:28:25 +01:00
Christoph Oelckers
cf67883e6a
- changed copyright notice.
2018-03-19 21:01:32 +01:00
Christoph Oelckers
16f6a88680
- fixed Build tiles and removed test code.
2018-03-19 20:56:04 +01:00
Christoph Oelckers
bf2003fe6a
- fixed pixel address.
...
Colors still need work.
2018-03-19 20:09:32 +01:00
Christoph Oelckers
04b8a12ca4
- Build texture work. Currently broken.
2018-03-19 20:02:38 +01:00
Christoph Oelckers
f4d9ad1123
- extended FTexture::GetPixels and FTexture::GetColumn by a RenderStyle parameter.
...
Now it is no longer necessary to provide specially set up textures for rendering shaded decals, they can use any PNG texture now that contains a proper red channel.
Handling of the alPh chunk has been removed as a result as it in no longer needed.
2018-03-18 21:33:44 +01:00
Christoph Oelckers
a399d79f8a
- minor reformatting.
2018-03-18 14:18:42 +01:00
Christoph Oelckers
47bfbb5e08
- Make BuildTexture inherit from worldtexture.
...
- handle WorldTextures that can change their content automatically.
2018-03-18 14:18:19 +01:00
Christoph Oelckers
94eadb1a8c
- made it compile again.
2018-03-18 13:47:40 +01:00
Christoph Oelckers
de8db297a6
- made the backdrop texture also inherit from FWorldTexture.
...
In this case the only benefit is one less piece of GetColumn duplication - this texture is simply not usable in-game, unlike the BarShader.
2018-03-18 13:12:25 +01:00
Christoph Oelckers
494504229f
- fixed the BarShader texture.
...
Even though unlikely, this should work as a regular texture because it can be used as such.
As a result of the above, true color generation needs to be done explicitly now.
2018-03-18 12:54:40 +01:00
Christoph Oelckers
1d59a53cd4
- added worldtexture.cpp
2018-03-18 12:54:14 +01:00
Christoph Oelckers
7e169eb76f
- split out the span generation from most texture classes
...
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.
- added alpha texture processing to all converted classes
As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
alexey.lysiuk
832fc42e07
Added native UI dialog to confirm stats collection
2018-03-18 13:26:04 +02:00
Christoph Oelckers
102d2647d3
- removed support for loading Build palettes as the main game palette.
...
This was implemented in a way that made it entirely impossible to load Build resources and make them usable for modding.
ZDoom had Build texture support for many years but the limitations the palette handling imposed made it impossible to use them.
It wasn't usable for anything more than to load Build maps and have them display properly - a feature that had to be removed because it was irreparably broken already.
With the forced palette override out of the way it should now be possible to implement loading of Build ART files as actually usable resources.
2018-03-18 11:57:41 +01:00