Commit graph

14760 commits

Author SHA1 Message Date
Magnus Norddahl
ede8c6d86b - implement MODF_RR, MODF_RK and MODF_KR 2019-04-15 14:32:16 +02:00
Magnus Norddahl
708362b31f - fix mul using wrong instruction 2019-04-15 14:32:14 +02:00
Magnus Norddahl
c46a4d4483 - implement BOUND opcodes and add logging the resulting assembly code if asmjit throws an exception 2019-04-15 14:32:13 +02:00
Magnus Norddahl
c2938926a7 - implement a few more opcodes and fix some bugs 2019-04-15 14:32:11 +02:00
Magnus Norddahl
9427e22d7c - implemented pow, min, max 2019-04-15 14:32:10 +02:00
Magnus Norddahl
f4181be6b8 - implement ATAN2 and FLOP 2019-04-15 14:32:08 +02:00
Magnus Norddahl
77fe376eca - implement DYNCAST*, TEST, TESTN and JMP opcodes 2019-04-15 14:32:07 +02:00
Magnus Norddahl
9474a2554d - convert JitCompile's switch into a class to enable easier code reuse 2019-04-15 14:32:05 +02:00
Magnus Norddahl
9889d2fbb6 - fix clang compile error 2019-04-15 14:32:03 +02:00
Magnus Norddahl
976a7fab3a - implement throwing by storing exception information in a struct, then return from the jitted function and throw from c++ 2019-04-15 14:32:02 +02:00
Jonathan Russell
45bc0d266e - removed the ability to use printf-like formatting in emitAbortExceptionCall, it barely worked 2019-04-15 14:32:00 +02:00
Jonathan Russell
197b20af5d - add first draft of abort exceptions 2019-04-15 14:31:58 +02:00
Magnus Norddahl
c65b7076eb - call play sqrt when calculating lengths 2019-04-15 14:31:57 +02:00
Magnus Norddahl
50d0049460 - fix 8 and 16 bit store 2019-04-15 14:31:55 +02:00
Magnus Norddahl
76c08bf725 - destroy the jit runtime when all script functions are destroyed 2019-04-15 14:31:54 +02:00
Magnus Norddahl
4820c32794 - disable all unimplemented opcodes in the switch to ensure 'Unknown VM opcode' fatal error is generated if CanJit has a bug 2019-04-15 14:31:52 +02:00
Magnus Norddahl
e9914f38af Fix compile errors on macOS 2019-04-15 14:31:51 +02:00
Jonathan Russell
601c492cf2 - added remaining int arithmetic opcodes (and fixed float loading offset issue) 2019-04-15 14:31:49 +02:00
Jonathan Russell
e771064657 - forgot to turn off debug switch in last commit 2019-04-15 14:31:47 +02:00
Jonathan Russell
4228891da2 - made absMaskInt const 2019-04-15 14:31:46 +02:00
Jonathan Russell
8306815292 - implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles 2019-04-15 14:31:44 +02:00
Chronos Ouroboros
e07af1428c Updated CanJit's supported opcodes list. 2019-04-15 14:31:43 +02:00
Chronos Ouroboros
63cda1c13d Pointer addition opcodes must leave NULL pointers as they are. 2019-04-15 14:31:41 +02:00
Chronos Ouroboros
3c8aa9f641 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.
2019-04-15 14:31:39 +02:00
Jonathan Russell
62ece01c0a - made CMP_CHECK checking compile time 2019-04-15 14:31:37 +02:00
Jonathan Russell
f897f2bfd3 - added exact floating point comparison opcodes 2019-04-15 14:31:36 +02:00
Jonathan Russell
5846357268 - implemented all integer comparison operators 2019-04-15 14:31:34 +02:00
Jonathan Russell
166ce87a86 - adds OP_EQ_R, the first instruction using jumps 2019-04-15 14:31:33 +02:00
Magnus Norddahl
5c3ef8ac15 - add misc float opcodes 2019-04-15 14:31:31 +02:00
Jonathan Russell
b242ffdbbe - added most vector maths opcodes 2019-04-15 14:31:29 +02:00
Chronos Ouroboros
73892f4a6e Fix floats and implement some more opcodes. 2019-04-15 14:31:27 +02:00
Magnus Norddahl
113714990e - copy initial register values from the VM frame 2019-04-15 14:31:26 +02:00
Magnus Norddahl
10a6ab4d56 - implement most of the integer math opcodes 2019-04-15 14:31:24 +02:00
Magnus Norddahl
d651c02b17 - embed and use asmjit to JIT ZScript VM functions 2019-04-15 14:31:22 +02:00
drfrag
2039a306ae - Disable HRTF by default, it's slow on weak CPUs with many ambient sounds. 2019-04-15 13:30:21 +02:00
drfrag666
eafac3db33 - Fixed bad merge of "- more options for Doom 64 style gradients on walls". 2018-12-08 10:07:51 +01:00
drfrag666
6eca20a592 - Bumped version number for a new beta. 2018-12-04 18:54:17 +01:00
drfrag666
825a720b09 - Default gender for sound classes should be male and not other since it could be undefined in SNDINFO. 2018-12-03 20:19:46 +01:00
Player701
d72d820bba - Exported AActor::Grind to ZScript. 2018-11-30 10:18:43 +01:00
drfrag666
cdb60486c7 - Fixed compilation of previous commit. 2018-11-30 10:16:55 +01:00
Magnus Norddahl
e76a9c3085 - forgot to set the light level 2018-11-29 11:26:32 +01:00
Magnus Norddahl
20d5b904b2 - use psprite renderstyle on HUD models 2018-11-29 11:26:20 +01:00
Christoph Oelckers
7600b65810 - fixed: P_Recalculate3DFloors may not be called before the vertex buffer has been set up.
Since this function creates dynamic copies for 3D floors that need to be split it requires the vertex buffer index to be set up.
In older versions this did not produce errors because there was a fallback render path that was less efficient.
Now with that fallback removed this resulted in temporary 3D floors being created without valid vertex data.

# Conflicts:
#	src/p_setup.cpp

# Conflicts:
#	src/p_setup.cpp
2018-11-29 11:26:08 +01:00
Christoph Oelckers
0ddb5038c3 - fixed the mapping of additive translucency to color-based translucency.
The destination mode sould be 'One', not 'InvSrcColor'.
Now both of these are available as explicit modes, not just through the optional mapping.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/r_data/renderstyle.cpp
#	src/r_data/renderstyle.h

With additional render styles from " - abstraction of render style in render state.". drfrag

# Conflicts:
#	src/r_data/renderstyle.cpp
#	src/r_data/renderstyle.h

With additional render styles from "- made the screen blend work for the software renderer.". drfrag
2018-11-28 14:39:54 +01:00
Christoph Oelckers
273c02ee73 - fixed: The serializer must treat object that were already destroyed or are declared transient like a null pointer and not ignore them.
This caused FraggleScript's SpawnedThings array to go out of sync.
2018-11-26 11:28:31 +01:00
Marrub
3cf4a77c30 Fix null pointer access in p_terrain.cpp 2018-11-24 11:27:51 +01:00
Marisa Kirisame
9022c98732 expose defaultbloodcolor to ZScript. 2018-11-24 00:18:24 +01:00
alexey.lysiuk
9cf8be0259 - fixed compilation of POSIX targets
src/doomerrors.h:74:14: error: exception specification of overriding function is more lax than base version
src/posix/sdl/i_main.cpp:272:28: error: 'class std::exception' has no member named 'GetMessage'
2018-11-23 19:41:07 +01:00
Magnus Norddahl
7675e7a6dc - use std::runtime_error instead as the constructor on std::exception is a MSVC extension 2018-11-23 19:41:06 +01:00
Christoph Oelckers
831cfd5280 - made CDoomError inherit from std::exception so that the main catch block can also deal with exceptions thrown by the STL.
- Also do not ignore empty exception messages as irrelevant. The only irrelevant exception type is CNoRunExit.
2018-11-23 19:41:05 +01:00
drfrag666
e1c521f4ce - Made previous condition more clear. 2018-11-22 11:16:46 +01:00
Rachael Alexanderson
d24d25ef55 - fix inverted logic of Intel check 2018-11-22 10:59:17 +01:00
Magnus Norddahl
edd58e6abf - only use shader cache on Intel
# Conflicts:
#	src/gl/shaders/gl_shaderprogram.cpp
2018-11-22 10:59:05 +01:00
Magnus Norddahl
ff761c9864 - fix compile error 2018-11-21 20:19:14 +01:00
Christoph Oelckers
34e003f7cd - regenerated gl_load with full OpenGL 4.5 declarations, mostly to get the direct state access functions. 2018-11-21 20:18:45 +01:00
Magnus Norddahl
e4dc685202 - implement a shader cache
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.cpp

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.h
2018-11-21 14:26:37 +01:00
Christoph Oelckers
b8ca67f426 - fixed the type checks for object arrays.
Null pointers must be allowed and non-object pointers which are not null must be explicitly checked for because the code could crash on them when performing a static_cast on an incorrect type.
2018-11-18 21:57:12 +01:00
Major Cooke
eb1c356d41 P_Thing_Raise fixes & cleanup
- Transfer flags directly into the function and process inside instead of the action functions
- Pass in raiser for all function calls
2018-11-18 21:57:11 +01:00
Christoph Oelckers
ebf46b8d04 - fixed: FTexture::SmoothEdges must forward its result to the base texture in case a redirection is in effect.
Both need the bMasked flag, or some code will think that the texture is not fully opaque if no holes were found.

# Conflicts:
#	src/gl/textures/gl_material.h
#	src/textures/texture.cpp
2018-11-17 21:12:22 +01:00
Christoph Oelckers
6c76566bb1 - use the same formula for calculating 3DMidTex offsets as the renderer when per-sidedef scaling is used.
This reuses the FTexCoordInfo class the hardware renderer had been using to calculate wall texture offsetting.
The software renderers still need this sorted out to bring them in line with the rest of the code, though, but they do not have this code sufficiently well organized to make this a straightforward task.

# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
#	src/textures/textures.h
2018-11-17 20:43:52 +01:00
Christoph Oelckers
40bd248da2 - fixed parameter mixup with P_CanResurrect. 2018-11-17 20:20:03 +01:00
Christoph Oelckers
17a33b609a - fixed: CVar.ResetToDefault was missing a check for use outside of menus. 2018-11-17 20:19:21 +01:00
Christoph Oelckers
692d6e9045 - Restricted argument count check to the void return case.
There were some issues here:

* a check for mismatching count is too strict because it is legal to omit return values
* it failed to detect returning multiple values in a single expression.
2018-11-16 21:33:22 +01:00
Christoph Oelckers
c1edaa317d fixed right shift operator for unsigned values
This is version protected to avoid breaking old code.
2018-11-16 21:33:20 +01:00
Christoph Oelckers
38fe0b2fe1 - fixed: FxUnaryNotBitwise modified the source operand instead of allocating a new one. 2018-11-16 21:33:19 +01:00
Christoph Oelckers
c9f389770d - fixed: AActor' friction field was not saved 2018-11-16 21:33:18 +01:00
Player701
3bd16afc0f - Readonly pointer casting now works in ZScript. 2018-11-16 21:33:17 +01:00
Christoph Oelckers
834a96662b Make BounceFlags 32 bit wide. 2018-11-16 21:33:13 +01:00
Cacodemon345
0f2a4abe8f BOUNCEONUNRIPPABLES flag; makes actors bounce on actors with DONTRIP flag 2018-11-16 21:33:12 +01:00
alexey.lysiuk
6e922761a8 - fixed compilation of targets with optimization 2018-11-16 21:33:11 +01:00
Christoph Oelckers
645c7fb192 - extended state caller check to work on CustomInventory items as well
Since CallStateChain is a public member in CustomInventory we cannot really be sure that the given state is valid so it needs checking as well.

# Conflicts:
#	.gitignore
2018-11-16 21:31:53 +01:00
Christoph Oelckers
67bde8090a Added a run time check for calling a state action from the wrong actor type.
This can happen if a state that's retrieved with FindState gets used with a different actor type and can lead to hard to trace problems if not checked.
2018-11-16 21:28:10 +01:00
Magnus Norddahl
7567462328 - fix missing type check when using Push or Insert for typed arrays 2018-11-16 21:26:33 +01:00
drfrag666
f9fff8bbce - fixed incompletely initialized secplanes in sprite splitting code.
(patch by Graf)

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

LZDoom was not affected tough.

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2018-11-16 21:26:15 +01:00
Major Cooke
57efd617fa Changed A_RaiseActor to just RaiseActor. 2018-11-16 21:17:53 +01:00
Major Cooke
bddf94d780 Fixed inconsistency.
- P_Thing_Raise returned true while P_Thing_CanRaise returned false for the condition of having no raise state. P_Thing_Raise now returns false.
2018-11-16 21:17:52 +01:00
Major Cooke
a083eb6421 Added A_RaiseActor(Actor other, int flags = 0) 2018-11-16 21:17:51 +01:00
Major Cooke
24fdaf751c Added CanResurrect(Actor other, bool passive)
- Works similarly to CanCollideWith.
- Passive means the caller is trying to be resurrected by 'other'.
- Non-passive means the caller is trying to resurrect 'other'.
2018-11-16 21:17:49 +01:00
Christoph Oelckers
1dad5101f1 - fixed: ZScript's finalization code used the last parsed lump for of one translation unit as reference, not the base lump.
This resulted in incorrect messages but also could produce some more subtle errors.
2018-11-16 21:17:46 +01:00
Christoph Oelckers
4183615495 - added ZScript export for side_t::SetSpecialColor. 2018-11-16 21:17:45 +01:00
Christoph Oelckers
79b2a7e043 - removed test code that was accidentally left in. 2018-11-16 21:17:11 +01:00
Christoph Oelckers
8368331481 - more options for Doom 64 style gradients on walls:
* Colors can npw be defined per sidedef, not only per sector.
* Gradients can be selectively disabled or vertically flipped per wall tier.
* Gradients can be clamped to their respective tier, i.e top and bottom of the tier, not the front sector defines where it starts.

The per-wall colors are implemented for hardware and softpoly renderer only, but not for the classic software renderer, because its code is far too scattered to do this efficiently.

# Conflicts:
#	src/hwrenderer/scene/hw_renderstate.h
#	src/hwrenderer/scene/hw_walls.cpp

# Conflicts:
#	src/gl/scene/gl_walls_draw.cpp
2018-11-16 21:16:15 +01:00
Player701
e00db66432 - Fixed: Decal generator should be taken from the current weapon instance instead of the default instance. 2018-11-16 20:40:05 +01:00
drfrag666
f232ebb5b6 - Fixed TArray::Reset().
(patch by Graf)
2018-11-16 20:39:52 +01:00
Christoph Oelckers
07d5efcacb - instead of copying the sector planes to GLWall, just store pointers to the front and back sector for later use.
Until now this wasn't doable because these could have come from hw_FakeFlat which only were local copies on the stack.
With the recent change these faked sectors live long enough so that they can be passed around here.

# Conflicts:
#	src/hwrenderer/scene/hw_decal.cpp
#	src/hwrenderer/scene/hw_walls.cpp

# Conflicts:
#	src/gl/scene/gl_wall.h
#	src/gl/scene/gl_walls.cpp
#	src/gl/scene/gl_walls_draw.cpp
#	src/hwrenderer/scene/hw_decal.cpp
2018-11-16 20:39:22 +01:00
Christoph Oelckers
103f3f4cf9 - cache the results of hw_FakeFlat for the remainder of the current scene instead of storing this in local variables.
An exception is made for the sprite drawer which needs to call this in the worker thread on some occasions for as-yet unprocessed sectors.
This case may not alter the cache to avoid having to add thread synchronization to it.

The main reason for this change is that pointers to such manipulated sectors can now be considered static in the renderer.
Due to them being short lived local buffers it was not possible to carry them along with the render data for information retrieval.

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/hwrenderer/scene/hw_bsp.cpp
#	src/hwrenderer/scene/hw_drawinfo.h
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_fakeflat.cpp
#	src/hwrenderer/scene/hw_renderhacks.cpp

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_bsp.cpp
#	src/gl/scene/gl_drawinfo.cpp
#	src/gl/scene/gl_fakeflat.cpp
#	src/gl/scene/gl_renderhacks.cpp
#	src/gl/scene/gl_scene.cpp
#	src/hwrenderer/scene/hw_drawinfo.h
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_fakeflat.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
2018-11-16 15:10:50 +01:00
drfrag666
7f5bf11f12 - Forgot to update the version number after the beta 2 release. 2018-11-14 11:46:22 +01:00
Major Cooke
be2d5ba9ec Added DMG_NO_ENHANCE for DamageMobj.
- Disables PowerDamage's effect, similar to DMG_NO_PROTECT disabling PowerProtect.
2018-11-12 22:04:17 +01:00
alexey.lysiuk
e820880d46 - fixed compilation on POSIX-like platforms
src/p_udmf.cpp:2052:6: error: no matching member function for call to 'OpenMem'
src/sc_man.h:24:7: note: candidate function not viable: expects an l-value for 2nd argument
src/sc_man.h:23:7: note: candidate function not viable: requires 3 arguments, but 2 were provided
src/resourcefiles/file_directory.cpp:198:32: error: use of undeclared identifier 'Filename'; did you mean 'FileName'?
2018-11-12 21:53:14 +01:00
Christoph Oelckers
2fe54f4a53 - use TArray and FString in resource file management. 2018-11-12 21:53:13 +01:00
Christoph Oelckers
9a8e4a6285 - a few more buffers converted.
# Conflicts:
#	src/f_wipe.cpp
2018-11-12 21:53:12 +01:00
Christoph Oelckers
f744b9a0f8 - use TArray for most buffers in p_glnodes.cpp. 2018-11-12 21:53:11 +01:00
Christoph Oelckers
91663e1202 - replaced a few temporary allocations with TArray and added a few convenience loader functions for this.
Amazingly with today's optimizers this creates code which is just as good as doing it all manually with the added benefit of being safer.
2018-11-12 21:53:10 +01:00
Christoph Oelckers
3db6fc0900 - made some minor changes to TArray after finding out that "new int()" is not the same as "new int".
With parentheses this initializes to 0 which created needless initialization code in a few places.
2018-11-12 21:53:09 +01:00
drfrag666
ab66abfdc1 - Some TArray changes.
(patches by Graf)
2018-11-12 21:53:08 +01:00
drfrag666
5740421d54 - Even more TArray changes.
(patches by Graf)
2018-11-12 21:52:16 +01:00
drfrag666
63edabba16 - Changed default GL fuzz type to software. 2018-11-12 11:16:01 +01:00
drfrag666
c2a3895bfe Revert "- add dithering to present shader"
This reverts commit 60ae0915b9.

This was extremely slow on intel, the dither matrix was recreated on every frame even when not used.
2018-11-12 11:11:28 +01:00
Christoph Oelckers
709a573355 - clear spechit before leaving P_CheckPosition.
Otherwise this may contain residual data from the last call.
One can only hope that this doesn't cause other side effects - this entire code is one horrendous mess of bad ideas.
2018-11-10 11:19:25 +01:00
Major Cooke
484a44a0be Changed IsPointInMap to use P_PointOnDivlineSide. 2018-11-08 16:18:30 +01:00
Major Cooke
b34bc0947e Added IsPointInMap(Vector3 p).
- Checks if a point is inside the map geometry or not.
2018-11-08 16:18:29 +01:00
Christoph Oelckers
e261c73b31 - added copyright header to p_destructible.cpp 2018-11-08 00:18:09 +01:00
ZZYZX
7905a0e041 Exported destructible geometry to ZScript 2018-11-07 11:00:08 +01:00
ZZYZX
89bdd1adf0 Explode bouncing projectiles if hit damageable geometry 2018-11-07 11:00:06 +01:00
ZZYZX
b581648d6f Destructible geometry - minor fixes and 3D floor support 2018-11-07 11:00:05 +01:00
Christoph Oelckers
b6e032e9ae - fixed typo in sight checking code. 2018-11-07 11:00:02 +01:00
Christoph Oelckers
a42f30b3ea - reinstated the sector light clamping threshold from before version 3.3.
It turned out that without the clamping the feature does not work well, thanks to a poorly chosen scale of the original arguments.
2018-11-05 01:38:45 +01:00
Player701
ce481b2553 - undid the save version bump 2018-11-05 01:38:37 +01:00
Player701
4751181eb6 - Added a function to get the actor's age in ticks. 2018-11-05 01:38:37 +01:00
Player701
905146d87c - Added a new field to the Actor class which stores the amount of ticks passed since the game started on the moment the actor was spawned.
- Added a function to the Actor class to get its spawn time relative to the current level.
- Added spawn time information to the output of the "info" console command.
2018-11-05 01:38:35 +01:00
Cacodemon345
57e51debec Extend SKYEXPLODE flag for LineAttack 2018-11-03 21:52:25 +01:00
Christoph Oelckers
0357cd451e - added a method to FileReader to read the contents into an array and used it on the MIDI sources for testing. 2018-11-02 14:41:28 +01:00
Christoph Oelckers
a2760d7da2 - use a single TArray to allocate the memory for the lump manager's hash lists.
# Conflicts:
#	src/w_wad.cpp
#	src/w_wad.h
2018-11-02 14:40:51 +01:00
alexey.lysiuk
08dfdd2687 - added warning for constant conditional expression
ZScript code like `if (x = 0) // ...` no longer causes assertion failure in Debug but produces a warning regadless of configuration

https://forum.zdoom.org/viewtopic.php?t=62422
2018-11-02 13:31:43 +01:00
alexey.lysiuk
bde980d5e8 - fixed potential crash when drawing status bar log
src/g_statusbar/shared_sbar.cpp:1133:34: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[-Wsign-compare]
2018-11-02 13:31:41 +01:00
drfrag666
683aba3dd9 - bump ZScript version number to 3.7.0 2018-11-02 13:31:25 +01:00
Christoph Oelckers
6daece72c9 - versioned the return mismatch check to demote it to a warning for older versions than 3.7.
# Conflicts:
#	wadsrc/static/zscript.txt
2018-11-02 13:31:10 +01:00
alexey.lysiuk
7226f38375 - made 'return void' case a compilation error 2018-11-02 13:30:42 +01:00
Christoph Oelckers
16b3ccf930 - added far stronger restrictions for when the Boom-Texture-Y-offset compatibility flag may trigger.
This had absolutely no sanity checks and unconditionally picked the source texture if one existed.
It should only be done for wall textures, only for those defined in TEXTUREx and only for those where the scale is identical with the underlying texture.
2018-11-02 13:22:09 +01:00
Christoph Oelckers
da5fccb598 - fixed: Do not pass Sysex messages to Windows's GS Wavetable synth.
This will totally refuse to play a MIDI if that happens.
Duke Nukem's Alienz.mid, which did not play before works after this change.
2018-11-02 13:20:57 +01:00
Christoph Oelckers
9410e5ea98 - fixed: P_DamageMobj should clear reactiontime only for non-players.
For players this variable has an entirely different meaning which does not agree with being modified here.
2018-11-02 13:20:35 +01:00
Christoph Oelckers
3e4f1ea813 - fixed handling of wrapped midtextures to be actually useful when used in sky sectors.
# Conflicts:
#	src/hwrenderer/scene/hw_walls.cpp
2018-11-02 13:08:00 +01:00
Christoph Oelckers
be673459bd - made DBrokenLines serializable. 2018-11-02 13:07:28 +01:00
ZippeyKeys12
96fafa9c59 Export AllClasses 2018-11-02 13:07:12 +01:00
Cacodemon345
341105a15f Fix bounce state not entering when hit from top. 2018-11-02 13:06:48 +01:00
drfrag666
557380a769 - Added alpha parameter to DrawLine for the GL renderer, it's a fake parameter for the software renderer so mods don't crash. 2018-11-02 13:04:37 +01:00
Major Cooke
7eef13c859 Added VelIntercept.
- Uses the same code as Thing_ProjectileIntercept to aim and move the projectile.
  - targ: The actor the caller will aim at.
  - speed: Used for calculating the new angle/pitch and adjusts the speed accordingly. Default is -1 (current speed).
  - aimpitch: If true, aims the pitch in the travelling direction. Default is true.
  - oldvel: If true, does not replace the velocity with the specified speed. Default is false.

- Split the code from Thing_ProjectileIntercept and have that function call VelIntercept.
2018-11-01 21:25:56 +01:00
ZZYZX
a40d717006 Fixed sector floor/ceiling actions not triggering in P_XYMovement 2018-11-01 21:08:53 +01:00
ZZYZX
d2f6834da6 Implemented loading/saving of line/sector health and health groups in savegames 2018-11-01 21:08:51 +01:00
Christoph Oelckers
c17c6d97ad - missed one place where FBrokenLines was used. 2018-11-01 21:08:40 +01:00
Christoph Oelckers
cd3b0643a8 - fixed: An exception inside DestroyAllThinkers could send the engine into an endless loop of failed destructions. 2018-11-01 21:08:29 +01:00
Christoph Oelckers
0dba8e4f4a - use a saner data structure to store the BrokenLines.
Calling the old method with a pointer to an array of unspecified length 'dirty' would be an understatement.
Now it uses a TArray to store the single elements

# Conflicts:
#	src/g_shared/hudmessages.cpp
#	src/v_font.cpp
2018-11-01 21:08:17 +01:00
ZZYZX
82a2bf3ac5 Single commit - destructible geometry feature
# Conflicts:
#	src/p_setup.cpp
2018-11-01 21:02:25 +01:00
Player701
8e8d3719f7 - Introduced an enum named EventHandlerType and changed the bool argument in E_NewGame to this type. 2018-11-01 20:56:51 +01:00
player701
e04613811d - Static NewGame events now fire before loading a map, and normal NewGame events fire after registering per-map handlers and before all other events.
- Static event handlers now unregister after per-map handlers.
- All event handlers now unregister in reverse order.
2018-11-01 20:56:50 +01:00
Christoph Oelckers
1e84327c40 - added missing nullptr check.
# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2018-11-01 20:55:53 +01:00
Christoph Oelckers
39d4db0a38 - added option to disable alpha testing for user shaders.
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
#	src/r_data/gldefs.cpp
2018-11-01 20:51:08 +01:00
Christoph Oelckers
0623a92363 - use standard sprite lighting for voxels.
Per-pixel lighting requires normals which voxels do not have.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
2018-11-01 20:02:46 +01:00
Rachael Alexanderson
6aa51b08da - do a texture check when drawing fog borders in the software renderer. this does not fix the crash issue, but mitigates it enough with a check that likely should be in place, anyhow. 2018-11-01 19:10:55 +01:00
Marrub
0f6f23350d Add "neutral" gender option and better obit formatting 2018-10-31 11:24:01 +01:00
drfrag666
3d66b9af09 - Doubled initial size for the light buffer.
(patch by Graf)
2018-10-30 13:05:55 +01:00
drfrag666
eebd6c8319 Revert "- removed the 8x8 block drawing code from softpoly"
This reverts commit d086c3d4dc.

# Conflicts:
#	src/polyrenderer/drawers/poly_triangle.cpp
#	src/polyrenderer/drawers/poly_triangle.h

The softpoly renderer crashed at high resolutions without them.
2018-10-26 19:51:30 +02:00
drfrag666
2c8b5e700f Revert "- use the worker threads to clear the stencil buffer"
This reverts commit 0a265d028d.

# Conflicts:
#	src/polyrenderer/drawers/poly_triangle.cpp
#	src/polyrenderer/drawers/poly_triangle.h
2018-10-26 19:39:38 +02:00
Magnus Norddahl
9882cd9d6b - fix softpoly bug where sprites and translucent walls in front of models would disappear 2018-10-25 13:57:03 +02:00
Tommy Nguyen
0403fb5416 - use value initialization for secspecial_t 2018-10-23 21:31:26 +02:00
Magnus Norddahl
b011900f48 - fix null pointer crash 2018-10-23 13:39:01 +02:00
Magnus Norddahl
6ca14ac8c6 - portal check is overridden by a different inverted check in the software renderer 2018-10-23 13:38:58 +02:00
Magnus Norddahl
a8112d4815 - Cull two-sided lines using the same rules as the software renderer is using (as suspicious as they may be) 2018-10-23 13:38:51 +02:00
alexey.lysiuk
063efa1ccd - fixed default values for S_ChangeMusic
https://forum.zdoom.org/viewtopic.php?t=62323#p1076849
2018-10-22 10:28:22 +02:00
Rachael Alexanderson
35bf70456a - fixed: attaching a new status bar to a player now calls 'setsizeneeded' - fixes an issue where the screen geometry is out of sync with the characteristics of the new status bar. 2018-10-20 21:22:24 +02:00
Marisa Kirisame
100ad0ac6d Preserve line locknumber in savegames. 2018-10-16 20:50:52 +02:00
drfrag666
2183f71ec6 - Make 160x100 scaling actually work, not that it's really useful.
This partially reverts "- 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-10-15 11:58:09 +02:00
Rachael Alexanderson
d3bdeacd09 - fixed: use 'setsizeneeded' more often in the scaling code. recalculating screen geometry for 2D elements when it changes never really hurts. 2018-10-15 11:32:34 +02:00
Rachael Alexanderson
24d42b74a7 - fixed: use templates.h function for minimal value check
# Conflicts:
#	src/r_videoscale.cpp
2018-10-15 11:32:06 +02:00
Rachael Alexanderson
c42c4afeeb - enforce 160x100 minimum in actual scaling code
# Conflicts:
#	src/r_videoscale.cpp
2018-10-15 11:28:08 +02:00
Christoph Oelckers
53c87fd5eb - extended the register limit for 'param'.
The instruction one free instruction byte so it's now using that to extend its argument's register range to 65535.
For param this is needed because it passes strings by reference and creating an implicit temporary copy for string constants does not work here.
2018-10-14 10:31:48 +02:00
player701
dcc2006c76 - Exported PickNewWeapon function from PlayerPawn to ZScript. 2018-10-14 10:31:46 +02:00
Christoph Oelckers
979c3022c4 - fixed: MD3s with a skin-less surface left the renderer in an undefined state.
The frame interpolation factor wasn't reset and rendering prematurely aborted with no chance to recover.
2018-10-09 22:00:04 +02:00
Magnus Norddahl
770c676ac9 - add gl_dither for toggling dithered output on and off
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_stereo3d.cpp
#	src/hwrenderer/postprocessing/hw_presentshader.h
2018-10-09 21:57:14 +02:00
Rachael Alexanderson
960661df49 - fixed: smooth teleporters could fudge the player over an adjacent line, causing the player to appear on top of a cliff that is much higher than the original teleport. 2018-10-09 13:01:00 +02:00
Kevin Caccamo
434ffe542a Attempt to fix warnings from VS2017 Win64 compiler 2018-10-05 22:24:39 +02:00
Kevin Caccamo
a628cff085 Calculate normals for OBJ models with smooth groups
Add smoothGroup member to OBJFace struct, and assign the current smooth group number to it
Move face normal calculation code to CalculateNormalFlat
Add AddVertFaces method, which initializes and populates the vertFaces array of arrays, which holds references to triangle references per vertex
Only initialize and populate vertFaces if the model has missing normals and smooth groups
Assign smooth groups to triangle data
Add CalculateNormalSmooth method, which calculates the normals for each face the vertex is attached to, depending on whether or not the faces are part of the given smooth group, and averages them out
Add OBJTriRef struct, which holds references to triangles on OBJ surfaces

Make {agg,cur}SurfFaceCount unsigned ints
Change nvec to a value instead of a pointer
2018-10-05 22:24:26 +02:00
Christoph Oelckers
6df918341a - be more thorough with 'in menu' checks for certain protected functions.
They would also pass the test if a menu just was open but not the actual invoker.
Also error out if this happens so that modders can see that they are doing unsupported things. Silent failure is not a good idea here.
2018-10-05 22:24:25 +02:00
Christoph Oelckers
4cd4e01fff - fixed some warnings in OBJ model code.
(This clearly shows that using 'long' as parameters in any interface must be stopped. It is fundamentally unsafe to have a type whose size is not reliable - it's either an int-sized nor a pointer sized value, depending on the platform, and essentially worthless.)
2018-10-05 22:24:23 +02:00
drfrag666
dfe032dc8a - Fixed no rendering with shadowmaps enabled and render buffers disabled. 2018-10-05 01:56:28 +02:00
Marisa Kirisame
c674c3ff72 Computed facet normals for UE1 models were not normalized when they were supposed to. 2018-10-05 01:23:38 +02:00
drfrag666
9d10545ff2 - Fixed non valid value. 2018-10-04 21:10:05 +02:00
Vitaly Novichkov
72affb2c2e Upgrade libADLMIDI and libOPNMIDI
Added full-panning stereo, improvement of channel management, and many other things.

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

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

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

ADL&OPN Hotfix: re-calculated default banks
The fix on side of measurer of OPL3-BE and OPN2-BE where some instruments getting zero releasing time.

# Conflicts:
#	src/sound/mididevices/music_adlmidi_mididevice.cpp
#	src/sound/mididevices/music_opnmidi_mididevice.cpp
#	wadsrc/static/menudef.txt
2018-10-04 20:25:02 +02:00
Christoph Oelckers
48bf320570 - fixed warning in ADLMidi. 2018-10-04 19:53:21 +02:00
Marisa Kirisame
5877c0248d Exports various resurrection-related functions to ZScript. 2018-10-04 19:30:39 +02:00
Christoph Oelckers
24d09fe56a - some tweaking of shadowmap filter setting to allow changing the PCF filter's number of samplings.
# Conflicts:
#	src/gl/system/gl_cvars.h
#	src/gl/system/gl_menu.cpp
2018-10-04 19:19:56 +02:00
drfrag666
58b7967eea - enabled the linear shadowmap filter.
Although this doesn't look as good as the PCF version it is a lot less calculation intensive and therefore more suitable for weaker hardware.
It also tends to bleed through walls a lot less.
(refactored patch by Graf)
2018-10-04 19:08:49 +02:00
drfrag666
a51151d563 - Bumped ZScript version number so it's the same as in GZDoom. 2018-09-30 21:23:38 +02:00
Rachael Alexanderson
92d631deb7 - changed macro into a regular function 2018-09-29 21:26:56 +02:00
Rachael Alexanderson
f06501da22 - implement normalNx scaling
# Conflicts:
#	wadsrc/static/menudef.txt
2018-09-29 21:26:54 +02:00
drfrag666
c1f0335bb4 - Do not allow the TC_USE_SSE2 option on 64 bit targets. 2018-09-28 13:04:32 +02:00
Marisa Kirisame
7b28c224f0 Fix a major oversight that caused UE1 models to use the normals of the first frame for all frames. 2018-09-26 10:34:45 +02:00
Marisa Kirisame
a7952bc49b Hotfix: The output from CheckReplacement no longer permanently overrides an actor's replacement. 2018-09-24 01:07:14 +02:00
Marisa Kirisame
9028bbd473 Adds OnDrop virtual to inventory items. Called on the dropped item at the end of AActor::DropInventory. 2018-09-17 01:18:51 +02:00
Rachael Alexanderson
7227f54d1c - archive 'multiplayer' flag in savegames. https://forum.zdoom.org/viewtopic.php?f=2&t=61980 2018-09-15 20:41:18 +02:00
Major Cooke
78d4a87cd1 Added DMG_EXPLOSION flag.
- This allows modders to determine if damage is caused by an actual explosion, assigned by P_RadiusAttack and BlastActor for +TOUCHY actors.
2018-09-15 20:41:17 +02:00
Major Cooke
3d52b093a5 Allow LineAttack's LAF_NOINTERACT to fill FTranslatedLineTarget's information.
- Originally when the flag was made, LineAttack was not yet exported. This can now be benefitted directly from ZScript.
2018-09-15 20:41:16 +02:00
ZippeyKeys12
b26aad2741 Add NewGame to EventHandler
https://forum.zdoom.org/viewtopic.php?t=61908
2018-09-15 20:33:13 +02:00
alexey.lysiuk
7736504a22 Fixed code generation of infinite for loop
https://forum.zdoom.org/viewtopic.php?t=62023
2018-09-15 20:33:10 +02:00
drfrag666
c320a92dcf - Fixed gcc warning. 2018-09-09 13:35:50 +02:00
Christoph Oelckers
f039fabfb8 - fixed the use of Doom-Legacy-style 3D floor lighting in light mode 8.
Legacy used some strange blending formula to calculate its colormaps for colored 3D floor lighting, this is not available in the software lighting mode, so for these the engine has to temporarily revert to light mode 2 to render them correctly.

# Conflicts:
#	src/gl/compatibility/gl_20.cpp
#	src/gl/renderer/gl_lightdata.cpp
#	src/gl/renderer/gl_renderstate.h
#	src/gl/scene/gl_sprite.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/hwrenderer/utility/hw_lighting.cpp
#	src/hwrenderer/utility/hw_lighting.h
#	src/v_2ddrawer.cpp
2018-09-09 13:09:31 +02:00
Christoph Oelckers
7848bab7b3 - fixed math imprecisions in horizon vertex generation.
Floats are not precise enough to be used as a loop counter.
2018-09-09 11:29:19 +02:00
Christoph Oelckers
608e5f5bcf - fixed bad code for OP_SRL_KR. 2018-09-02 18:47:42 +02:00
Christoph Oelckers
1e487ee30a - added profiling for postprocessing code.
# Conflicts:
#	src/gl/scene/gl_scene.cpp
#	src/gl/utility/gl_clock.cpp
#	src/hwrenderer/utility/hw_clock.h
2018-09-02 13:07:02 +02:00
drfrag666
a2674eb4cf - Added fake DrawThickLine action function so mods using it don't crash. DrawLine will be called instead. 2018-09-02 00:29:11 +02:00
Kevin Caccamo
50327255ed Update usage of LastIndexOf
Now that LastIndexOf works properly, update the code that uses it to find OBJ models

Also, make UE1 model finder use LastIndexOf
2018-09-01 11:15:18 +02:00
Kevin Caccamo
639d68277e Fix OBJ rendering in software renderers, and other things
Pass surf->vbStart to SetupFrame instead of 0, and pass 0 to DrawArrays instead of surf->vbStart.

Use a potentially faster method of modifying the OBJ file text buffer by modifying it directly.

Add RealignVector and FixUV methods to begin work on re-aligning OBJ models to the same orientation as MD3 models.

Re-align OBJ models to match MD3 models

Fix normal calculation for re-aligned OBJs

Ensure AddSkins does not go out of bounds of surfaceskinIDs

Do not precache skins that were replaced by the user.

Fix OBJs with a large number of materials not being fully rendered

Print a warning message if a material referenced by the OBJ could not be found.

Free surface triangles once they are no longer needed

Also, use continue instead of return so that surfaces after those with missing materials are still rendered.

Fail if a face side has no vertex reference. Vertex references are required for a valid OBJ.

Clean up OBJ model code

Remove commented code, mainly Printf's that aren't used any more.

Add more documentation comments, and tweak existing documentation comments

Replace ParseVector2 and ParseVector3 with a template ParseVector function
2018-09-01 11:15:16 +02:00
Kevin Caccamo
f785886c4b 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 11:15:15 +02:00
Kevin Caccamo
188d8704e1 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 11:15:13 +02:00
ZippeyKeys12
564d0af331 Moved FConfigFile over to FileReader/FileWriter
Don't use new operator, use value instead
2018-08-31 21:04:17 +02:00
alexey.lysiuk
a75cd861c2 - fixed: always initialize active colors in special font
https://forum.zdoom.org/viewtopic.php?t=61859
2018-08-31 11:11:57 +02:00
Braden Obrzut
870228c833 - 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:28:43 +02:00
Christoph Oelckers
4efb5187c7 - defaulted constructors and assignment operators of several trivial types.
# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
2018-08-28 13:43:51 +02:00
drfrag666
9677ffe5b0 - Bumped ZScript version. 2018-08-26 14:04:33 +02:00
Rachael Alexanderson
342b476781 - fixed: sound from poly objects through portals will now propegate properly 2018-08-26 13:52:25 +02:00
Christoph Oelckers
80da2e74c5 - 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-26 13:51:30 +02:00
Christoph Oelckers
23f2d9aaa0 - renamed RIndexOf to RightIndexOf 2018-08-26 13:51:28 +02:00
Kevin Caccamo
b57d2f11f3 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-26 13:51:27 +02:00
Magnus Norddahl
908f7d639d - only render visual portals if they are front facing 2018-08-23 20:54:31 +02:00
argv-minus-one
66933d6b91 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-22 12:14:19 +02:00
Christoph Oelckers
d729e31603 - made the MapSectionGenerator a class to remove a global array. 2018-08-22 12:02:16 +02:00
Christoph Oelckers
390c9117f1 - fixed bad comparators for std::sort 2018-08-22 02:16:19 +02:00
Christoph Oelckers
4ee0cc7841 - use std::sort to sort the draw lists to avoid having to go through global variables. 2018-08-22 01:53:55 +02:00
Christoph Oelckers
cad63e9b48 - removed access to deleted variable. 2018-08-22 01:49:53 +02:00
Christoph Oelckers
26a782031c - no, we do not want to use global variables to pass parameters around...
# Conflicts:
#	src/gl/models/gl_models.h
2018-08-22 01:49:33 +02:00
Christoph Oelckers
ec1c71feb1 - removed empty header gl_convert.h
# Conflicts:
#	src/gl/scene/gl_flats.cpp
#	src/gl/scene/gl_scene.cpp
2018-08-22 01:21:20 +02:00
Christoph Oelckers
542da7425c 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-08-22 01:01:47 +02:00
Christoph Oelckers
54e6922f28 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-08-22 00:51:59 +02:00
drfrag666
d79855d26b - disable any texture clamping for textures with a user shader.
This cannot be reliably determined so the least restrictive setting must be used.
(refactored patch by Graf)
2018-08-21 15:06:53 +02:00
Magnus Norddahl
a1c5194a25 - fix missing forward declaration when falling back to older user shaders 2018-08-20 20:11:36 +02:00
drfrag666
76dffaf658 - Fixed bad merge of "- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function". 2018-08-20 12:50:54 +02:00
Magnus Norddahl
fb31572ba3 - fix user defines and textures not working 2018-08-20 01:43:22 +02:00
Magnus Norddahl
e59859e34d - improve the gldefs syntax by allowing the shader to be specified in the material section
# Conflicts:
#	src/r_data/gldefs.cpp
2018-08-20 01:43:02 +02:00
Magnus Norddahl
9c74c9629a - rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/textures/hw_material.cpp
#	src/r_data/gldefs.cpp
#	wadsrc/static/shaders/glsl/main.fp
2018-08-20 01:22:34 +02:00
usernameak
8f509bf784 Added ability to set defines in custom HW shaders 2018-08-19 21:50:44 +02:00
usernameak
57d4536f76 Fix codestyle; add ability to name the textures 2018-08-19 21:50:29 +02:00
usernameak
5cddbe4a16 Made ability to define custom material shaders for ProcessMaterial function
# Conflicts:
#	src/r_data/gldefs.cpp
2018-08-19 21:50:14 +02:00
usernameak
4c106de5d7 Custom hardware shaders now can use custom texture units
# Conflicts:
#	src/gl/textures/gl_material.cpp
#	src/textures/textures.h
2018-08-19 21:47:32 +02:00
Christoph Oelckers
81de21af18 - 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-08-19 20:59:46 +02:00
Christoph Oelckers
b03c329ec6 - 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.

# Conflicts:
#	src/CMakeLists.txt
#	src/gl/dynlights/gl_glow.cpp
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/textures/gl_texture.cpp
2018-08-19 20:56:49 +02:00
drfrag666
1caf2cacbb Revert "- added a 'lightsizefactor' command to gldefs."
This reverts commit 538897430d.
2018-08-19 19:35:32 +02:00
Christoph Oelckers
0fd1909f2c - 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 10:36:10 +02:00
alexey.lysiuk
7f864d563c - cleaned up inconsistent leading whitespaces
Bump copyright year as well
2018-08-18 19:46:05 +02:00
alexey.lysiuk
e84b360cb5 - prohibit assignment of dynamic arrays
https://forum.zdoom.org/viewtopic.php?t=61682
2018-08-18 19:45:52 +02:00
alexey.lysiuk
2ce7760e49 - support static const arrays inside structs
https://forum.zdoom.org/viewtopic.php?t=61677
2018-08-18 13:01:46 +02:00
Marisa Kirisame
8eaa0b17c6 Added missing check for HITOWNER on bouncers with 0 damage. 2018-08-18 00:52:37 +02:00
Marisa Kirisame
d8df6a7e6d Add HITOWNER flag, when set, allows a projectile to collide with its shooter. 2018-08-18 00:52:36 +02:00
Marisa Kirisame
ab56666219 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-18 00:52:34 +02:00
Marisa Kirisame
5095ee28f1 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-18 00:52:32 +02:00
drfrag666
9d3326d847 - Add stack protection for MinGW.
# Conflicts:
#	src/CMakeLists.txt
2018-08-17 01:42:18 +02:00
Christoph Oelckers
61ba0980d5 - fixed FS camera for real. 2018-08-14 23:48:43 +02:00
Christoph Oelckers
ae49f6138e - 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-14 01:14:22 +02:00
drfrag666
285791622d Revert "- update xBRZ upscaler to version 1.6"
This reverts commit 6dd17b4ef0.

This broke compilation with TDM-GCC 5.1. While it has problems i still use it for convenience, also no more win98.
2018-08-12 11:36:58 +02:00
alexey.lysiuk
aa4cb300da - added 5x and 6x upscaling with xBRZ 2018-08-10 21:16:09 +02:00
alexey.lysiuk
8197bf436d - cleaned up old xBRZ 1.0 upscaler
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

# Conflicts:
#	src/gl/xbr/xbrz_old.cpp
2018-08-10 21:16:07 +02:00
alexey.lysiuk
6dd17b4ef0 - update xBRZ upscaler to version 1.6
Fixed build with all suported toolchains thanks to incomplete implementation of C++14 in MSVC 2015 and GCC 4.9
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.6.zip
2018-08-10 21:05:40 +02:00
Christoph Oelckers
01109897b0 - replaced gl_PatchMenu with an MMX 'ifoption' check.
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2018-08-10 20:47:06 +02:00
Marisa Kirisame
1689203e35 Additional blocking-related flags for Actor.LineTrace() 2018-08-05 19:48:58 +02:00
drfrag666
5b76d7563b - Changed default GL sprite billboard mode to X/Y axis. 2018-08-04 14:44:43 +02:00
David Carlier
ce4d1fc1e4 Texture data overlap occuring here, using memmove instead. 2018-08-04 09:51:26 +02:00
alexey.lysiuk
44084f81af - 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-04 09:51:22 +02:00
Magnus Norddahl
d0ea9d7329 fix: softpoly TEXTURES sprites with scale of 2 are tiled 2018-07-30 23:35:58 +02:00
drfrag666
ad4cf1a41b - Update ZScript version. 2018-07-30 02:03:53 +02:00
Christoph Oelckers
a7a350d37e - always retrieve uniform buffer properties.
They are sometimes needed even if shader storage buffers are available.

# Conflicts:
#	src/gl_load/gl_interface.cpp
2018-07-29 22:34:11 +02:00
Christoph Oelckers
8c144881a8 - 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 19:30:30 +02:00
Christoph Oelckers
f48b2d8b71 - 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 19:30:28 +02:00
alexey.lysiuk
1906245368 - fixed buffer overflow in saved game comment
https://forum.zdoom.org/viewtopic.php?t=61465
2018-07-29 11:10:33 +02:00
drfrag666
65bed492a2 - Scale status bar to fullscreen by default. 2018-07-28 21:41:29 +02:00
alexey.lysiuk
baf0b8ee5f - 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:51:21 +02:00
Christoph Oelckers
425d756f04 - 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.

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl_load/gl_interface.cpp
2018-07-28 19:38:47 +02:00
drfrag666
195a54e0d1 - Fixed compilation of previous commit. 2018-07-28 12:42:14 +02:00
Magnus Norddahl
7144ac6897 - add support for specifying the exact thread count to r_multithreaded and r_scene_multithreaded 2018-07-28 12:30:10 +02:00
drfrag666
4ed793eb3b - Disabled truecolor rendering and dynamic lights for software by default. 2018-07-27 02:04:18 +02:00
drfrag666
03dbd1b4a7 - Made 160x100 the minimum scaling, UI looks too big tough. 2018-07-23 00:58:00 +02:00
Christoph Oelckers
9fc839b34a - added MF8_DONTFACETALKER flag which prevents NPCs from facing the player in conversations. 2018-07-22 18:23:40 +02:00
drfrag666
f19e9f24d2 - Fixed: in2D was not always reset in OpenGLSWFrameBuffer::Update(), caused (!in2D) assertion failure. 2018-07-22 18:21:45 +02:00
Christoph Oelckers
6f322940fe - 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.
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
#	src/v_video.cpp
2018-07-22 12:49:47 +02:00
Rachael Alexanderson
75a8c4da3e - the error checking on the previous commit should've been done slightly differently 2018-07-22 12:46:57 +02:00
Rachael Alexanderson
9b26fba11b - 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-22 12:46:57 +02:00
Christoph Oelckers
2ac665f950 - 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 12:42:10 +02:00
Christoph Oelckers
08a1cc0e7e - 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 12:42:08 +02:00
drfrag666
d5a15c66ad - Some cosmetic changes to the startup console. 2018-07-20 12:33:49 +02:00
drfrag666
9c1969e63a - OpenGLSWFrameBuffer: draw directly to the PBO again (GL_DYNAMIC_DRAW) for Intel GPUs, apparently it's faster. 2018-07-20 12:10:59 +02:00
drfrag666
09d9386350 - Made software sector light mode the default for the GL renderer. 2018-07-19 22:20:22 +02:00
drfrag666
b3e2a8ab7f - Changed buffer type for OpenGLSWFrameBuffer to use GL_STREAM_DRAW and a memcpy from system memory on non Nvidia GPUs. 2018-07-19 18:05:13 +02:00
alexey.lysiuk
b94801b994 - fixed crash on accessing state owner during VM abort
https://forum.zdoom.org/viewtopic.php?t=61338
2018-07-19 17:26:00 +02:00
alexey.lysiuk
52f6592996 - load common conversation lumps regardless of map naming scheme
https://forum.zdoom.org/viewtopic.php?t=61313
2018-07-17 12:54:31 +02:00
alexey.lysiuk
c55cf00c8e - added missing null pointer checks to VM ops 2018-07-16 19:11:20 +02:00
Christoph Oelckers
c519239a1b - 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.

# Conflicts:
#	src/gl/scene/gl_portal.cpp
2018-07-16 14:51:29 +02:00
Christoph Oelckers
d36c839475 - 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.

(cherry picked from commit 79b3c41677)
2018-07-16 01:45:35 +02:00
Christoph Oelckers
8420459aa0 - added DTA_LegacyRenderStyle so that STYLE_* constants can be passed directly to the Draw functions.
- fixed the optional parameter in Shape2D.Clear.

(cherry picked from commit 7a692b1557)

# Conflicts:
#	src/v_2ddrawer.cpp
#	src/v_video.h
#	wadsrc/static/zscript/base.txt
2018-07-16 01:44:04 +02:00
Christoph Oelckers
917d698a87 - 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.

(cherry picked from commit 7c527de374)
2018-07-15 12:14:37 +02:00
Christoph Oelckers
0d9deb35aa - 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.

(cherry picked from commit 2c86c4e942)
2018-07-15 12:14:36 +02:00
drfrag666
1f5da940ca - Added dummy 2D shape drawer so scripts using it won't make the engine crash. 2018-07-15 11:22:26 +02:00
drfrag666
9dc67c7944 - Back to old version numbering scheme. 2018-07-14 11:42:44 +02:00
alexey.lysiuk
d2143edb60 - skipped owned items in proximity test
https://forum.zdoom.org/viewtopic.php?t=61224
(cherry picked from commit 23a4daac23)
2018-07-11 20:18:40 +02:00
David Carlier
4902143d7b foo being allocated with metadata based allocator needs to
be freed similarly.

(cherry picked from commit 2a59327aeb)
2018-07-06 11:04:56 +02:00
Marisa Kirisame
286e1ded88 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.

(cherry picked from commit e5249f302a)
2018-07-05 02:07:24 +02:00
drfrag666
0d6566f973 - Fixed wrong ZScript version but it was harmless. 2018-07-02 18:55:13 +02:00
Magnus Norddahl
399ce3cfbf - softpoly: fix sprites still lit when dynlights off
(cherry picked from commit 2e5b7a7d8b)
2018-07-01 21:14:36 +02:00
Magnus Norddahl
f0edfcf819 - softpoly: fix normal walls not getting rendered for subsectors with poly objects in them
(cherry picked from commit 6d6ee1281e)
2018-07-01 18:47:47 +02:00
alexey.lysiuk
99c66e1bcc - 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

(cherry picked from commit 43b94d829e)
2018-06-30 14:35:00 +02:00
alexey.lysiuk
e0b5af42f3 - disabled default values for out parameters
https://forum.zdoom.org/viewtopic.php?t=61128
(cherry picked from commit 5d27c16f30)
2018-06-30 12:50:32 +02:00
alexey.lysiuk
340afa4a40 - removed Class identifier workaround from Cocoa backend
(cherry picked from commit 1d937b9f3c)
2018-06-30 12:50:30 +02:00
alexey.lysiuk
1629b25bfb - 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

(cherry picked from commit 907ce777a3)
2018-06-29 14:02:04 +02:00
alexey.lysiuk
16c23869f2 - simplified key repeat detection in SDL backend
(cherry picked from commit 0703030be3)
2018-06-29 11:46:53 +02:00
alexey.lysiuk
a9804d04cf - fixed excess keyboard events in SDL backend
https://forum.zdoom.org/viewtopic.php?t=61104
(cherry picked from commit 0342bf532d)
2018-06-29 11:46:52 +02:00
alexey.lysiuk
ef69c049c8 - disabled annoying macOS spaces in SDL backend
(cherry picked from commit 6e4c0fc416)
2018-06-29 11:46:51 +02:00
alexey.lysiuk
4cb4d65698 - fixed excess keyboard events in Cocoa backend
https://forum.zdoom.org/viewtopic.php?t=61104
(cherry picked from commit c30505d02a)
2018-06-29 11:46:50 +02:00
alexey.lysiuk
2b27531b53 - added detection of macOS Mojave
(cherry picked from commit a968aeba8a)
2018-06-28 10:45:12 +02:00
Christoph Oelckers
bf632cc31a Added lump size validation to the WAD loader
(cherry picked from commit cbe4c9c5c1)
2018-06-27 12:36:15 +02:00
drfrag666
021f5cf656 - Enabled render distance cull options by default. 2018-06-27 12:35:48 +02:00
Christoph Oelckers
833006b5d9 Fixed: Software rendered models checked the wrong CVAR for enabled dynamic lights.
(cherry picked from commit e402babfc0)
2018-06-26 11:21:22 +02:00
Magnus Norddahl
96c1156cf4 - make softpoly use the r_dynlights cvar
(cherry picked from commit f8272287d2)
2018-06-26 11:21:21 +02:00
Christoph Oelckers
c52d93ab36 - calculate a proper opening range when encountering a sector portal on a one-sided line in the sight checking code
(cherry picked from commit ff1eb7f3f2)
2018-06-25 12:01:08 +02:00
Vitaly Novichkov
6d7d1213c2 ADLMIDI: Fix one small MSVC Win64 warning
(cherry picked from commit a5b4d9d9a9)
2018-06-22 19:50:35 +02:00
Vitaly Novichkov
4807ac9e6b 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!)

(cherry picked from commit ceec12056a)
2018-06-22 19:50:32 +02:00
alexey.lysiuk
b9e7eaac26 - 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
(cherry picked from commit 9b4e8efcb9)
2018-06-22 19:50:27 +02:00
drfrag666
b927ac6783 - Modern controls again. 2018-06-22 19:20:34 +02:00
drfrag666
6af14d17fd - Added some missing command versions of the original Doom cheats. 2018-06-22 13:17:24 +02:00
drfrag666
af4093fe94 - Disabled compiler intrinsics for the VS non SSE2 version, it should work now. 2018-06-22 11:12:11 +02:00
drfrag666
abb2f6fd32 - Disabled EFX for OpenAL by default. This option has a severe performance impact on single core cpus.
- Disabled mipmapped textures for truecolor by default.
2018-06-20 20:56:02 +02:00
drfrag666
76f60e51fe - New generic ZDoom icons by Tormentor667. 2018-06-20 19:57:56 +02:00
drfrag666
11ebbc689d - Changed game name to LZDoom. 2018-06-20 14:26:09 +02:00
drfrag666
5045845896 - Added NO SSE2 version identification to the gameversion cmd. 2018-06-20 12:43:51 +02:00
drfrag666
11cb5af07e - Extend the TC_USE_SSE2 option to VS. 2018-06-20 12:07:44 +02:00
drfrag666
cafb92c637 - Fall back to software mode if the GL renderer cannot start. 2018-06-19 17:08:59 +02:00
drfrag666
09a3d7c9da - Made the software renderer the default.
- Changed default GL texture filtering mode.
2018-06-19 17:08:10 +02:00
drfrag666
b2d2e40e20 - Made new save order CVAR controlled. 2018-06-19 09:19:59 +02:00
drfrag666
aa26dc9d2b Revert "- Fixed: the new savegame order didn't take into account custom filenames. Try to catch most custom names."
This reverts commit f48c52291c.

This is not needed anymore, also the last commit actually removed custom filenames.
2018-06-19 08:51:28 +02:00
drfrag666
40d7897108 - Disabled custom filenames for the save command, this really never worked well. 2018-06-18 21:02:11 +02:00
drfrag666
0ba2b0e89b Revert "Revert "- Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically.""
This reverts commit 0964fd7108.
2018-06-18 20:45:43 +02:00
drfrag666
2fadfe53b4 - Fixed zdoom.rc for VS, _MSC_VER was not defined for the RC. 2018-06-18 18:40:25 +02:00
Christoph Oelckers
f2ee31acfd Remove unnecessary check for the ending brace.
(cherry picked from commit 211bd0b1b0)
2018-06-18 10:12:25 +02:00
Christoph Oelckers
72136c627c 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.

(cherry picked from commit 243787d19a)
2018-06-18 10:12:24 +02:00
Erick Tenorio
a94778ca4d Save item statistics
Items are now saved into save games and are displayed on the statfile

(cherry picked from commit c91d4750f3)
2018-06-18 10:12:23 +02:00
Magnus Norddahl
087f709637 - fix Software models don't display over nonexistent sprites
(cherry picked from commit bce49ad7c8)
2018-06-17 18:55:44 +02:00
alexey.lysiuk
7425a73d90 - 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()
    }
}

(cherry picked from commit 832de42c24)
2018-06-17 18:55:43 +02:00
Magnus Norddahl
34500a6324 - move DrawArray and DrawElements to PolyTriangleDrawer
(cherry picked from commit a91147a3a5)
2018-06-16 19:59:22 +02:00
Magnus Norddahl
db8c8c5ac3 - add support for using FModelVertex as input to the softpoly vertex shader
(cherry picked from commit 9ba26a5ece)
2018-06-16 19:59:19 +02:00
Magnus Norddahl
380d90f532 - add GroupMemoryBarrierCommand
(cherry picked from commit c9fd52340e)
2018-06-16 19:58:39 +02:00
Magnus Norddahl
9bcd8aeb13 - remove unused VectoredTryCatch
# Conflicts:
#	src/win32/i_crash.cpp
2018-06-16 19:52:12 +02:00
Magnus Norddahl
ddbf2f3166 - remove unused DrawerCommand::DebugInfo
(cherry picked from commit 628f6c32d9)
2018-06-16 19:20:21 +02:00
Magnus Norddahl
0a265d028d - use the worker threads to clear the stencil buffer
(cherry picked from commit de67393b4e)
2018-06-16 19:20:19 +02:00
Magnus Norddahl
fe940d09a6 - enable model rendering in the software renderer
(cherry picked from commit 85f5f897d7)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
#	wadsrc/static/menudef.txt
2018-06-16 19:20:17 +02:00
Christoph Oelckers
d7c2274692 - 3.4.1 2018-06-14 08:59:10 +02:00
drfrag666
0964fd7108 Revert "- Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically."
This reverts commit dc8d32cb69.

This is an experimental feature and should not be in the release.
2018-06-14 08:52:54 +02:00
alexey.lysiuk
807695783f - 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
(cherry picked from commit 29d2e77840)
2018-06-11 12:25:30 +02:00
Christoph Oelckers
ed5c2b21ac - ZScript used the wrong variable for compatflags2.
ii_* is merely the storage for info from the compatibility.txt lump.

(cherry picked from commit ae1fe041ee)
2018-06-09 19:44:12 +02:00
alexey.lysiuk
c5b20b91ff - fixed: flag CVars in ZScript referenced wrong addresses
(cherry picked from commit 4a1f36623b)
2018-06-09 19:44:11 +02:00
drfrag666
8ff20c98a5 - That cmath include was actually not needed (bad merge). 2018-06-09 14:46:34 +02:00
Christoph Oelckers
43c3d63786 - 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.

(cherry picked from commit 1fdcacc337)

# Conflicts:
#	src/scripting/backend/codegen.cpp
2018-06-09 14:30:41 +02:00
drfrag666
f24f5e1bf9 - Clarify SSE2 option for software truecolor. 2018-06-07 20:06:48 +02:00
drfrag666
f48c52291c - Fixed: the new savegame order didn't take into account custom filenames. Try to catch most custom names. 2018-06-07 11:43:13 +02:00
Magnus Norddahl
ee41e9d93a - fix missing include
(cherry picked from commit 2abf700c29)
2018-06-06 08:49:18 +02:00
Magnus Norddahl
01332a1bde - add dynamic lights to softpoly and software renderer models
(cherry picked from commit 5464d2a577)

# Conflicts:
#	src/gl/scene/gl_spritelight.cpp
2018-06-06 08:49:08 +02:00
Magnus Norddahl
6a1722076a - fix null pointer crash in softpoly
(cherry picked from commit 61f379c88f)
2018-06-06 01:52:07 +02:00
Christoph Oelckers
a8c0e67b21 - 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.

(cherry picked from commit 60b6dbadb2)
2018-06-05 21:16:58 +02:00
Magnus Norddahl
f70715e25a - fix software renderer dynamic lights not working properly in mirrors
(cherry picked from commit f5386a706f)
2018-06-05 21:15:12 +02:00
Magnus Norddahl
d0ff0bcaf2 - draw models in mirrors and portals at the right location in the software renderer
(cherry picked from commit b74a9965b8)
2018-06-05 21:15:12 +02:00
Marisa Kirisame
70c5886987 Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding.
(cherry picked from commit 477cf23fd2)
2018-06-05 20:10:12 +02:00
Magnus Norddahl
28ec13b66c - avoid using global variables in the inner fuzz drawer loop
(cherry picked from commit 674b6ee85c)
2018-06-05 20:10:11 +02:00
Magnus Norddahl
69c51ae8b7 - fix dynlight color not being applied on sprites
(cherry picked from commit 51fd715404)
2018-06-05 20:10:10 +02:00
Magnus Norddahl
2dff3af8cb - fix softpoly colored fog bug in the new drawers
(cherry picked from commit 9cd751ae7a)
2018-06-05 20:10:09 +02:00
alexey.lysiuk
3712a2cea5 - fix crash on dying when player class has no death states
https://forum.zdoom.org/viewtopic.php?t=60815
(cherry picked from commit 7009755c52)
2018-06-05 12:26:02 +02:00
Christoph Oelckers
dc43bc5f0e - 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.

(cherry picked from commit 2f6dc46f14)
2018-06-05 00:04:31 +02:00
Marisa Kirisame
74f4c8a6dd BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines
(cherry picked from commit fae514f30d)
2018-06-05 00:04:22 +02:00
Rachael Alexanderson
4d238beb7b - fixed - sector sounds were not translated through portal groups properly
(cherry picked from commit 780ddd21bd)
2018-06-05 00:04:04 +02:00
Magnus Norddahl
3e9f8e7679 - use a light array to simplify inner light math
(cherry picked from commit e3c78ab838)
2018-06-04 09:55:35 +02:00
Magnus Norddahl
f218485a57 - use affine dynlights in softpoly
(cherry picked from commit 97f4cc1951)
2018-06-04 09:55:33 +02:00
drfrag666
6d15e0eb89 Revert "- fix memory arena allocation alignment for 32 bit systems."
This reverts commit 8f138a42e3.

This gives an assertion failed error in zstring.h with MinGW.
2018-06-03 20:50:04 +02:00
Christoph Oelckers
fccd77500f - 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.

(cherry picked from commit d18f5eecb4)
2018-06-03 20:29:59 +02:00
Magnus Norddahl
a166f6a7ae - replace the old rect drawers with new ones based on render styles
(cherry picked from commit d425fb2d4a)
2018-06-03 20:13:48 +02:00
Magnus Norddahl
b07c4c41c7 - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (software drawer)
(cherry picked from commit 25784c2e57)
2018-06-03 20:13:12 +02:00
Magnus Norddahl
90e131b6fd - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (softpoly drawer)
(cherry picked from commit 11bb626ab6)
2018-06-03 20:11:22 +02:00
Christoph Oelckers
8f138a42e3 - fix memory arena allocation alignment for 32 bit systems.
(cherry picked from commit 23fce56b5e)
2018-06-03 20:01:43 +02:00
Christoph Oelckers
f6f25354d7 - 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.

(cherry picked from commit a851a5d151)
2018-06-03 20:00:20 +02:00
alexey.lysiuk
53f66a6c4c - fixed mouse cursor positioning in menu for Cocoa backend
With video resolution scaling enabled engine coordinates of mouse cursor were wrong

(cherry picked from commit f8f1148c59)
2018-06-03 19:59:28 +02:00
alexey.lysiuk
d645da3ccf - fixed linking with sanitizer(s) enabled
no more unresolved references to various functions

(cherry picked from commit b5274534d7)
2018-06-03 19:56:19 +02:00
Marisa Kirisame
1afcd9b7c7 Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis
(cherry picked from commit f74e74ac4b)
2018-06-03 19:51:45 +02:00
Marisa Kirisame
5a76623993 Swap front face culling for GL model drawer (CCW should be the default).
Added mirroring handling to software models.

(cherry picked from commit dea1d0259d)
2018-06-03 19:49:48 +02:00
Magnus Norddahl
d086c3d4dc - removed the 8x8 block drawing code from softpoly
(cherry picked from commit a186677092)
2018-06-03 19:46:38 +02:00
Christoph Oelckers
ea752bde90 - 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.

(cherry picked from commit d0aacd3ba8)

# Conflicts:
#	src/gl/scene/gl_scene.cpp
2018-06-03 01:22:56 +02:00
Magnus Norddahl
06496c7df7 - fix negative rotation speed not working
(cherry picked from commit 0dbcdc8a9c)
2018-06-02 21:35:00 +02:00
Christoph Oelckers
ff5c488a0f - pass mirroring info to model drawers.
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.

(cherry picked from commit 94d1a73ae8)
2018-06-02 21:31:23 +02:00
Christoph Oelckers
b18d198cf6 - 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.

(cherry picked from commit 0c5a47ac90)
2018-06-02 21:30:46 +02:00
Marisa Kirisame
5eebbe0b1a Transform UE1 vertex coords to GZDoom's when importing, rather than leaving it up to the end user.
(cherry picked from commit 58f4af6ded)
2018-06-02 10:07:31 +02:00
alexey.lysiuk
f58dfe3605 - 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'

(cherry picked from commit 81f042f08b)

# Conflicts:
#	src/gl/scene/gl_flats.cpp
2018-06-02 10:04:31 +02:00
Christoph Oelckers
6fe5af7c0c - 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.

(cherry picked from commit 7d515e72c2)
2018-06-02 10:03:43 +02:00
Magnus Norddahl
1e65eea77f - fix rotationSpeed being ignored after the model interpolation fix
(cherry picked from commit 359b13b783)
2018-06-01 22:05:13 +02:00
alexey.lysiuk
8d6c4321f2 - 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
(cherry picked from commit bff2c8cf74)
2018-05-31 11:00:42 +02:00
drfrag666
d6369978b9 - Merged "- 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
(patch by _mental_)
Still it's a VS bug.
2018-05-31 11:00:19 +02:00
Magnus Norddahl
60929f353f - replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
- add dynlights to softpoly pal mode

(cherry picked from commit 4e6226fc2d)
2018-05-30 11:56:15 +02:00
Magnus Norddahl
1055e45566 - Modify TriBlendMode enum to match the render styles
(cherry picked from commit 190b673890)
2018-05-30 11:55:53 +02:00
Christoph Oelckers
24d0aee2e7 - 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.
(cherry picked from commit ad343892f3)
2018-05-29 23:16:17 +02:00
drfrag666
c656185069 - Extended workaround for the stat not working issue in v140_xp to v141_xp. 2018-05-29 09:51:12 +02:00
alexey.lysiuk
4a0ef2edf1 - 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
(cherry picked from commit 36779cf88c)
2018-05-27 18:43:00 +02:00
alexey.lysiuk
94b68e76f6 - 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

(cherry picked from commit e085a8d58a)
2018-05-27 18:42:59 +02:00
Magnus Norddahl
9f698c4fda - add SSE2 version of softpoly span drawer
(cherry picked from commit 9fb34fd8e6)
2018-05-26 21:58:24 +02:00
Magnus Norddahl
09ef233c41 - implement render styles for the softpoly span drawers
(cherry picked from commit 7f908ce75d)
2018-05-26 21:58:24 +02:00
alexey.lysiuk
a2f4579943 - fixed minor issues with new line specials
(cherry picked from commit 91f440378e)
2018-05-26 09:55:37 +02:00
Cacodemon345
726f7e4b03 Add missing line specials.
(cherry picked from commit b02736c705)
2018-05-26 09:55:36 +02:00
alexey.lysiuk
15b28aadd9 - fixed typo in error message
(cherry picked from commit 1634b78280)
2018-05-25 13:05:07 +02:00
Raccoon
853b277781 Add SetAutomapFlags and SetAutomapStyle line specials
(cherry picked from commit 475d3f0829)
2018-05-25 13:04:10 +02:00
Magnus Norddahl
f6e64f5018 - add #include support to TEXTURES lump
(cherry picked from commit cadc4f2a30)

# Conflicts:
#	src/textures/texturemanager.cpp
2018-05-25 12:59:28 +02:00
alexey.lysiuk
c637d32113 - 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)

(cherry picked from commit 7576068202)
2018-05-24 11:46:43 +02:00
Magnus Norddahl
77071dedcf - add two-sided culling support in software and poly
(cherry picked from commit 8098657cf4)
2018-05-24 10:30:12 +02:00
Magnus Norddahl
3b89db85f2 - forgot to remove the remarked comment
(cherry picked from commit 771931db9f)
2018-05-24 10:28:58 +02:00
Magnus Norddahl
f05b937afa - enable #include support in modeldef files
(cherry picked from commit fb9cf33af6)
2018-05-24 10:28:57 +02:00
alexey.lysiuk
ee86e2e3be - fixed compilation with GCC/Clang
https://forum.zdoom.org/viewtopic.php?f=2&t=60657
(cherry picked from commit 26ebb938c1)
2018-05-24 10:25:43 +02:00
Magnus Norddahl
3f4e257d73 - 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)

(cherry picked from commit 91aec1689e)
2018-05-24 10:25:42 +02:00
Magnus Norddahl
8de520e9e1 - 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

(cherry picked from commit 31abe3df7e)

# Conflicts:
#	src/gl/models/gl_models.h
#	src/gl/scene/gl_scene.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/hwrenderer/textures/hw_precache.cpp
2018-05-24 10:25:05 +02:00
Christoph Oelckers
12a2dede7e - 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.

(cherry picked from commit cc65490062)
2018-05-23 10:13:35 +02:00
Magnus Norddahl
d7f907f510 - fix model interpolation bug
(cherry picked from commit cc4a09a3d2)
2018-05-21 20:11:29 +02:00
drfrag666
0552c8fbb3 - Revert "- fixed: Change compiled exe version strings to match git repo numbers."
gitinfo.h was still being included with MinGW and it was a waste of time on every commit anyway.
2018-05-21 10:28:23 +02:00
Christoph Oelckers
b0531c7293 - disable shader storage blocks if none get reported for vertex shaders.
(cherry picked from commit 3069b53804)
2018-05-20 11:20:11 +02:00
alexey.lysiuk
13d7b49eeb - added forced automap style to linedef, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
(cherry picked from commit c6f7d92c76)
2018-05-19 21:40:46 +02:00
RockstarRaccoon
84f1720ece - added 'revealed on automap' linedef flag, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
(cherry picked from commit 90cb0b3215)
2018-05-19 21:40:45 +02:00
Marisa Kirisame
4831b9be65 Cleaned UE1 math by using FVector classes.
Reversed winding order on vertex buffer creation as UE1 uses CCW.

(cherry picked from commit 0c4a08460f)
2018-05-19 21:38:45 +02:00
alexey.lysiuk
8bfdb2aa36 - 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]

(cherry picked from commit 9257c9cc0c)
2018-05-19 21:37:10 +02:00
Rachael Alexanderson
3d86244b61 - define zdoom.rc as a proper Windows text file, stop Git from mismanaging it
# Conflicts:
#	src/win32/zdoom.rc
2018-05-18 14:01:48 +02:00
Christoph Oelckers
4811962acb - silence some warnings.
(cherry picked from commit 2962fe9f08)
2018-05-18 13:46:12 +02:00
drfrag666
986bed0475 - Keep autosaves at the top of the savegame list. 2018-05-18 13:19:53 +02:00
Rachael Alexanderson
98dc10c127 - also remove unused forward declarations
(cherry picked from commit bcadd2bf04)
2018-05-17 13:06:44 +02:00
Rachael Alexanderson
25b281659c - cleaned up vid_scaleto____ code a bit, also set a sane lower limit for vid_scalefactor, removed some code redundancy
(cherry picked from commit 0f36b9d63f)
2018-05-17 13:06:44 +02:00
Rachael Alexanderson
126dcb5a70 - added vid_scaletowidth and vid_scaletoheight to calculate vid_scalefactor to reach a certain value on screen dynamics
(cherry picked from commit 0fae13bab4)
2018-05-17 13:06:43 +02:00
Christoph Oelckers
87121e2936 - fix warnings.
(cherry picked from commit fb876852bb)
2018-05-17 13:01:32 +02:00
Marisa Kirisame
30193423a6 Fix for Unreal meshes that don't have sequential texture numbers
(cherry picked from commit 1bb00ed4f0)
2018-05-17 13:01:31 +02:00
Marisa Kirisame
e2b3dc1c74 Remove unnecessary checks.
(cherry picked from commit 98f279b651)
2018-05-17 13:01:30 +02:00
Marisa Kirisame
91acd10e75 Discarded "UMSH" packed format, now loads _d.3d + _a.3d pairs
(cherry picked from commit ffc12eec29)
2018-05-17 13:01:29 +02:00
Marisa Kirisame
08d15514d2 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.

(cherry picked from commit f285e550d6)
2018-05-17 13:01:28 +02:00
drfrag666
0e25e40deb - Addressed crash on exit with MinGW. This is a hack and i've reported it as a bug in the MinGW C runtime. 2018-05-17 12:06:44 +02:00
alexey.lysiuk
f8dc707edf - fixed seeking end of file in memory reader
https://forum.zdoom.org/viewtopic.php?t=60611
(cherry picked from commit 42668c6a5a)
2018-05-17 11:57:05 +02:00
alexey.lysiuk
86eb6b8f85 - trigger WorldThingDamaged event before WorldThingDied
https://forum.zdoom.org/viewtopic.php?t=60597
(cherry picked from commit fc91827900)
2018-05-17 11:57:04 +02:00
Jonathan Russell
c8a47653bf - added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors
(cherry picked from commit e9050a38b3)
2018-05-17 11:57:03 +02:00
alexey.lysiuk
a66686225d - 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
(cherry picked from commit e1e441091d)
2018-05-16 11:58:38 +02:00
drfrag666
cc397295b6 - Fixed bad merge of "- some Transfer_Heights related optimizations". 2018-05-14 23:44:33 +02:00
alexey.lysiuk
4c7261c3b6 - 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

(cherry picked from commit 751e318c4e)
2018-05-14 18:06:59 +02:00
drfrag666
429bd5d843 - Made VMFrameStack GlobalVMStack a non thread_local variable for MinGW since that helps to prevent crashes on exit. 2018-05-14 12:53:57 +02:00
alexey.lysiuk
c06501d7ca - use map axes in bad sound position/velocity warning
https://forum.zdoom.org/viewtopic.php?t=60578
(cherry picked from commit 8a6ae503be)
2018-05-13 19:14:01 +02:00
drfrag666
9416219ea5 - Fixed bad merge of "- Clean up PolyTriangleDrawer API" 2018-05-13 19:11:29 +02:00
drfrag666
dc8d32cb69 - Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically. 2018-05-13 11:53:47 +02:00
drfrag666
108f0d3fd7 - Give an error message instead of just crashing on non SSE2 cpus. 2018-05-12 14:48:52 +02:00
drfrag
30a606ed6b - Fixed crash with textures larger than those supported by the hardware in the D3D backend.
# Conflicts:
#	src/win32/fb_d3d9.cpp
2018-05-12 14:28:58 +02:00
alexey.lysiuk
a545e7de35 - added end line to various messages
so they don't screw up further output anymore

(cherry picked from commit f17f8c9359)

# Conflicts:
#	src/gl/compatibility/gl_swshader20.cpp
2018-05-12 11:49:10 +02:00
Magnus Norddahl
5ade87d974 - move 3d floor code into functions
(cherry picked from commit 643828f5fa)
2018-05-12 11:41:00 +02:00
Magnus Norddahl
4a390a1c27 - more pointless complexity removal
(cherry picked from commit e4d740e586)
2018-05-12 11:40:59 +02:00
Magnus Norddahl
ba6c4e4c4a - remove pointless code
(cherry picked from commit acf9f55849)
2018-05-12 11:40:57 +02:00
drfrag666
087c3b4c01 - Fixed -iwad parameter working only with VS on Windows. 2018-05-12 11:32:53 +02:00
drfrag666
d60299c740 - Fixed compilation with VS. 2018-05-11 14:22:43 +02:00
Magnus Norddahl
ee5db9963b - fixed sloped drawer crash
(cherry picked from commit b0cc472e85)
2018-05-11 12:40:27 +02:00
landfillbaby
4ad3f2ed2f fix highlighting in snd_listmididevices
(cherry picked from commit ba9a340c1f)
2018-05-10 21:58:56 +02:00
alexey.lysiuk
807820b54b - 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 { }

(cherry picked from commit ef536e7b00)
2018-05-10 21:58:55 +02:00
alexey.lysiuk
82121a0e43 - added end line to recursive sound warning
(cherry picked from commit 821cc2a140)
2018-05-10 21:58:34 +02:00
alexey.lysiuk
91d91ce84f - Cocoa: ability to use drag and drop with custom IWADs
(cherry picked from commit fd5df6e8d1)
2018-05-10 21:57:58 +02:00
alexey.lysiuk
12f1820ea5 - Cocoa: proper defaults in .plist
(cherry picked from commit 23dcc27542)
2018-05-10 21:57:32 +02:00
Magnus Norddahl
14f9c63cd7 - added r_debug_draw that shows how the software renderer composes its scene
(cherry picked from commit 459f748c4e)
2018-05-10 21:57:12 +02:00
Magnus Norddahl
8014b97c3d - 3d floor clipping support for models
(cherry picked from commit b27655db70)
2018-05-10 21:53:46 +02:00
Magnus Norddahl
07b067c218 - GetTimeFloat is not renderer specific
(cherry picked from commit 49c9de350f)
2018-05-10 21:53:31 +02:00
Magnus Norddahl
216ecd7e07 - fix hud model clipping
(cherry picked from commit bfe6bffd33)
2018-05-10 21:53:07 +02:00
alexey.lysiuk
0a5579cdd6 - proper handle pixel format creation errors in Cocoa backend
(cherry picked from commit 78c06554af)
2018-05-10 21:52:50 +02:00
alexey.lysiuk
5f850067b3 - SDL: clear button state when switching from/to GUI input
https://forum.zdoom.org/viewtopic.php?t=60451
(cherry picked from commit 7fcefa2ed1)

# Conflicts:
#	src/posix/sdl/i_input.cpp
2018-05-10 21:51:00 +02:00
alexey.lysiuk
ac73549bd2 - 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
(cherry picked from commit ce18ff1df3)

# Conflicts:
#	CMakeLists.txt
2018-05-10 21:49:07 +02:00
Magnus Norddahl
5a6eb48690 - fixed missing depth for models
(cherry picked from commit 4642861501)
2018-05-10 21:29:37 +02:00
Magnus Norddahl
2f1c5ee5d2 - fix translucent walls when r_models is enabled
(cherry picked from commit 1d929dd79b)
2018-05-10 21:21:51 +02:00
alexey.lysiuk
a106594b6b - serialize 'spawned' object flag, WorldThingDestroyed event relies on it
https://forum.zdoom.org/viewtopic.php?t=60435
(cherry picked from commit 437b44bafb)
2018-05-10 21:18:21 +02:00
alexey.lysiuk
21ce592771 - skip rendering when application is not active
Use vid_activeinbackground CVAR to override this behavior

(cherry picked from commit 2be84dc636)

# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
#	src/posix/cocoa/i_video.mm
#	src/posix/sdl/gl_sysfb.h
#	src/posix/sdl/sdlglvideo.cpp
#	src/win32/gl_sysfb.h
#	src/win32/win32gliface.cpp
2018-05-10 21:16:38 +02:00
Hisymak
fe4adb849d OPL Synth fix: Double-voice instruments randomly don't play second voice
(cherry picked from commit 583da7f6cf)
2018-05-10 20:54:47 +02:00
Christoph Oelckers
7b822807de - 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.

(cherry picked from commit 9bdb0f2e49)
2018-05-10 19:49:02 +02:00
Christoph Oelckers
8a3a293bf8 - 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.

(cherry picked from commit f49c6cbde2)

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
2018-05-10 19:20:11 +02:00
Christoph Oelckers
e5aca6dfa4 - 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.

(cherry picked from commit 3c49804c6c)

# Conflicts:
#	src/gl/scene/gl_bsp.cpp
#	src/gl/scene/gl_fakeflat.cpp
#	src/hwrenderer/scene/hw_fakeflat.h
2018-05-10 18:37:20 +02:00
Christoph Oelckers
84b261d947 - 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.

(cherry picked from commit b35213741f)
2018-05-10 14:59:22 +02:00
Christoph Oelckers
4a74c9606a - allow animated title pics.
This also applies to all other images shown in the title loop as well.

(cherry picked from commit af76e9a9c4)
2018-05-10 14:48:45 +02:00
Hisymak
b825b4317f 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.

(cherry picked from commit 07586af6d1)
2018-05-10 13:59:06 +02:00
Christoph Oelckers
9415b86e37 - fixed a memory leak in the FileReader.
(cherry picked from commit 4d72214fd5)
2018-05-10 13:58:38 +02:00
alexey.lysiuk
56b0e9627c 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
(cherry picked from commit 6d308ca67e)
2018-05-10 13:56:45 +02:00
alexey.lysiuk
b1b45102ef Added startup song definition for custom IWADs
https://forum.zdoom.org/viewtopic.php?t=60314
(cherry picked from commit 2ae8b0c093)
2018-05-10 13:53:14 +02:00
alexey.lysiuk
739ebbb8f1 Fixed crash during line tracing when enter sector is null
https://forum.zdoom.org/viewtopic.php?t=60371
(cherry picked from commit 3111ec97bb)
2018-05-10 13:51:56 +02:00
ZZYZX
407cdc9683 Only call additional LineCheck if there are 3D floors
(cherry picked from commit 3129840a04)
2018-05-10 13:47:30 +02:00
ZZYZX
a39e2c518f Implemented workaround for ZScript LineTrace with 3D floors
(cherry picked from commit 3eef3d7845)
2018-05-10 13:47:28 +02:00
drfrag666
f0542852e6 - Removed some not needed version.h includes. 2018-05-10 13:38:21 +02:00
Magnus Norddahl
5a64f6eb18 - fix softpoly line portals
(cherry picked from commit 45625399dc)
2018-05-10 11:16:26 +02:00
alexey.lysiuk
5f0ecca567 All platform-specific headers are referenced by generated projects
This was already the case on Windows anyway

(cherry picked from commit c264ff05da)
2018-05-10 11:15:37 +02:00
Magnus Norddahl
2fdcfa9f55 - slightly improve sector portal handling in softpoly
(cherry picked from commit 2aee68d215)
2018-05-10 11:01:49 +02:00
Magnus Norddahl
83c0ec8b15 - fix softpoly mirrors
(cherry picked from commit 6e77cb4906)
2018-05-10 10:50:49 +02:00
Magnus Norddahl
bcb2ba6f29 - Simplify the portal code in softpoly somewhat
(cherry picked from commit 16a8d71caf)

# Conflicts:
#	src/polyrenderer/poly_renderer.cpp
2018-05-10 10:49:49 +02:00
alexey.lysiuk
343bcdad58 Actor's Activation property is now stored in saved game
https://forum.zdoom.org/viewtopic.php?t=60295
(cherry picked from commit b0261d9545)
2018-05-09 22:14:50 +02:00
alexey.lysiuk
a695cb426a 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)

(cherry picked from commit 671736ecdc)
2018-05-09 21:48:57 +02:00
drfrag666
ca0dee561b - Include gitinfo.h in version.h only for VS.
- Wrong version.

Avoid building of several files on each pull/reset/amend/cherry-pick/etc
2018-05-09 21:47:41 +02:00
drfrag666
538897430d - 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.
(ported patch by Graf)
2018-05-09 19:05:10 +02:00
drfrag666
8d45611cab - 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.
(patch by Graf)
2018-05-09 14:57:13 +02:00
alexey.lysiuk
2642cae3cd Fixed dangling links to garbage collected HUD message objects
https://forum.zdoom.org/viewtopic.php?t=60262
(cherry picked from commit 7a11be8615)
2018-05-09 12:31:39 +02:00
alexey.lysiuk
63514823e1 Added ability to set thing position in compatibility layer
(cherry picked from commit 87d164ee59)
2018-05-09 12:31:37 +02:00
Magnus Norddahl
3c382553ce - fix missing fuzz initialization in softpoly
(cherry picked from commit 4a3f7e8dd5)
2018-05-09 12:26:59 +02:00
Magnus Norddahl
153ce9e118 - fix softpoly portal crash and blinking translucent objects
(cherry picked from commit f5c2ffabc9)
2018-05-09 12:20:39 +02:00
drfrag666
8aa4e84b84 - add null pointer check on camera (patch by dpJudas) 2018-05-09 12:16:01 +02:00
Magnus Norddahl
39194db54f - fix softpoly portal crash
(cherry picked from commit 61032cb6ae)
2018-05-09 11:46:26 +02:00
Christoph Oelckers
148353ab25 -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.

(cherry picked from commit cf8447d19c)
2018-05-09 11:45:20 +02:00
alexey.lysiuk
d03e966867 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
(cherry picked from commit 4ea16acef5)

# Conflicts:
#	src/p_setup.cpp
2018-05-09 11:43:03 +02:00
Christoph Oelckers
40ac98fa21 - 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.

(cherry picked from commit 515323dcbd)
2018-05-09 11:37:35 +02:00
Magnus Norddahl
7a3433bb71 - disable software models
(cherry picked from commit ee443b6fb6)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
2018-05-09 11:27:15 +02:00
Magnus Norddahl
8f930ee571 - Fix depth values when screenblocks less than 11
(cherry picked from commit 1a5f679d43)
2018-05-09 11:16:51 +02:00
Magnus Norddahl
8296b6ae81 - Fix model projection matrix
(cherry picked from commit b1355d472c)
2018-05-09 11:10:38 +02:00
Magnus Norddahl
1101253fc6 - Fix depth values written by sloped planes
(cherry picked from commit 7f25913b2d)
2018-05-09 11:10:37 +02:00
Magnus Norddahl
3da37a796b - Remove include that shouldn't be there (also caused macOS builds to fail)
(cherry picked from commit c15328de2f)
2018-05-09 11:04:06 +02:00
Magnus Norddahl
e519605c7d - 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

(cherry picked from commit 2d51fa5b43)
2018-05-09 10:47:22 +02:00
alexey.lysiuk
047ec41df9 Added activation type to WorldLine(Pre)Activated events
https://forum.zdoom.org/viewtopic.php?t=60232
(cherry picked from commit ba4cc1a6ca)
2018-05-09 10:34:12 +02:00
alexey.lysiuk
cfcf78269d Added names for arguments in DStaticEventHandler class definition
(cherry picked from commit 83c513b6c9)
2018-05-09 10:28:52 +02:00
Christoph Oelckers
f05fe61369 - added missing validation to SetCameraToTexture ZScript function.
(cherry picked from commit 927b351174)
2018-05-09 10:08:33 +02:00
drfrag666
192101ac29 Merge remote-tracking branch 'remotes/gzdoom/ZCompat2' into g3.3mgw 2018-05-09 09:58:47 +02:00
Rachael Alexanderson
a82f428910 - 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.
(cherry picked from commit a23259f26a)
2018-05-09 09:54:36 +02:00
drfrag666
be304a4929 - SSE2 instructions were always enabled for certain files. 2018-04-30 12:57:36 +02:00
drfrag666
a695491a1f - Restored DoBlending_MMX for non SSE2 cpus. 2018-04-28 20:36:54 +02:00
drfrag666
0c38c72ad7 - Some cleanup. 2018-04-27 22:00:31 +02:00
drfrag666
5a7192137d - Fixed usage of old _declspec. 2018-04-25 12:03:59 +02:00
drfrag666
bc2b82b1fb - Fixed 'thread' attribute directive ignored warning with gcc. 2018-04-23 17:49:32 +02:00
drfrag666
f04a1cb497 - Added USE_SSE2 compile option for gcc. 2018-04-22 22:41:03 +02:00
drfrag666
05b453d2a9 - Fixed missing manifest for MinGW. 2018-04-22 19:25:36 +02:00
drfrag666
54e8bf74ce - Restored dependency on dxguid library for MinGW. 2018-04-22 18:50:12 +02:00
drfrag666
2a41088fb6 - Partially reverted Blzut3's patch to gl_framebuffer.h. It was no longer applicable. 2018-04-22 14:22:17 +02:00
drfrag666
6844f20081 - Don't use secure directory creation for mingw32. 2018-04-22 12:37:07 +02:00
drfrag666
799e623377 - Fixed compilation with gcc 5.1. (patch by Graf) 2018-04-22 11:55:36 +02:00
drfrag666
354388f224 - Missing formatting macro definitions for MinGW. 2018-04-22 11:49:10 +02:00
drfrag666
2c5e37499d - Fixed zdoom.rc for MinGW. 2018-04-22 11:04:14 +02:00
drfrag
9727484190 - Applied Blzut3's patches to compile with MinGW. 2018-04-22 10:08:00 +02:00
drfrag
ad5959b827 - Applied some Blzut3 patches to compile with MinGW. 2018-04-22 09:50:38 +02:00
drfrag666
86a22d8cce - Fixed improved crash handling in drawers not compiling with mingw32. 2018-04-22 00:11:34 +02: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
640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03: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
7c70e0971c - disabled the survey code.
This survey is now closed and new input no longer needed.
2018-04-08 20:51:19 +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
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
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
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
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
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
alexey.lysiuk
17bc9c3f69 Fixed handling of default value in Actor.Vec3Angle() 2018-03-31 11:46:06 +03:00
ZippeyKeys12
0441994106 Default newradius in A_SetSize 2018-03-30 18:06:46 -05: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
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
alexey.lysiuk
cbad9ac219 Fixed crash when event handler class isn't derived from StaticEventHandler 2018-03-29 16:41:29 +03: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
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
Vitaly Novichkov
38156b9243 ADL&OPL: Added a fallback for a blank instruments in GS/XG banks 2018-03-27 07:36:07 +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
alexey.lysiuk
341a9bcf91 Added target and last enemy to linetarget CCMD output
https://forum.zdoom.org/viewtopic.php?t=59716
2018-03-18 11:23:24 +02:00
alexey.lysiuk
75782e6b34 Exported Inventory.AltHUDIcon field to ZScript
https://forum.zdoom.org/viewtopic.php?t=59842
2018-03-18 11:02:21 +02:00
alexey.lysiuk
ecff13ac2e Fixed crash on attempt to send stats without network connection
https://forum.zdoom.org/viewtopic.php?t=59844
2018-03-17 22:38:41 +02:00
Magnus Norddahl
a2b9a70835 - Fix crash when reloading a map 2018-03-17 00:09:43 +01:00
alexey.lysiuk
9a737a0622 Added ability to turn off sending of stats in CMake configuration 2018-03-16 16:04:43 +02:00
alexey.lysiuk
a9802f82f4 Replaced usages of sprintf() in stats sender 2018-03-14 22:19:33 +02:00
Christoph Oelckers
f1bfc3514d - fixed: For proper recognition of optional function arguments, the argflags must also be copied from the parent function to ensure they are itdentical on the override. 2018-03-14 19:52:30 +01:00
Rachael Alexanderson
549a290a2f - add 'renderconfig' for the stats script to easily differentiate between OpenGL and software 2018-03-14 11:40:47 -04:00
alexey.lysiuk
bdeae23a56 Added native UI dialog to confirm stats collection
Implemented only for Windows so far
Need good message to explain purpose of this feature
2018-03-14 10:20:46 +02:00
Christoph Oelckers
49f590c797 - Use the Windows system function to determine the number of physical CPU cores.
The generic version does not appear to work as intended.
2018-03-13 20:04:41 +01:00
Rachael Alexanderson
d83456e9cc - fixed: stats checker was not actually checking if it was being run in WOW64 mode 2018-03-13 09:34:38 -04:00
raa-eruanna
251f0c8459 - add one more missing include to make GCC happy 2018-03-12 22:39:50 -04:00
Marisa Kirisame
fb5eae8aaa Added some missing zlib.h and stdint.h includes 2018-03-12 21:06:03 -04:00
Christoph Oelckers
fed7286442 - p_glnodes.cpp must include zlib.h 2018-03-12 22:45:49 +01:00
Christoph Oelckers
5fccdd9acd - added missing return to translation code.
- a bit of header cleanup.

* moved <zlib.h> and <bzlib.h> from files.h to files_decompress.cpp because they are no longer needed for defining the interface.
* added <functional> to the precompiled header
2018-03-12 21:18:11 +01:00
Christoph Oelckers
5a4e9decd9 - added missing #include 2018-03-12 19:33:49 +01:00
Rachael Alexanderson
fbc4831072 - remove empty Mac I_HTTPRequest prototype since it's not used 2018-03-12 19:33:49 +01:00
Christoph Oelckers
f2f649bf77 - put all stats related code into one file. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
033a11a028 - fix compile on clang
- implement TCP connections in Linux
- fix passing of request string to a thread
- implement OS stats for ARM and PPC on Linux
2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
c15e868b0f - implemented anonymous stats collector 2018-03-12 19:33:48 +01:00
Christoph Oelckers
5d436cd3ed - forward the error state of the translation parser to the calling code so that it can print a message pointing to the problem content. 2018-03-12 19:14:56 +01:00
Christoph Oelckers
73248e7f86 - added a missing nullptr check in Instruments::free_soundfonts() 2018-03-12 18:55:05 +01:00
Christoph Oelckers
13ef97c4ac - removed debug message. 2018-03-12 18:47:49 +01:00
Major Cooke
4851c5bfde Insert an extra line after printing the warnings. 2018-03-12 18:17:08 +01:00
Christoph Oelckers
c85389c976 Re-fixed 95d74614
This should be dealt with at the source, not one level up, so that it also works properly if the GetReader function of the ResourceFile object is called directly and not through the resource manager.
2018-03-12 10:26:36 +01:00
Christoph Oelckers
3cf1959070 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-12 10:19:23 +01:00
Christoph Oelckers
def5e1d61b Added proper handling for default parameter values of virtual overrides
Due to how the VM handles default parameters, these must always be identical to the parent to prevent undefined behavior.
So now, if such parameters are encountered, the compiler will either abort (for script version >= 3.3) or print a warning (for older versions.)
Any defaults being specified for older versions will be ignored, though, and the defaults of the parent function be copied to the override.
2018-03-12 10:19:16 +01:00
alexey.lysiuk
e0f7c99496 Fixed crash on loading directories 2018-03-12 11:00:40 +02:00
Christoph Oelckers
c01554c6c8 - feeding another one to Travis CI... 2018-03-11 23:32:40 +01:00
Christoph Oelckers
54061ad50c - another one.
This would be easier if Travis CI didn't abort compilation after each single error...
2018-03-11 23:25:30 +01:00
Christoph Oelckers
011bf9d9aa - another one... 2018-03-11 22:44:05 +01:00
Christoph Oelckers
b72ccba5f5 - missed one bit. 2018-03-11 22:17:50 +01:00
Christoph Oelckers
8c0925dd5d - fixed some compile errors which were only reported on GCC/Clang. 2018-03-11 22:05:28 +01:00
Christoph Oelckers
b445347aca Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-11 19:30:06 +01:00
Christoph Oelckers
b939836846 - renamed FileRdr back to FileReader. 2018-03-11 19:29:37 +01:00
Christoph Oelckers
0be1ed252b - rewrote the operator>> methods of FileReader as normal functions for clarity. 2018-03-11 18:20:49 +01:00
Christoph Oelckers
833dbee167 - fixed some issues with m_swap's design.
The native byte order converters were defined as macros which hid some issues due to lack of type checks.
Additionally the ???Long variants taking 'long' variables were removed, because longs are not always 32 bits so this could be destructive.
As a result of this, removed several DWORDs from struct definitions in i_crash.cpp.
2018-03-11 14:35:36 +01:00
Christoph Oelckers
8bbfd39f42 - fixed some remaining issues:
* initial positioning in a subsection of a file failed. This mainly affected music playback.
* made the FileRdr constructor which takes a FileReaderInterface private so that everything that needs it must be explicitly declared as friend.
* removed a few redundant construction initializers for FileRdrs.
* loading compressed nodes needs to check the validity of its reader.
* use GetLength to detemine the size of a Zip file instead of doing another seek to the end.
* removed duplicate Length variables.
2018-03-11 13:26:30 +01:00
Christoph Oelckers
b14ee50d0d - transition to new FileReader interface complete, but untested. 2018-03-11 12:33:46 +01:00
Christoph Oelckers
247785bca2 - converted map loader to FileRdr and took the opportunity to clean up its interface. 2018-03-10 21:48:33 +01:00
Christoph Oelckers
6f8ca2eace - fixed a few issues from implicit FileReader conversion. 2018-03-10 20:47:17 +01:00
Christoph Oelckers
b315bc3be0 - added a few more FileRdr replacements
- fixed: The streaming music player must return the file reader if it fails to open, so that the next player can still use it.
- fixed: Timidity++'s Instruments class did not delete the sound font when it was destroyed.

..-
2018-03-10 20:33:49 +01:00
Christoph Oelckers
56991a9ace - Removed FileReader from SoundFont manager.
- renamed close_file to tf_close for consistency.
2018-03-10 20:10:17 +01:00
Christoph Oelckers
c4387459bb - use FileRdr in the PNG code, in particular to sanitize the savepic handling. 2018-03-10 19:22:26 +01:00
Christoph Oelckers
5fa63c396d - sound code and most of texture code converted to FileRdr.
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
Rachael Alexanderson
37fa3fa25e - add variables 'am_unexploredsecretcolor' and 'am_ovunexploredsecretcolor' to mark undiscovered secrets differently in the automap 2018-03-10 10:36:43 -05:00
Christoph Oelckers
26e948357e - added an abstract FileReader wrapper.
The idea here is to decouple the actual reader creation from the code using them so that, for example, the Open function can decide if it wants to open the file regularly or memory mapped and return different readers as deemed useful. For that to work the exposed object needs to be an abstract wrapper so that this can be done without having to use pointers and all the drawbacks coming from that.
So far put to use in a few parts of the music code so the general functionality could be tested.
2018-03-10 13:46:35 +01:00
alexey.lysiuk
9cd5b415c1 Improved profilethinkers in various ways
Added features:
* Formatted table
* Average time per one actor
* Sorting column highlight
* Rows limit
* Usage help
2018-03-10 11:04:31 +02:00
alexey.lysiuk
fc981bf5d4 Extended profilethinkers CVAR with sorting ability
Sorting modes are
1 - by name, from A to Z
2 - by name, from Z to A
3 - number of calls, ascending
4 - number of calls, descending
5 - total time, ascending
anything else - total time, descending
2018-03-09 18:13:16 +02:00
alexey.lysiuk
f5d5430804 Added ability to build without thread_local support
https://forum.zdoom.org/viewtopic.php?t=58043
2018-03-09 12:53:41 +02:00
Magnus Norddahl
2589447d0e - fixed midtex nowrap clipping bug when 3d floors are in view
- made sure no code uses sclipTop or sclipBottom as a working variable
2018-03-09 01:30:47 +01:00
alexey.lysiuk
53a9819283 Disabled GCC loop vectorization for R_LoadKVX() function
This prevents crash (unaligned memory access by SSE instruction) on loading voxels in Release (-O3) builds
https://forum.zdoom.org/viewtopic.php?t=59656
2018-03-08 12:24:33 +02:00
alexey.lysiuk
7f17121df8 Fixed crash in MIDI to wave writer 2018-03-08 11:38:02 +02:00
alexey.lysiuk
cea64ea092 Moved old Nuked and Java OPL3 to own namespaces
This helps to avoid clashing of OPL3 classes
2018-03-08 10:18:49 +02:00
alexey.lysiuk
114e56b334 Moved old NukedOPL to own namespace
This fixes linking issues on non-MSVC targets and improves code navigation
2018-03-08 09:51:37 +02:00
alexey.lysiuk
15138c38ca Improved organization of ADLMIDI files in CMake generated projects 2018-03-08 09:49:51 +02:00
Magnus Norddahl
6ab58e56ad - fix simplify code slightly 2018-03-08 04:25:27 +01:00
Magnus Norddahl
71623198d2 - remove fake3D with structs and localize their usage instead of sharing global state 2018-03-08 04:05:35 +01:00
Magnus Norddahl
7cb4deabdd - get rid of FAKE3D_REFRESHCLIP and fix holes in 3d floors with wrapped midtextures 2018-03-08 01:28:23 +01:00
Magnus Norddahl
a55be25a9d - add const qualifier on top/bottom clip arrays usage 2018-03-08 00:55:37 +01:00
Christoph Oelckers
2d2d44baad - integrated ADL as a proper device in the MIDI device list.
- resorted the MIDI device menu option by device types (i.e. all SW synths first, FM synths second)
- allow setting the ADL bank.
2018-03-07 21:20:25 +01:00
Christoph Oelckers
fd801b8b94 Merge branch 'adlMIDI'
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-07 20:31:32 +01:00
alexey.lysiuk
e51a1867df Added default values for BaseStatusBar.AttachMessage() arguments 2018-03-07 16:00:08 +02:00
alexey.lysiuk
81bc05b7c5 Added support for default values of arguments with uint type 2018-03-07 15:58:06 +02:00
Christoph Oelckers
9b61ee9618 - fixed: The MIDI wave writer set the sample rate to save at too late.
This was done after the players had already been created. To ensure that everything gets set properly it is necessary to pass the desired sample rate to the device's constructor and let it make sure that a proper sample rate gets set.
2018-03-06 22:41:27 +01:00
alexey.lysiuk
72831c9db7 Fixed archiving of CVARs with default values
https://forum.zdoom.org/viewtopic.php?t=59701
2018-03-06 22:46:18 +02:00
Christoph Oelckers
4d4edcfbfb - fixed setup for Timidity++ playback frequency. 2018-03-06 19:52:29 +01:00
alexey.lysiuk
4b7e57b007 Fixed selection of soundfont with spaces in its name 2018-03-06 13:05:38 +02:00
Christoph Oelckers
774a7773a4 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-05 20:39:34 +01:00
alexey.lysiuk
adae6c19b8 Made left button down event available to UI event handler
Main menu is no longer triggered in game on left mouse button press when handler is processing UI events
https://forum.zdoom.org/viewtopic.php?t=59673
2018-03-05 16:53:17 +02:00
alexey.lysiuk
3e9de3788d Fixed spelling of MissileShootersActivateImpactLines MAPINFO property
https://forum.zdoom.org/viewtopic.php?t=59686
2018-03-05 15:02:39 +02:00
alexey.lysiuk
77e1a1d289 Replaced usages of fluid_settings_getstr() function
This function is deprecated since FluidSynth 1.1.9 and removed in upcoming 2.x
2018-03-05 12:31:50 +02:00
alexey.lysiuk
ac47166894 Fixed freeze after saving game when cl_waitforsave CVAR set to false
Restored assertions that help to spot incorrect usage of I_FreezeTime() function
https://forum.zdoom.org/viewtopic.php?t=59672
2018-03-04 15:11:45 +02:00
alexey.lysiuk
d0ec6ef1d4 TiMidity++ now loads SF2 soundfont with spaces in path 2018-03-04 13:09:29 +02:00
alexey.lysiuk
d802abec5b Fixed initialization of search paths on macOS
IWAD directories previously set in user configuration file led to inconsistent file and soundfont search paths
2018-03-04 11:06:11 +02:00
alexey.lysiuk
8145b52037 Added explicit fallback to default soundfont
With no soundfonts found the game crashed on startup
Local UNIX build had the same issue because $PROGDIR/soundfonts is not in search path
2018-03-03 15:17:30 +02:00
alexey.lysiuk
4053e18835 Allowed CVARs to be set in unsafe context
CVAR values set in unsafe context are not written to user configuration file
This does not affect mod's CVARs

https://forum.zdoom.org/viewtopic.php?t=59484
2018-03-03 10:26:28 +01:00
Christoph Oelckers
2541bd93fc - made DHUDMessageBase non-abstract. 2018-03-03 09:52:34 +01:00
Marisa Kirisame
069c5aa90a Fix accidentally removed SectorPlane assignment. Added missing HitVector support. 2018-03-03 09:30:06 +01:00
Marisa Kirisame
bc4a8190bf Fix incorrect HitTexture reassignment in LineTrace. 2018-03-03 09:30:06 +01:00
Marisa Kirisame
4cc8ba3399 Export GetSector() again, removed lightingdata assignment. 2018-03-03 09:26:11 +01:00
Marisa Kirisame
f55bad472c Removed some garbage changes 2018-03-03 09:26:11 +01:00
Marisa Kirisame
053d9f4a44 Export sector effect pointers, fix missing pointer assignment on Lighting effect creation. 2018-03-03 09:26:11 +01:00
Christoph Oelckers
4f68b78c3b - removed an unchecked fixed size buffer in the KEYCONF parser. 2018-03-03 09:14:33 +01:00
Christoph Oelckers
b327aa737a Merge remote-tracking branch 'remotes/origin/materials' 2018-03-03 08:54:04 +01:00
Christoph Oelckers
e1bb14803e - print an error message if the requested MIDI device cannot be started.
This will only be done the first time a given setup fails. Repeated messages will be muted.
2018-03-03 08:52:25 +01:00
Christoph Oelckers
4c0f68bcd4 Merge branch 'master' into timidity++
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-02 00:08:12 +01:00
Christoph Oelckers
bc25ad4136 - fixed a small logic error introduced by fixing the translucent particle sorting.
Due to an unintended swap of two values a few equal comparisons led to incorrect sorting.
2018-03-01 17:10:21 +01:00
Christoph Oelckers
bcc8972356 - fixed: A preincrement of a local variable generated wrong code if passed as a function parameter.
Due to the special nature of this expression the code generator got stuck in 'address' mode and passed the address of the variable instead of its value.
2018-03-01 15:00:18 +01:00
Christoph Oelckers
685e5c1e95 - fixed: Camera textures must always be drawn with texture mode opaque, because the contents of their alpha channels are undefined. 2018-03-01 13:52:23 +01:00
Christoph Oelckers
b39cb4f095 - fixed translucemt sorting for particles.
At least on any semi-modern hardware. On old legacy hardware which lacks some important features this will still glitch.
2018-03-01 13:01:26 +01:00
Christoph Oelckers
bb16e34bf4 - exposed the HUD message interface to ZScript.
Note that this is just the bare abstract interface. It is up to content makers to define usable HUD message classes and optionally contribute them to the engine.
2018-03-01 11:45:19 +01:00
Christoph Oelckers
dd893b6a0c - split off the interface part of DHUDMessage into an abstract base class.
The purpose is to allow creating custom message types in ZScript.
2018-03-01 10:33:03 +01:00
alexey.lysiuk
711471e9dd Fixed potential crash during state validation
https://forum.zdoom.org/viewtopic.php?t=57116

The problem was caused by missing state label in conjunction with incomplete class

actor A : ArmorBonus
{
    Inventory.ForbiddenTo "Missing"
}

actor B : Pistol
{
    states
    {
        TNT1 A 0
        Loop
    }
}
2018-03-01 11:08:38 +02:00
InsanityBringer
bba3027d37 Add option to use Rotation-Center for an actor's normal pitch/angle/roll rotation. 2018-03-01 08:43:59 +01:00
Magnus Norddahl
48e534bf19 - Add per-pixel model light to the OpenGL 3.3 render path 2018-03-01 01:27:12 +01:00
Magnus Norddahl
6652df40c1 Merge remote-tracking branch 'gzdoom/master' into materials 2018-02-28 22:12:12 +01:00
Christoph Oelckers
425f1408f7 - fixed skip_super application fro ZScript.
The order of processing is different here so when the property gets parsed there are no states to delete.
To fix this the property just flags the class and lets the ZScript state compiler deal with this as needed.
2018-02-28 18:10:04 +01:00
alexey.lysiuk
56df88c792 Use 64-bit fixed point for node builder's vertex map
https://forum.zdoom.org/viewtopic.php?t=59368
2018-02-28 16:36:14 +01:00
Christoph Oelckers
e70250425a - fixed: For two-sided midtextures the light lists were always taken from the sector referenced by the rendered sidedef, not the sector in which the line gets renderered.
For polyobjects these two are not identical.
2018-02-28 13:15:04 +01:00
Christoph Oelckers
910a3062c7 - fixed some problems with the stepping up through a portal logic:
* this has to be disabled for missiles which should explode instead of stepping up.
* interpolation adjustment was not correct
* it could crash because the target portal group could be retrieved from a non-portal sector.
2018-02-28 10:12:10 +01:00
Christoph Oelckers
e55bbd7ba3 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-02-28 09:46:59 +01:00
Christoph Oelckers
4ccbc4ea9e - Send a GM reset SYSEX event when music playback is started. 2018-02-28 09:46:28 +01:00
Major Cooke
7ac8b496f1 Added Distance(2/3)DSquared functions. 2018-02-28 09:28:11 +01:00
Christoph Oelckers
af14609de7 - don't skip empty arrays which are themselves array elements in the ZScript serializer. 2018-02-27 15:42:22 +01:00
Christoph Oelckers
aaaf9aa108 Added 'TeleportSpecial' as an alias for 'Teleport' in ZScript to deconflict from the Actor.Teleport function. 2018-02-27 12:44:00 +01:00
Christoph Oelckers
d873ae75ab - silence all error messages in the state map parser for DEHSUPP when re-reading the data.
The state map will just be skipped and the parser only needs to run to get over the data.
However, due to changes from a previous patch the data cannot be validated so aside from not using the data it may also not abort on errors.
2018-02-27 11:34:44 +01:00
Christoph Oelckers
fd27b22857 - use iswspace to classify whitespace in V_BreakLines.
isspace does not work because it is limited to 8-bit character sets.
2018-02-27 11:10:47 +01:00
Christoph Oelckers
9a8e724761 - added a compatibility setting for Perdition's Gate MAP31 which was having render issues with an unsupported vanilla effect. 2018-02-27 09:53:15 +01:00
Christoph Oelckers
eb124f6160 - made the sound font loading a bit more error resistant.
- implemented a fallback both for sound font lookup and for MIDI device selection so that if some non-working combination is set up, the player will fall back to something that works.
2018-02-26 16:36:30 +01:00
alexey.lysiuk
d45a50b0db Put soundfont to appropriate folder so it can be found by default 2018-02-26 16:45:01 +02:00
alexey.lysiuk
6bc2be1ca4 Fixed GCC 6+ compilation error
In file included from /usr/include/c++/6/math.h:36:0,
                 from src/vectors.h:43,
                 from src/sound/i_soundinternal.h:7,
                 from src/sound/i_sound.h:39,
                 from src/sound/i_musicinterns.h:5,
                 from src/sound/timidity/timidity.cpp:36:
/usr/include/c++/6/cmath:407:11: error: ‘::pow’ has not been declared
2018-02-26 14:46:24 +02:00
alexey.lysiuk
22819e640a Fixed GCC 4.9 compilation error
src/sound/timiditypp/instrum.cpp:45:26: error: array used as initializer
2018-02-26 14:00:29 +02:00
alexey.lysiuk
4fdf488960 Fixed MSVC compilation warning
VC\include\type_traits(1468): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\musicformats\music_midistream.cpp(832): note: see reference to function template instantiation 'std::function<bool (int)>::function<MIDIStreamer::SetMIDISource::<lambda_...>,int,void>(_Fx)' being compiled
2018-02-26 13:22:36 +02:00
alexey.lysiuk
14802c0547 Fixed GCC compilation error
src/sound/timiditypp/reverb.h:467:6: error: declaration of ‘TimidityPlus::lfo TimidityPlus::<anonymous struct>::lfo’ [-fpermissive]
src/sound/timiditypp/reverb.h:61:8: error: changes meaning of ‘lfo’ from ‘struct TimidityPlus::lfo’ [-fpermissive]
2018-02-26 13:10:32 +02:00
Christoph Oelckers
64354df3c6 - another 'variadic argument' error due to MSVC letting it slip through. 2018-02-26 10:57:35 +01:00
Christoph Oelckers
f405d630df - Redid CVar synchronization for Timidity++. 2018-02-26 09:55:04 +01:00
Christoph Oelckers
47dbbeb65a Revert "- don't let the Timidity++ player directly access the CVARs."
This reverts commit 8f7a503561.

# Conflicts:
#	src/sound/timiditypp/playmidi.cpp

Something in here wasn't working as intended, and since it needs better synchronization let's redo it entirely.
2018-02-26 09:19:10 +01:00
Christoph Oelckers
36e8358763 - use submenus for soundfont selection both for better overview and avoiding a music restart for each selection change. 2018-02-26 08:52:40 +01:00
Christoph Oelckers
918d188263 - This shouldn't have been committed. 2018-02-25 16:15:24 +01:00
Christoph Oelckers
67a6ec01e1 - added a separate section for soundfont search paths. 2018-02-25 09:32:05 +01:00
Christoph Oelckers
2ac101fa51 - removed tmpfileplus, which was only used by the old Timidity++ player. 2018-02-24 23:01:55 +01:00
Rachael Alexanderson
07f168a58b - additional check for tween-tic particle rendering, prevents jitter with timefreeze powerup 2018-02-24 16:04:20 -05:00
Christoph Oelckers
8f7a503561 - don't let the Timidity++ player directly access the CVARs.
This may cause problems because the player runs in a different thread than the input code.
Instead the play thread will now copy their values to local variables when it starts generating output.
2018-02-24 19:36:09 +01:00
Christoph Oelckers
27f9330c81 - reimplemented thr OPL dumoer for MIDI. 2018-02-24 18:55:42 +01:00
Christoph Oelckers
a5316c211d - Moved the MIDI WAVE writer device to its own source file. 2018-02-24 18:25:04 +01:00
Christoph Oelckers
2202a52840 - made the MIDI to WAVE dumper functional again, including the option of choosing the MIDI synth and sound font with which it should be rendered. 2018-02-24 18:19:27 +01:00
alexey.lysiuk
3436b80232 Added SHARE_DIR search path back
https://github.com/coelckers/gzdoom/pull/377#issuecomment-368235506
2018-02-24 17:50:13 +02:00
alexey.lysiuk
76ff1adb28 Disabled reverb editor's test environment by default
https://forum.zdoom.org/viewtopic.php?t=59583
2018-02-24 17:46:04 +02:00
Christoph Oelckers
786f1b34be - did not save everything. 2018-02-24 13:33:28 +01:00
Christoph Oelckers
6e913bb032 - Timidity CVAR cleanup and removal of the more obscure options. 2018-02-24 13:06:17 +01:00
Christoph Oelckers
b1313d533a - changing reverb mode must reallocate the buffers because they are mode-dependent. 2018-02-24 12:41:16 +01:00
Christoph Oelckers
fa8cfa65c0 - fixed incomplete initialization of the chorus data. 2018-02-24 12:30:19 +01:00
Christoph Oelckers
88328b056d - removed 'register' keyword from reverb.cpp. 2018-02-23 22:01:00 +01:00
Christoph Oelckers
7a851fd3f1 libADL MIDI test. It sounds awful so obviously there's still something wrong here. Definitely not usable yet. 2018-02-23 21:56:34 +01:00
Christoph Oelckers
39f26028aa - reworked the advanced sound menu to take advantage of the new soundfont handling.
The text input field for the configs have been removed. Instead it will now present a list of soundfonts that are found in specific locations.
For that it will look in the 'soundfont' directories of the FileSearch.Directories entry of the config.
Acceptable file formats here are SF2 and zipped GUS patch sets. These zipped patch sets need to have a timidity.cfg at the root and refer to all containing data by relative path. References to outside files are not allowed here.
It is still possible to refer to sound fonts elsewhere on the hard drive by manually entering a path at the console - but these won't show in the menu and will get lost if one cycles through the list of available options.
Of the available softsynths, FluidSynth will only list SF", Wildmidi will only list GUS patch sets and Timidity++ and GUS will list both.

Please note that although the GUS synth can read SF2, the output appears to be broken die to some old bug.
2018-02-23 19:23:39 +01:00
Christoph Oelckers
5da1433c57 - fixed a memory leak and removed debug output. 2018-02-23 18:57:30 +01:00
Christoph Oelckers
88f9f0982c - fixed Timidity++ playback. 2018-02-23 18:33:54 +01:00
Christoph Oelckers
4a179954b1 - removed Timidity_mastervolume CVAR. The reason why this was added got addressed at a lower level with the new code (i.e. the EXE's output was far too loud) and if there need to be adjustments to evening out the volume of the different MIDI synths it should be done in the data generation step, not as an added factor to the system volume of the track. 2018-02-23 17:27:36 +01:00
Christoph Oelckers
d25cc1baa0 - Fixed today's work now that I'm able to hear some sound again. Also some reorganization 2018-02-23 17:01:17 +01:00
Christoph Oelckers
ddedcd9fc2 Removed all conditional checks on HAVE_FLUIDSYNTH
With the current setup it makes zero sense to exclude it. This was all a remnant of its introduction when it couldn't be taken for granted.
2018-02-23 14:36:26 +01:00
Christoph Oelckers
adebd644f2 Rewroter 'writemidi' CCMD to work independently of the currently playing song's data.
The first benefit of separating the MIDI data sources from the playback classes. :)
2018-02-23 14:26:29 +01:00
Christoph Oelckers
16f17deb0f We no longer have a sound system that can handle music playback, so the code for it can go away. 2018-02-23 13:23:03 +01:00
Christoph Oelckers
9a1479ab08 Separate MIDI streamer and source creation in the high level code. 2018-02-23 13:20:07 +01:00
Christoph Oelckers
9aa1199902 Split the different MIDI format implementations into a separate 'Source' class.
This is necessary to write a universal, device independent wave dumper for MIDIs.
With each format inheriting from the main player class it is not possible to create a generic dumper player.
2018-02-23 12:40:43 +01:00
Christoph Oelckers
8734511e80 Removed PathExpander and PseudoMidiDevice which are no longer being used
PathExpander has been integrated into the sound font manager and PseudoMidiDevice was only used as the base class for the old Timidity++ device with the external executable.
2018-02-23 09:21:42 +01:00
Christoph Oelckers
aae832386f Fixed warnings in Timidity++ code emitted by XCode, except one which cannot be eliminatet without compromising the code. 2018-02-23 09:07:42 +01:00
Christoph Oelckers
6618656e7c Adjusted Timidity++ to soundfint manager 2018-02-23 08:54:01 +01:00
Christoph Oelckers
f9893a700a - fixed some warnings. 2018-02-23 01:01:18 +01:00
Christoph Oelckers
d6fe1fb39f - simplified the sound font manager a bit.
- allow the GUS to change sound fonts at run time.
- implemented sound font manager support in the GUS synth. This works but also made me realize that the SF2 support of this synth has been rather broken, apparently forever.
2018-02-23 00:48:03 +01:00
Christoph Oelckers
c12c068355 - WildMidi now uses the soundfont manager.
- added the missing handler for reading Timidity configs from the lump directory.
- fixed incomplete init of the GUS synth when no soundfont can be located.
- fixed bad initialization of WildMidi sampling frequency. It would default to 11.025 kHz if no valid rate was set. Now it will use the sound device's native frequency.
2018-02-22 22:35:49 +01:00
Christoph Oelckers
1361956072 - Soundfont manager works for FluidSynth. 2018-02-22 18:03:22 +01:00
Christoph Oelckers
8b8a7e5e45 - sfmanager gets initialized 2018-02-22 14:30:43 +01:00
Christoph Oelckers
aaedae6972 - do not abort if FScanner cannot open a file. 2018-02-22 14:10:25 +01:00
Christoph Oelckers
504d68e2f8 All compile errors on Mac fixed. 2018-02-22 13:50:41 +01:00
Christoph Oelckers
2c138d703d Move function out of header due to compile errors on macOS 2018-02-22 13:46:29 +01:00
Christoph Oelckers
04344505c0 Soundfont header 2018-02-22 13:42:12 +01:00
Christoph Oelckers
a6fa906764 Framework for context independent sounffont management
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
3d08c1fbc7 Merge branch 'master' into timidity++
# Conflicts:
#	src/sound/mididevices/music_timiditypp_mididevice.cpp
2018-02-22 09:10:42 +01:00
Christoph Oelckers
542d3431ff - Start of soundfont refactoring. This does not compile yet! 2018-02-22 07:21:19 +01:00
Christoph Oelckers
0688d53ea8 - allow reloading the sound font for the GUS device. 2018-02-21 23:38:04 +01:00
Magnus Norddahl
57e66555da - Change the search paths for auto folders 2018-02-21 23:20:31 +01:00
Magnus Norddahl
05827ffcda - Implement auto textures for materials 2018-02-21 23:12:46 +01:00
Christoph Oelckers
e84ec2978a - plugged the pending memory leaks. 2018-02-21 21:33:56 +01:00
Christoph Oelckers
5219916de5 - there's no need to drag the event time around, this really was just an artifact of Timidity's original implementation which is no longer in use.
- plugged a few memory leaks.
2018-02-21 21:11:31 +01:00
Christoph Oelckers
af705d1c59 - silenced a few pointless console messages generated by Timidity++. 2018-02-21 20:44:51 +01:00
Christoph Oelckers
af1de8ddc9 - removed volume testing output.
- final tweak to volume adjustment: Do this upon extraction for better results.

If this is done via the synth's parameters it will affect channel balance.
The given factor of 5 is necessary to roughly match the output of FluidSynth.
2018-02-21 20:12:37 +01:00
Christoph Oelckers
59352af486 - Volume tweaking. 2018-02-21 19:05:14 +01:00
Christoph Oelckers
e6bae25423 - Timidity++ is now fully integrated into the softsynth interface.
The only thing left to do is tweaking the volume of the output to match the one from the EXE.
2018-02-21 17:35:44 +01:00
alexey.lysiuk
74357ced0c Fixed read of potentially junk values in ZScript parser
The following ill-formed ZScript code might crash targets with sizeof(int) != sizeof(void*) like 64-bit Intel
class test { void func() { if (true) ( return; ) } }
2018-02-21 16:26:04 +02:00
Christoph Oelckers
445e9451cb - Added the long event handler for Timidity++.
This will be hard to test because there's basically no material out there using the features this implements.
2018-02-21 02:02:29 +01:00
Christoph Oelckers
4813eeeb85 - Timidity++ now plays ZDoom's event stream, although still through the Windows output module.
This also means that readmidi.cpp is no longer needed.
2018-02-21 01:29:39 +01:00
Christoph Oelckers
57967a1033 - safety commit. 2018-02-20 23:36:59 +01:00
Christoph Oelckers
cbcfea99cb - use the intended interface to pass some data to the player. 2018-02-20 21:52:45 +01:00
Christoph Oelckers
a8283ffdd6 - something can be heard.
This doesn't pipe the audio through OpenAL yet but the fundamentals for further progress are done.
2018-02-20 20:50:01 +01:00
Christoph Oelckers
5ce3b00b90 - commented out the noisy debug messages in Timidity++ so that they do not waste execution time and memory for nothing - there are almost 300 of them. 2018-02-20 19:45:37 +01:00
Rachael Alexanderson
420602e154 - check for deathmatch starts before forcing an unfriendly player to use them. 2018-02-20 05:35:40 -05:00
alexey.lysiuk
ff897997d6 Fixed hang when TiMidity++ executable failed to launch
https://forum.zdoom.org/viewtopic.php?t=59539
2018-02-20 12:20:18 +02:00
Rachael Alexanderson
117b796c6b - fixed: Phobia: The Age (or any mod with DEHACKED overriding player bits) overwrote the player's Friendly flag 2018-02-20 04:45:15 -05:00
Christoph Oelckers
d72b87f469 - skeleton of new player class for Timidity++ - not tested yet. 2018-02-20 01:23:56 +01:00
Magnus Norddahl
4e7ca68bd6 Merge remote-tracking branch 'gzdoom/master' into materials 2018-02-20 00:22:06 +01:00
Magnus Norddahl
07fa310f23 - move material light modes to their own subshader lumps 2018-02-20 00:13:05 +01:00
Christoph Oelckers
803369fb8d - make CMake happy 2018-02-19 23:33:42 +01:00
Christoph Oelckers
06a1730b8a - hooking in the PathExpander. 2018-02-19 22:48:13 +01:00
Christoph Oelckers
576932c47f - Timidity++ sources added. This compiles but isn't hooked into the engine yet.
This source has been heavily edited to remove the deep integration with the provided UI modules and to eliminate use of global variables and puts everything into a small number of C++ classes.
2018-02-19 22:14:22 +01:00
alexey.lysiuk
a3236aa7ef Set target for blood actor with PUFFGETSOWNER flag spawned by crusher
https://forum.zdoom.org/viewtopic.php?t=59447
2018-02-19 16:57:52 +02:00
alexey.lysiuk
05538f2de8 Fixed compilation warnings reported by MSVC
src\sound\musicformats\music_libsndfile.cpp(119): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(139): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(145): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(167): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\musicformats\music_libsndfile.cpp(178): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(240): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
2018-02-19 12:28:24 +02:00
alexey.lysiuk
1e41c042d4 Fixed codegen crash with non-numeric random seed
The following code crashed ZScript code generator if my_seed is not convertible to numeric type
SetRandomSeed[my_random_id](my_seed);
2018-02-19 11:46:36 +02:00
Christoph Oelckers
6a02eaa595 - second part of texture fix. 2018-02-15 18:40:23 +01:00
Christoph Oelckers
ef55386d9f - let the texture manager handle the special OpenGL textures so that they get deleted and recreated when needed. 2018-02-15 17:56:04 +01:00
Christoph Oelckers
80a0d15bc7
The fallback path in DepleteAmmo was calling the wrong function 2018-02-12 21:06:38 +01:00
Chris Robinson
e566cb9184 Properly parse FLAC and Ogg Vorbis files for their comments 2018-02-12 17:33:20 +01:00
alexey.lysiuk
61979f63c1 Removed last remnants of PowerPC Mac support 2018-02-11 16:35:34 +02:00
Marrub
66d15dc215 Make the ACS string pool reserve more strings
Due to only reserving a single new string when growing the string pool, any ACS code that generates lots of strings will eventually cause massive amounts of lag, to the point where ACSStringPool takes up *most of the execution time*. The proposed change fixes this issue.
2018-02-10 20:18:26 +01:00
Magnus Norddahl
e2cab652d0 - Improve the "#line 1" directive insertion so that errors in all the shaders use line numbers relative to the lump they are referring to 2018-02-10 14:46:43 +01:00
Magnus Norddahl
5528d4157b - Make uniform removal a little bit more robust by only searching for known legacy uniforms 2018-02-10 14:06:17 +01:00
Rachael Alexanderson
5dd98669e4 - FreeBSD compile fix 2018-02-10 07:56:33 -05:00
Magnus Norddahl
f01ef3d7a7 - Remove uniforms from user shader code 2018-02-10 12:52:59 +01:00
Magnus Norddahl
94fbcacf22 Merge branch 'gzdoom' into materials 2018-02-10 00:08:17 +01:00
Magnus Norddahl
7cbe8669b6 - fix decals not getting lit by lights not having a target while still having the LF_DONTLIGHTSELF flag
- fix decal light not being calculated from the center of the decal
2018-02-10 00:06:47 +01:00
Magnus Norddahl
3207d8aef7 - generate uniform declarations from c++ 2018-02-09 23:29:31 +01:00
alexey.lysiuk
ed23008069 Fixed crash in stereoscopic modes caused by camera without player
https://forum.zdoom.org/viewtopic.php?t=55039&start=381#p1039251
2018-02-07 11:37:02 +02:00
ZZYZX
ef867c3415 Fixed arg0str for dynamic light actors 2018-02-04 03:37:41 -05:00
alexey.lysiuk
af7648a151 Made PlayerRespawn skill definition consistent
Now it works the same as AllowRespawn map definition in MAPINFO
2018-02-03 16:26:49 +02:00
alexey.lysiuk
d5bc0a1fa9 Uniform way to guard ACS stack and variables
ACS VM stack and map/world/global variables arrays are now checked for out of bounds access
2018-02-03 14:39:01 +02:00
alexey.lysiuk
9a9c90a504 Fixed crash on exit caused by undefined class
Referenced but undefined optional class does not abort loading with fatal error
For example, incorrect MorphProjectile's PlayerClass or MonsterClass caused crash during shutdown
2018-01-31 18:40:48 +02:00
Kevin Caccamo
1608e11f0d Fix typo that made DepleteAmmo always use Secondary Ammo
https://forum.zdoom.org/viewtopic.php?f=2&p=1038209
2018-01-30 23:52:48 -05:00
Christoph Oelckers
8e90386567 - made Weapon.CheckAmmo and Weapon.DepleteAmmo virtual on the script side. 2018-01-30 22:04:31 +01:00
alexey.lysiuk
35508bc8fb Fixed resetting CVARs via internal menu CCMDs
This restores functionality of reset to defaults/saved menu options
2018-01-30 16:32:16 +02:00
alexey.lysiuk
d9323b9740 Marked internal menu commands as safe
This fixes soundfont/patchset/config selection menus in advanced sound options
2018-01-30 16:02:30 +02:00
alexey.lysiuk
c8b6e5719e Restore unsafe execution context to its previous value 2018-01-30 15:56:45 +02:00
alexey.lysiuk
f4191f27cf Marked two more CCMDs as unsafe 2018-01-30 15:42:03 +02:00
Christoph Oelckers
93686638b0 - let fluid_reverb and fluid_chorus default to 'off'. 2018-01-29 18:54:06 +01:00
Christoph Oelckers
2bb80e3d0b - fixed: Upon resurrection, a monster must check if the current setting of the link flags (NOBLOCKMAP and NOSECTOR) match the defaults. 2018-01-29 18:18:31 +01:00
Christoph Oelckers
6107f36ad2 - iterating through portal groups must check for situations where badly constructed maps let items end up in another portal group. 2018-01-29 18:00:55 +01:00
alexey.lysiuk
1e9fdca755 Made unsafe execution context check for CVARs more strict
This prevents changing of non-mod CVARs from unsafe context for various code paths including set and toggle CCMDs
2018-01-29 15:20:35 +02:00
alexey.lysiuk
c7eea9b480 Marked a few more CCMDs as unsafe 2018-01-29 13:30:36 +02:00
Christoph Oelckers
64921ea968 - use a more consistent setting for rendering fuzzy sprites with enhanced nightvision on. 2018-01-28 20:46:16 +01:00
Alexander Wilms
55c6a14059 Added simple fatal error window for Linux
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Christoph Oelckers
c1d2b54820 - let TexMan.GetName return the actual name for a texture that was created from a full path name. 2018-01-28 11:54:24 +01:00
alexey.lysiuk
6003625721 Silenced quad stereo message during startup 2018-01-28 11:41:00 +02:00
Christoph Oelckers
d207f426c1 Typo. 2018-01-27 12:49:52 +01:00
Christoph Oelckers
1794774f22 - ScriptedMarine already exists as a name so most literal occurences in the source could be replaced with more efficient direct use of the name. 2018-01-27 09:54:33 +01:00
Christoph Oelckers
7ceb70bcc1 - renamed 'Tracer' class to 'LineTracer', because 'Tracer' is a too common name that had been used by some mods. 2018-01-27 09:32:26 +01:00
Marisa Kirisame
92547028f3 Exports sky textures to ZScript (readonly, needs setter function due to the setup required) and speeds, along with a ChangeSky function for setting the textures. 2018-01-26 21:00:44 +01:00
alexey.lysiuk
a77b253cba Fixed Sector.SetYScale() function in ZScript
https://forum.zdoom.org/viewtopic.php?t=59224
2018-01-26 10:29:37 +02:00
alexey.lysiuk
577c6b033e Changed quad stereo mode restart notification
Restart requirement for quad stereo mode should be output to console because CVAR can be toggled directly from it
Long option names break menu layout on some aspect ratios like 16:10
2018-01-26 10:10:51 +02:00
Magnus Norddahl
30af6d38b3 - fix automap render bug 2018-01-25 20:22:51 +01:00
Magnus Norddahl
2c9a2e7170 - fix specular defaults to be a little more sane 2018-01-25 19:59:57 +01:00
Magnus Norddahl
7a59bcde4c - move glossiness and specular level to GLDEFS 2018-01-25 19:53:55 +01:00
Magnus Norddahl
0855418475 Merge branch 'gzdoom' into materials
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shader.h
2018-01-25 19:21:19 +01:00
Magnus Norddahl
a46bbc81a0 Merge branch 'bloom_psprite_fix' into gzdoom 2018-01-25 19:01:46 +01:00
Magnus Norddahl
4c0dce875f Merge branch 'fuzz_software' into gzdoom 2018-01-25 19:00:14 +01:00
alexey.lysiuk
1b4e3d3f94 Added overloaded Little...() functions for big endian targets
https://forum.zdoom.org/viewtopic.php?t=59197
2018-01-25 13:35:34 +02:00
alexey.lysiuk
e728634497 Use dummy Get...() functions for all Intel targets
64-bit Intel targets built with GCC/Clang were using strict memory alignment versions of GetShort(), GetInt(), GetBigInt() functions
2018-01-25 13:23:12 +02:00
Magnus Norddahl
81c6808d2a - Add specular and normal map handling to main.fp 2018-01-23 23:10:28 +01:00
Magnus Norddahl
c7ec489846 Merge remote-tracking branch 'origin/master' into materials 2018-01-23 20:16:32 +01:00
alexey.lysiuk
47b276024e Fixed compilation warnings reported by MSVC
src\p_map.cpp(4857): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\p_map.cpp(4858): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
2018-01-22 12:29:16 +02:00
Christoph Oelckers
76d594f952 - reverted the hard offset for transferred skies.
This is not the correct way to apply it.
2018-01-21 19:25:21 +01:00
Christoph Oelckers
09f1859c83 - allow retrieving the length of a string constant. 2018-01-21 18:49:46 +01:00
Christoph Oelckers
6438416adb - fixed: The culling mode for translucent models must be inverted when rendering a mirror. 2018-01-21 16:29:40 +01:00
Christoph Oelckers
e1d6f6f3b3 - fixed: precise rendering did not work anymore due to a missing reference operator in the setup function for the needed data. 2018-01-21 16:17:49 +01:00
Christoph Oelckers
884db96cbb Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-21 10:54:34 +01:00
ZZYZX
ee1a8f71bb Disable TRACE_PCross and TRACE_Impact on ZScript side 2018-01-21 10:54:23 +01:00
ZZYZX
74b937620e Added texture detection for walls and 3D floors; renamed some fields to more intuitive names 2018-01-21 10:54:23 +01:00
ZZYZX
a7ff62316d Exported Trace() interface to ZScript 2018-01-21 10:54:23 +01:00
Marisa Kirisame
15e7d9daba Gave the user data struct for CheckLineTrace a more unique name to avoid confusion with FLineTraceData 2018-01-21 10:54:02 +01:00
Marisa Kirisame
69e8c9ec6e A more "general purpose" line trace function. Far from a complete ZScript interface with Trace(), though. 2018-01-21 10:54:02 +01:00
Jan Engelhardt
3f45f938d6 Update LZMA SDK to version 17.01 2018-01-21 10:53:40 +01:00
Neil McPhail
ded0c7805d Fix failure to write under ~/ in confinement
When running in a confined environment (such as a snap) it may not be
possible to write to directories such as ~/.config. By using the $HOME
variable instead of the '~' shortcut, the confined environment can pass
an alternative 'home' directory with write privelges.

I have only changed this for posix/unix and haven't touched code for
MacOS, as I don't know if that behaves differently
2018-01-21 10:52:42 +01:00
Christoph Oelckers
56e2db38fd - Use FName instead of FString to store arg0str in FMapThing.
This is because FMapThing gets memset to 0 and changing that would cause more work than it is worth to keep the string. The only thing it is used for is the color for dynamic lights and those do not need case sensitivity so a name will just do as well, but require less adjustments elsewhere.
2018-01-21 09:10:04 +01:00
Christoph Oelckers
c93d025088 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-21 08:57:29 +01:00
Rachael Alexanderson
8b3cc6a617 - remove redundant vm.h include in events.cpp 2018-01-21 01:02:00 -05:00
Magnus Norddahl
0f69778e23 - Add new material shader entries for specular and PBR light modes 2018-01-21 01:53:44 +01:00
Magnus Norddahl
4dd2d789f4 - Rename mTextureEffects to mMaterialShaders to help distinguish between those and effect shaders (mEffectShaders)
- Add MaterialShaderIndex enum
2018-01-21 01:19:16 +01:00
Christoph Oelckers
9b40097e48 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-20 22:41:41 +01:00
Christoph Oelckers
6aaf5df617 - reworked spot lights to receive all relevant information through the args.
As a bonus, arg0str can now be used for all dynamic lights to pass a color in textual form, including X11R6RGB-names.
2018-01-20 22:41:28 +01:00
Jonathan Russell
708d24aba7 - added Screen.getViewWindow function 2018-01-20 21:56:34 +01:00
Christoph Oelckers
dbf0a68b02 Merge commit '67e3106254e987f5acb9534e725d4f5c3eaa82b2'
# Conflicts:
#	src/doomdata.h
#	src/namedef.h
#	src/p_udmf.cpp
2018-01-20 19:07:54 +01:00
Rachael Alexanderson
6df936e0a0 - remove A_IsPlayingSound 2018-01-20 19:01:47 +01:00
Marisa Kirisame
a01ca4c3a1 Exported S_IsActorPlayingSomething and S_GetMSLength to ZScript.
Added missing vm.h include, moved A_IsPlayingSound to p_actionfunctions.cpp.

- make A_IsPlayingSound ui only
2018-01-20 19:01:47 +01:00
Major Cooke
d5d393aaf2 - Added GetRadiusDamage. Returns the raw calculated explosion damage falloff by distance only.
- Split off both explosion damage calculations into P_Get(Old)RadiusDamage functions for ease of maintenance.
2018-01-20 18:45:01 +02:00
Magnus Norddahl
f3c55c01c8 Add material definition to GLDEFS 2018-01-20 16:28:24 +01:00
alexey.lysiuk
c840368446 Fixed compilation warnings reported by GCC/Clang
src/s_environment.cpp:908:6: warning: variable 'v' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
src/s_environment.cpp:908:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/s_environment.cpp:934:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2018-01-20 14:59:29 +02:00
Christoph Oelckers
16461e0d59 Merge branch 'reverbedit' 2018-01-20 13:06:26 +01:00
alexey.lysiuk
7a1ec9ab9d Applied values to latched CVARs in correct order
https://forum.zdoom.org/viewtopic.php?t=59159
2018-01-20 13:53:13 +02:00
Christoph Oelckers
2d8e394529 Merge branch 'master' into reverbedit
# Conflicts:
#	wadsrc/static/zscript/menu/optionmenuitems.txt
2018-01-20 11:44:42 +01:00
Christoph Oelckers
2fddea7bed Merge branch 'unsafe_context' 2018-01-20 11:21:52 +01:00
alexey.lysiuk
b5006bbee4 Fixed potential compilation error in ACS loader
https://forum.zdoom.org/viewtopic.php?t=59164
2018-01-20 10:34:07 +02:00
Christoph Oelckers
2720e36a2c - marked a few more CCMDs unsafe. 2018-01-20 09:11:28 +01:00
Christoph Oelckers
4cf5977b56 Merge branch 'master' into unsafe_context 2018-01-20 08:53:00 +01:00
Christoph Oelckers
19cf887ad1 - fixed: Dynamic arrays for object pointers need different treatment than arrays for regular pointers, because they require GC::WriteBarrier to be called. 2018-01-19 19:49:42 +01:00
alexey.lysiuk
f629678320 Fixed const correctness for secplane structure
https://forum.zdoom.org/viewtopic.php?t=59151
2018-01-18 15:34:56 +02:00
alexey.lysiuk
6d20da8ab5 Fixed nust -> must typos 2018-01-18 11:43:32 +02:00
alexey.lysiuk
56f656516d Fixed rare crash when menu is closed from Ticker() function
https://forum.zdoom.org/viewtopic.php?t=59112
2018-01-16 11:00:48 +02:00
Christoph Oelckers
13c4e58c3d - simplified IgnoreMIDIVolume.
The XP related check had already been deactivated but not removed.
2018-01-14 10:48:26 +01:00
alexey.lysiuk
f28914d1b6 Simplified handling of command line arguments in Cocoa backend
Empty arguments are no longer ignored
2018-01-14 11:29:45 +02:00
alexey.lysiuk
09e2326c63 Use dummy uallong() function for all Intel targets
64-bit Intel targets built with GCC/Clang were using strict memory alignment version of this function
2018-01-14 10:13:18 +02:00
alexey.lysiuk
72f181be08 Revert "Added partial bounds check for instruction pointer in ACS VM"
This reverts commit 83cd53c9b1.
2018-01-14 10:04:13 +02:00
alexey.lysiuk
9b52c18ef6 Improved layout of FMultiPatchTexture::TexPart structure
Removed "gaps" between members (for 64-bit targets) and initialized them in place
2018-01-13 12:44:23 +02:00
alexey.lysiuk
d95ac93376 Fixed crash when resolving multipatches with missing textures
https://forum.zdoom.org/viewtopic.php?t=59088
2018-01-13 12:41:19 +02:00
alexey.lysiuk
337bbfc88c Custom submenus are no longer removed from altered protected menu
https://forum.zdoom.org/viewtopic.php?t=59081
2018-01-12 10:51:14 +02:00
Rachael Alexanderson
ee9736fbb3 - print out FriendlySeeBlocks on 'info' ccmd
- not setting FriendlySeeBlocks on UDMF now causes the actor to use its ZScript default
2018-01-09 15:48:19 -05:00
Rachael Alexanderson
9c189e5d4b - expose a monster's 'friendlyseeblocks' to UDMF 2018-01-09 15:30:45 -05:00
Rachael Alexanderson
68cd0fad76 - fixed crash when entering 'finishgame' in the console outside of a level. 2018-01-09 20:24:25 +01:00
Rachael Alexanderson
36b6253c3d Merge branch 'FriendlySeeBlocks' into zmd5 2018-01-09 13:55:09 -05:00
Rachael Alexanderson
7416f42b47 - add 'FriendlySeeBlocks' actor property that allows a modder to expand the maximum radius that a friendly monster can see enemies. 2018-01-09 12:34:12 -05:00
Christoph Oelckers
8667987cd6 - DWaitingCommand needs to serialize its unsafe state. 2018-01-08 18:13:02 +01:00
alexey.lysiuk
6370594e17 Fixed crash on finishgame CCMD before starting new game
https://forum.zdoom.org/viewtopic.php?t=59045
2018-01-08 17:16:03 +02:00
alexey.lysiuk
b008426ed7 Added propagation of unsafe execution context to waiting command
Thanks Edward-san for pointing this out
2018-01-08 10:41:31 +02:00
Jameson Ernst
e8a7f00b9b Adjust FNF enum to fix FILLZEROS 2018-01-07 23:44:03 +01:00
alexey.lysiuk
059e40e2d5 Prohibited setting of non-mod CVARs from unsafe alias 2018-01-07 15:04:50 +02:00
alexey.lysiuk
f25a5ea2bc Marked a few commands as unsafe
This process of finding unsafe commands is not complete!
2018-01-07 15:03:49 +02:00
alexey.lysiuk
6d37a67027 Added unsafe execution context for console commands
Some console commands are insecure because they access user's file system
Such commands cannot be executed from MENUDEF and KEYCONF aliases
2018-01-07 15:02:22 +02:00
Magnus Norddahl
a23e5f49f6 - Add "fuzz software" to GL that renders fuzz like the scaled fuzz mode in the software renderer 2018-01-07 02:29:55 +01:00
Rachael Alexanderson
9fd78e90ad - export 'GetChecksum' as part of FLevelLocals in ZScript 2018-01-06 19:59:49 -05:00
Magnus Norddahl
56db2b02cc - Fix psprite not appearing when invulnerability effect is active with bloom turned on 2018-01-06 17:21:02 +01:00
alexey.lysiuk
83cd53c9b1 Added partial bounds check for instruction pointer in ACS VM
This change adds verification of instruction pointer for indirect usages only, i.e. via NEXT...() macros
2018-01-06 13:26:51 +02:00
alexey.lysiuk
44f01e1dc6 Added bounds check for local variables in ACS VM 2018-01-06 12:13:15 +02:00
Magnus Norddahl
f88d9a02df Remove bloom effect on psprites 2018-01-06 05:11:12 +01:00
alexey.lysiuk
df0cddb35d Do not output empty conversation replies to console
https://forum.zdoom.org/viewtopic.php?t=58992
2018-01-05 16:26:31 +02:00
Jonathan Russell
67e3106254 - add the default spotlight apertures in FMapThing 2018-01-04 23:31:10 +00:00
Jonathan Russell
e754fe04ef - removed the 0 check on the UDMF property, so 0 can be a valid aperture 2018-01-04 23:22:45 +00:00
Jonathan Russell
254501d3e8 - fixing last commit, which didn't seem to work correctly 2018-01-04 23:09:48 +00:00
Jonathan Russell
7f7c720883 - added UDMF properties for spotlights (args have all been used up for dynlights) 2018-01-04 22:41:57 +00:00
Magnus Norddahl
79440d7014 - Fix sprite spot light calculation 2018-01-04 19:42:52 +01:00
Magnus Norddahl
bae3620540 - Added spot light support to gl_SetDynSpriteLight 2018-01-04 19:27:03 +01:00
Magnus Norddahl
f398286162 - Fix wrong spot direction 2018-01-04 19:09:12 +01:00
Magnus Norddahl
5f36b86013 - Add dynamic spot lights 2018-01-04 17:58:11 +01:00
alexey.lysiuk
4b044e30d7 - ACS stack checking (proxy commit by Rachael) 2018-01-03 23:35:57 -05:00
Rachael Alexanderson
6aa724a9b4 - add 'gl_riskymodernpath' for computers that worked before the GL >= 3.3 modern path enforcement, since some did, but they seemed to be the exception rather than the rule. 2018-01-03 21:46:04 -05:00
alexey.lysiuk
549a9d3cf0 Extended Actor.CheckMove() with optional position information
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-03 10:48:10 +02:00
Major Cooke
c3c1e76e8a Added vector diff functions to ZScript LevelLocals class
Vec2Diff() and Vec3Diff() work like Actor’s Vec2To() and Vec3To() but use arbitrary points
2018-01-02 14:18:59 +02:00
alexey.lysiuk
c4648a2b1c Added CheckMove() function to ZScript Actor class
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-02 13:04:28 +02:00
Rachael Alexanderson
d8aa53f5b1 - whitelisted openmenu 2018-01-01 14:51:32 -05:00
alexey.lysiuk
be8147406e Fixed initialization of BlockThingsIterator objects
https://forum.zdoom.org/viewtopic.php?t=58945
2018-01-01 11:11:21 +02:00
alexey.lysiuk
2c4eae7487 Applied vertical offset to transferred sky in OpenGL renderer
https://forum.zdoom.org/viewtopic.php?t=58934
2017-12-31 21:29:27 +02:00
alexey.lysiuk
8f70d70dd6 Generalized maximum amount for give cheat
https://forum.zdoom.org/viewtopic.php?t=58930
2017-12-31 15:25:51 +02:00
alexey.lysiuk
294bf6ed53 Simplified base class checks in AActor::GiveInventory() 2017-12-31 15:23:54 +02:00
alexey.lysiuk
de4fc97ac6 Fixed ammo limit for give cheat
https://forum.zdoom.org/viewtopic.php?t=58930
2017-12-31 13:30:30 +02:00
alexey.lysiuk
40fd816d54 Improved compatibility of blocking lines handling
Only the first blocking line changes contact state during line iteration
This reverts 3b818171d5

https://forum.zdoom.org/viewtopic.php?t=57870
2017-12-31 11:34:12 +02:00
Rachael Alexanderson
a5ded11994 - load translator from gameinfo instead of Doom for UMAPINFO 2017-12-30 16:36:29 -05:00
Rachael Alexanderson
340f1fce30 - load Doom translations when parsing UMAPINFO in order to activate the correct boss specials
- one typo (only on a comment) change
2017-12-30 16:21:02 -05:00
alexey.lysiuk
8f7ca00d19 Added optional angles to player's coordinates display
Set hud_showangles CVAR to display pitch, yaw, roll below player's coordinates
2017-12-30 12:10:39 +02:00
alexey.lysiuk
a3d1efc8d6 Better angle selection for rotated automap sprites
https://forum.zdoom.org/viewtopic.php?t=58348
2017-12-30 12:08:32 +02:00
alexey.lysiuk
33213f5d5d Fixed rendering of wrapped midtex with sky ceiling
https://forum.zdoom.org/viewtopic.php?t=58311
2017-12-29 14:37:09 +02:00
alexey.lysiuk
a670e79b8a Applied texture offsets and scales on animated doors
https://forum.zdoom.org/viewtopic.php?t=58892
2017-12-29 11:47:30 +02:00
alexey.lysiuk
996bddd602 Exposed pixel stretch to ZScript as member variable instead of function
https://forum.zdoom.org/viewtopic.php?t=58539
2017-12-29 09:42:03 +02:00
alexey.lysiuk
25d53ecd2c Enabled position independent executable for generic GCC/Clang
This affects mostly Linux (and probably MinGW) as default toolchains for Windows and macOS have the corresponding option turned on by default
2017-12-29 09:39:01 +02:00
Magnus Norddahl
b8415199c9 Fix culling bug 2017-12-28 11:43:52 -05:00
Rachael Alexanderson
a441cea350 - interpolate particles 2017-12-28 11:36:36 -05:00
alexey.lysiuk
8ca3427850 Fixed applying of Doom 64 lighting to horizon portals
https://forum.zdoom.org/viewtopic.php?t=58878
2017-12-28 18:32:26 +02:00
Rachael Alexanderson
5c602b1ec0 - fixed: FSkillInfo operator "=" did not set PlayerRespawn value 2017-12-28 01:41:56 -05:00
Rachael Alexanderson
45531090a7 - add 'playerrespawn' skill flag to allow gameplay mods to retroactively enable player respawns in single player on all maps 2017-12-28 00:53:30 -05:00
Major Cooke
10465c1d27 - Fade cancelling should only always be active for A_SetBlend fades, not always for everything else (such as ACS fades). 2017-12-27 23:34:44 -05:00
Major Cooke
fa0082aef6 Added ability to perform reverse fades with A_SetBlend 2017-12-27 20:51:13 -05:00
Christopher Bruns
a3399c1af2 Fix: Bind the default framebuffer before testing whether hardware stereo 3D is supported. This allows Nvidia 3D vision glasses to function correctly when gl_light_shadowmap is ON.
Doc: Add "requires restart" to "enable quad stereo" option menu label, to help folks trying to setup 3D.
2017-12-27 17:50:53 -05:00
Major Cooke
1e7df5505e Added GetPixelStretch to LevelLocals struct. 2017-12-27 17:50:39 -05:00
alexey.lysiuk
2eb51e5f79 Disabled modifier keys processing in UI by Cocoa backend
Modifier keys no longer trigger bound actions in menu/console/chat
2017-12-25 18:14:56 +02:00
Rachael Alexanderson
205c64d4b1 - prevent level from exiting if no deathmatch starts are available in multiplayer 2017-12-24 20:48:51 -05:00
Rachael Alexanderson
000037dbf6 - implemented 'i_soundinbackground' to continue playing sounds and music while in the background.
- OpenGL rendering continues now even when losing focus while in windowed mode.
2017-12-24 18:01:45 -05:00
Rachael Alexanderson
d10304ea4e Merge commit 'refs/pull/355/head' of https://github.com/coelckers/gzdoom 2017-12-24 07:48:11 -05:00
alexey.lysiuk
a11e9ca4dc Apply compatibility flags to all map format
UDMF maps were no affected by settings in compatibility.txt
2017-12-24 10:33:29 +02:00
alexey.lysiuk
bfaa09c429 Fixed crash after restart CCMD 2017-12-23 15:48:28 +02:00
alexey.lysiuk
d50ba4954a Fixed potential crash when calling undefined function in ZScript
The following code which uses explicit class specifier led to a crash:
class C
{
	void F()
	{
		Object.Undefined();
	}
}
2017-12-23 15:27:32 +02:00
Rachael Alexanderson
b9a2398935 - added 'undocolorpic' to c_dispatch whitelist 2017-12-21 18:00:13 -05:00
Rachael Alexanderson
0e2aee7d5e - whitelist reset2saved in menudef 2017-12-20 03:21:50 -05:00
alexey.lysiuk
90c734a39f Fixed VM abort when drawing from ZScript happens during 0 game tic
https://forum.zdoom.org/viewtopic.php?t=58523
https://forum.zdoom.org/viewtopic.php?t=58780
2017-12-19 18:07:29 +02:00
alexey.lysiuk
8c60c3c532 Added bounds checks for color translation indices
ACS scripts could pass arbitrary values as palette indices leading to undefined behavior
2017-12-17 15:13:41 +02:00
alexey.lysiuk
6db8e71b14 Fixed inconsistent color remapping via translation ranges
https://forum.zdoom.org/viewtopic.php?t=58537
2017-12-17 15:13:41 +02:00
Major Cooke
ceffe1ba5f Consistent style. 2017-12-16 12:17:55 -05:00
Major Cooke
0d841ab4df - Added DMG_NO_PAIN for DamageMobj. 2017-12-16 12:17:55 -05:00
alexey.lysiuk
0afc09678f Fixed bright sprites in sectors with Doom 64 lighting
https://forum.zdoom.org/viewtopic.php?t=58703
2017-12-16 17:37:03 +02:00
alexey.lysiuk
c387574c02 Stop demo recording after ending game with menu_endgame CCMD
https://forum.zdoom.org/viewtopic.php?t=58735
2017-12-15 12:34:56 +02:00
Rachael Alexanderson
dee5d064e9 - revise last script a bit: allow certain cheats/scripts/events to be called from the menu. 2017-12-14 16:39:33 -05:00
Rachael Alexanderson
f77ba14948 - use a whitelist for DoCommand zscript command 2017-12-14 15:55:45 -05:00
alexey.lysiuk
de12902d77 Increased limit for automap empty space margin to 90%
https://forum.zdoom.org/viewtopic.php?t=58653
2017-12-14 16:18:27 +02:00
Christoph Oelckers
6b42036eb6 - fixed: AActor::UnlinkFromWorld must also destroy all portal link nodes for the calling actor. 2017-12-10 21:26:52 +01:00
alexey.lysiuk
724c997695 Fixed error check when saving GL nodes 2017-12-10 15:10:32 +02:00
alexey.lysiuk
a89bc23789 Fixed crash when loading saved game with missing ACS module 2017-12-10 13:24:16 +02:00
Rachael Alexanderson
1559d74c2c - repaired the video scaling code 2017-12-10 04:22:28 -05:00
alexey.lysiuk
ebb926e7b0 Added free space margin aka safe frame for automap
am_freespacemargin CVAR and corresponding menu options can set empty space margin for automap in percentage of zoomed out size
https://forum.zdoom.org/viewtopic.php?t=58653
2017-12-09 17:38:34 +02:00
Rachael Alexanderson
eb5da3e641 - fixed: if the level is started before the first timer call, pass an earlier timestamp to screen->FrameTime 2017-12-09 06:09:48 -05:00
alexey.lysiuk
0bd9437a96 Fixed loading of external DeHackEd patches
https://forum.zdoom.org/viewtopic.php?t=58685
2017-12-09 11:37:25 +02:00
Rachael Alexanderson
a3a350e6e8 - fixed: make level.ShaderStartTime use the same values as what screen->FrameTime normally gets. 2017-12-07 16:31:27 -05:00
Rachael Alexanderson
938cd3cabe - implemented win_borderless for fake fullscreen in Windows 2017-12-07 06:32:51 -05:00
Rachael Alexanderson
a29d9e157c - fixed: screen->FrameTime should use an adjusted frame start time 2017-12-07 03:01:57 -05:00
Rachael Alexanderson
29d2d8b3f8 - changed ttl in particle_t from short to int32_t for longer lifespan. 2017-12-07 01:54:30 -05:00
alexey.lysiuk
5162e7162e Fixed overbright screenshots with hardware gamma off
When render buffers are used to apply gamma/brightness/contrast screenshots should not use PNG gamma correction
2017-12-06 11:24:10 +02:00
Rachael Alexanderson
505c99b0a8 - fixed: doublize more internal structures, even if they still get converted to float later 2017-12-04 17:39:57 -05:00
Christoph Oelckers
6403f64a93 - use documents path to store reverbs. 2017-12-03 21:06:27 +01:00
Christoph Oelckers
4c799af293 Merge branch 'master' into reverbedit 2017-12-03 21:04:14 +01:00
Christoph Oelckers
a945418ba6 - added M_GetDocumentsPath function. 2017-12-03 21:03:44 +01:00
Christoph Oelckers
cea89ba3ae - fix backslashes in MD3 skin names. 2017-12-03 20:03:33 +01:00
Christoph Oelckers
d5445d7953 - reverb editor complete except for localization and saving to a proper place. 2017-12-03 19:56:03 +01:00
Rachael Alexanderson
0fa74220c9 - fixed: doublize sky float, in order to make it more smooth 2017-12-03 12:39:24 -05:00
Christoph Oelckers
5e1100096e - work on reverb save menu. 2017-12-03 17:04:10 +01:00
alexey.lysiuk
31b0fdc9fe Fixed directory creation for POSIX targets
Warning was reported by GCC 7 only:
cmdlib.cpp:550:13: warning: ‘info.stat::st_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2017-12-03 14:57:35 +02:00
alexey.lysiuk
5f50d60eff Restored handling of tmpfileplus() keep argument for POSIX targets 2017-12-03 14:57:35 +02:00
alexey.lysiuk
31d1018b9a Fixed compilation warnings reported by GCC/Clang
b_game.cpp:537:27: warning: more '%' conversions than data arguments [-Wformat]
g_game.cpp:2982:40: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'long' [-Wsign-compare]
2017-12-03 14:57:34 +02:00
alexey.lysiuk
f25c7ef2d5 Unified implementation of ’directory as resource file' for POSIX targets 2017-12-03 14:57:34 +02:00
Christoph Oelckers
7e45535669 Merge branch 'master' into reverbedit 2017-12-03 12:46:08 +01:00
alexey.lysiuk
8129afdd1f Fixed compilation of non-Windows targets
These are quick hacks to be improved later
2017-12-03 10:11:54 +02:00
Magnus Norddahl
52be9895b7 - Disable softpoly models 2017-12-03 00:23:28 +01:00
Christoph Oelckers
cc54db6e6d - let the 3 relevant text functions handle UTF-8 strings
These functions are: DCanvas::DrawTextCommon, V_BreakLines and FFont::StringWidth.
This will allow strings from UTF-8 encoded assets to display properly, but also handle the OpenAL device name on international systems, as this will be returned as an UTF-8 string.

Due to backwards compatibility needs the decoding function is rather lax to allow both UTF-8 and ISO 8859-1 to pass through correctly - and this also implies that it will allow mixed encodings which may happen if strings from different sources get concatenated.
2017-12-02 21:21:57 +01:00
Christoph Oelckers
7cbcbe66c0 - sanitization of temporary file stuff for Timidity++.
* do not use the global temp directory. Instead create one in the AppData folder.
* removed lots of unneeded code from tmpfileplus.
* use C++ strings in there.
2017-12-02 17:33:43 +01:00
Christoph Oelckers
f6f17fbfb4 - give tmpfileplus its own RNG.
This should not interfere with the global one which can be explicitly seeded.
It also seems a bit pointless to constantly re-seed the RNG for something this inconsequential.
2017-12-02 17:05:39 +01:00
Christoph Oelckers
e78503b770 - removed some debug stuff from tmpfileplus. 2017-12-02 16:54:24 +01:00
Christoph Oelckers
4ca3acb0e3 - made tmpfileplus a .cpp file so that it can access ZDoom's own utility code. 2017-12-02 16:51:53 +01:00
Christoph Oelckers
8627a48b34 - consolidation of 'stat' calls.
Since this is a non-standard function it's better kept to as few places as possible, so now DirEntryExists returns an additional flag to say what type an entry is and is being used nearly everywhere where stat was used, excluding a few low level parts in the POSIX code.
2017-12-02 16:07:09 +01:00
Christoph Oelckers
1afc3b48a1 - removed Q_filelength which is no longer being used. 2017-12-02 14:27:49 +01:00
Christoph Oelckers
7d0759e2fa - handled all other uses of fopen that could reasonably converted to FileReader or FileWriter. 2017-12-02 14:24:28 +01:00
Christoph Oelckers
4003e7ca11 - use FileReader for savegame loading in the menu.
- simplify the check for existing files here, since a function for doing just that already existed.
2017-12-02 14:10:42 +01:00
Christoph Oelckers
2ba029ec8d - fixed potential memory leak in M_VerifyPNG.
If the 'takereader' parameter is true, the function must delete the reader if it fails before creating the PNGHandle.
2017-12-02 14:02:51 +01:00
Christoph Oelckers
690e7d8a84 - got rid of M_WriteFile as well for the same reasons as M_ReadFile. 2017-12-02 13:18:20 +01:00
Christoph Oelckers
838e52001c - got rid of M_ReadFile(Malloc) which werew each used only once in the entire code. These were still using the low level POSIX-style file interface which shouldn't really be used anymore.
- let FScanner::OpenFile return an error instead of throwing an exception. The exception was never used anyway aside from being caught right away to be ignored.
2017-12-02 13:09:59 +01:00
Christoph Oelckers
e15b23f132 - use FileWriter for writing zip files (i.e. savegames.) 2017-12-02 12:46:25 +01:00
Christoph Oelckers
14af7818b8 - use FileReader for all operations on external lumps. 2017-12-02 12:38:38 +01:00
Christoph Oelckers
8d26760671 - use FileWriter for 'writemidi' CCMD. 2017-12-02 12:33:58 +01:00
Christoph Oelckers
1af42b3d50 - use FileWriter for the OPL dumper. 2017-12-02 12:31:21 +01:00
Christoph Oelckers
ebf5c5763e - removed the unused bitmap loading and saving features from hqnx_asm/hqnx_asm_Image. 2017-12-02 12:15:26 +01:00
Christoph Oelckers
623f35073c - use FileReader consistently for loading cached nodes. 2017-12-02 12:08:28 +01:00
Christoph Oelckers
37dc3211f7 - use FileReader for reading the play list. 2017-12-02 12:02:36 +01:00
Christoph Oelckers
ab58e4acb0 - use FileWriter for the AST dump. 2017-12-02 12:01:55 +01:00
Christoph Oelckers
5e7dfa7cce - use FileWriter for the Timidity MIDI dumper 2017-12-02 12:01:19 +01:00
Christoph Oelckers
e8735e2782 - use FileWriter to save the statistics file. 2017-12-02 11:59:31 +01:00
Christoph Oelckers
20b8c1ef70 - moved buildtexture.cpp from using stdio-based file IO to FileReader. 2017-12-02 11:57:32 +01:00
Christoph Oelckers
e1edb46bbb - - let FWadLump use the newly added fdopen function. 2017-12-02 11:56:26 +01:00
Christoph Oelckers
9cc8bab102 - only have one fopen call in the entire FileReader hierarchy
This is for an eventual implementation of UTF-8 handling. On Windows this will require replacement of fopen with _wfopen so let's try to keep the number of fopen calls low.
2017-12-02 11:55:50 +01:00
Christoph Oelckers
cbd2fd34a0 - added seeking capabilities to FileWriter class. 2017-12-02 11:51:37 +01:00
alexey.lysiuk
0d05b41f22 Fixed incomplete ACS string pool state after loading of saved game
https://forum.zdoom.org/viewtopic.php?t=58571
2017-12-02 11:51:52 +02:00
Magnus Norddahl
a8b79a28c8 - Disable model rendering in the software renderer 2017-11-29 22:18:21 +01:00
Rachael Alexanderson
6c4f6f94f4 - fixed: prevent i_timescale from freezing the game if set to too low a value 2017-11-29 08:41:09 -05:00
Rachael Alexanderson
12a44f5bc9 - prevent nanosecond timer from ever casting into a double 2017-11-29 07:43:17 -05:00
Magnus Norddahl
8cad912db1 - Add r_model_distance_cull to control when models turn into sprites 2017-11-29 01:09:26 +01:00
Magnus Norddahl
b621dccb9c - Improve weapon hud model in the software renderer 2017-11-29 00:33:37 +01:00
Magnus Norddahl
f9fb4a0a17 - Cull back facing triangles for the span drawers 2017-11-29 00:12:15 +01:00
Magnus Norddahl
fae514923a - Move depth testing out of span drawers 2017-11-28 23:08:28 +01:00
Magnus Norddahl
01fd404133 - Fix palette drawer crash 2017-11-28 22:03:51 +01:00
Magnus Norddahl
e0defb060d - Add a slightly faster truecolor model drawer 2017-11-28 21:38:02 +01:00
Magnus Norddahl
d43ac8b9ae - Add model rendering to the software renderer 2017-11-27 23:47:26 +01:00
Christoph Oelckers
a069949482 - connected reverb menu with its backing data
- added an entry to the main options menu to open the reverb editor.
2017-11-26 20:11:14 +01:00
Christoph Oelckers
57058ef727 - removed all remains of the old EAX editor. 2017-11-26 15:23:07 +01:00
Christoph Oelckers
1ed1b42c21 Safety commit. 2017-11-26 14:13:56 +01:00
Christoph Oelckers
78184ad6b5 - more work on reverb menu. 2017-11-26 10:16:21 +01:00
alexey.lysiuk
0667f2ec55 Fixed string format issues reported by GCC/Clang
d_net.cpp:2874:25: warning: format specifies type 'int' but the argument has type 'unsigned long long' [-Wformat]
gl/utility/gl_clock.cpp:240:38: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:71: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:80: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
2017-11-26 09:59:28 +02:00
Christoph Oelckers
3ae5f8c09f - initial work on a reverb editor based on the menu system.
This is to get rid of some ugly Windows code and make this platform independent.
2017-11-25 22:03:18 +01:00
alexey.lysiuk
eeba7a7cdf Fixed tics to seconds conversion
Correct time values are now displayed in HUD
2017-11-25 16:32:53 +02:00
Christoph Oelckers
e43a9aa5b5 - don't let models.cpp include gl_system.h. 2017-11-25 13:56:17 +01:00
Christoph Oelckers
836970f012 - moved the matrix code out of 'gl' because the model code also needs it. 2017-11-25 13:51:09 +01:00
Magnus Norddahl
637a9dff9b - Rename voxels.cpp to models_voxel.cpp to avoid having two source files with the same name (confuses debuggers and some build tools) 2017-11-25 13:22:59 +01:00
Magnus Norddahl
7bb92812b8 - Move models into r_data 2017-11-25 13:19:00 +01:00
Magnus Norddahl
679f42db78 - Remove model GL dependencies except for the matrix classes 2017-11-25 13:00:44 +01:00
Magnus Norddahl
56477c8f89 - Fix 'Requested invalid render buffer sizes' when executing the reverbedit command from fullscreen 2017-11-25 12:20:00 +01:00
Magnus Norddahl
b25f191e85 - Move shared model code out of the GL renderer 2017-11-25 12:11:57 +01:00
Christoph Oelckers
430ed532ef Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-25 11:37:46 +01:00
Christoph Oelckers
87816f811f - removed windows.h include from a few files which do not need it anymore. 2017-11-25 10:58:33 +01:00
alexey.lysiuk
074a8e4895 Fixed issue with endless waiting for next tic
https://forum.zdoom.org/viewtopic.php?t=58426&p=1028622#p1028547
2017-11-25 11:48:38 +02:00
alexey.lysiuk
0f5ff5a5de Removed obsolete files after timer code refactoring 2017-11-25 11:48:22 +02:00
Magnus Norddahl
a120a4657e - Apply viewpoint roll 2017-11-24 22:03:46 +01:00
Rachael Alexanderson
6d43c5cdc6 Merge remote-tracking branch 'origin/friendly_window_title' 2017-11-24 14:41:25 -05:00
Rachael Alexanderson
5e29b1c89c Merge branch 'newtimercode4' 2017-11-24 14:39:58 -05:00
Rachael Alexanderson
c80c2ba635 - added 100% CPU fix provided by Leonard2: https://forum.zdoom.org/viewtopic.php?p=1028500#p1028500 2017-11-24 14:38:55 -05:00
Christoph Oelckers
ed871c3bf8 Merge remote-tracking branch 'remotes/origin/texman_models' 2017-11-24 19:14:08 +01:00
Rachael Alexanderson
297f00aa4b - fix model rotation some more
- a couple compiler warning fixes
2017-11-23 22:37:07 -05:00
Rachael Alexanderson
5181e3ebb2 - rewound time from 2917 to 2017. At least, at this point, we know ZDoom's future is secure. 2017-11-23 22:04:42 -05:00
Rachael Alexanderson
3842071b23 - implemented i_timescale to control the flow of time. 2017-11-23 21:54:04 -05:00
Rachael Alexanderson
1f00810f40 - re-doubled the model rotation code 2017-11-23 21:27:16 -05:00
Rachael Alexanderson
16e6fbf5bf - commit fix - todo: need to re-double/floatify the model timers again 2017-11-23 21:12:50 -05:00
Rachael Alexanderson
fd5b8cdbf7 Merge remote-tracking branch 'origin/master' into newtimercode4
# Conflicts:
#	src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
00d7dd0c64 - Implement model rendering in softpoly 2017-11-24 00:39:10 +01:00
Magnus Norddahl
f1e7df542f - Create model renderer abstraction to share more model drawing between renderers 2017-11-24 00:38:52 +01:00
Christoph Oelckers
734f5104dd Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-22 21:43:01 +01:00
Christoph Oelckers
978fdfb273 - tested and fixed UMAPINFO parser.
Although this looks like it's working with the test file I used it still needs some stress testing!
2017-11-22 21:42:48 +01:00
Magnus Norddahl
e7e9d1a942 - Fixed bug introduced by removing a little bit too much from the rect drawers 2017-11-22 19:02:25 +01:00
Magnus Norddahl
9052ee6bc8 - Added scaled fuzz to softpoly pal drawer 2017-11-22 18:54:49 +01:00
Magnus Norddahl
f04fca75f7 - Add scaled fuzz to softpoly sse2 drawer 2017-11-22 18:46:45 +01:00
Magnus Norddahl
4e4f94db2f - Implement newer scaled fuzz in softpoly's truecolor non-sse drawer 2017-11-22 06:32:55 +01:00
Magnus Norddahl
0ef8105e6b - Add missing r_draw.cpp in CMakeLists.txt 2017-11-21 18:57:44 +01:00
Rachael Alexanderson
495fc79fe9 - added dpJudas's drawer fix for the upscaled fuzz drawing 2017-11-21 05:26:46 -05:00
Rachael Alexanderson
505da5bf4f Merge branch 'master' of https://github.com/coelckers/gzdoom into newtimercode4 2017-11-21 05:23:00 -05:00
Rachael Alexanderson
47e9975e90 - fixed a couple of fixes from the previous commit 2017-11-21 05:20:02 -05:00
Rachael Alexanderson
2bc86b52c8 - fixed a few of the more obvious logic errors 2017-11-21 04:06:24 -05:00
Magnus Norddahl
5532266b14 - Fix softpoly sprite positioning bug 2017-11-20 22:43:44 +01:00
Christoph Oelckers
6389b6b914 - UMAPINFO parser, including some convenience additions to FScanner.
Not tested yet!
2017-11-19 23:04:15 +01:00
alexey.lysiuk
cf9a364f71 textures for models 2017-11-19 18:02:14 +02:00
Christoph Oelckers
f0dc619b5b - fixed bad use of FScanner::GetNumber and GetFloat in code inherited from ZDoomGL.
This could lead to bad error messages if some malformed definitions were used.
2017-11-19 15:30:45 +01:00
Rachael Alexanderson
de19efa79d - trying again: fix shader targets being case sensitive 2017-11-19 04:48:30 -05:00
Rachael Alexanderson
351de94311 - fixed: Accidentally committed in-progress work... again
Partial Revert "- fixed: Made shader targets not case sensitive"

This reverts commit 2c24d2e047.
2017-11-19 04:46:52 -05:00
Rachael Alexanderson
2c24d2e047 - fixed: Made shader targets not case sensitive 2017-11-19 04:41:07 -05:00
Rachael Alexanderson
f1405f68a7 Merge remote-tracking branch 'origin/master' into friendly_window_title 2017-11-18 14:08:33 -05:00
alexey.lysiuk
c2b4efbea0 Fixed applying of brightmaps to overridden textures
https://forum.zdoom.org/viewtopic.php?t=58444
2017-11-18 17:07:42 +02:00
raa-eruanna
28d47d463f - fix linux compile
# Conflicts:
#	src/posix/sdl/sdlvideo.cpp
2017-11-18 08:20:58 -05:00
alexey.lysiuk
35bb9ba9d3 Implemented setting of window title in Cocoa backend
# Conflicts:
#	src/posix/cocoa/i_video.mm
2017-11-18 08:19:15 -05:00
Rachael Alexanderson
c3c637a0cc - set i_friendlywindowtitle to true by default 2017-11-18 08:17:18 -05:00
alexey.lysiuk
80b47cafb4 Fixed detection of the first entry from internal IWADINFO
https://forum.zdoom.org/viewtopic.php?t=58333
2017-11-18 14:37:12 +02:00
Rachael Alexanderson
e867d75712 Merge remote-tracking branch 'origin/master' into newtimercode4 2017-11-15 22:33:27 -05:00
Rachael Alexanderson
e418663a26 - fixed: Reverted an accident in a previous commit where I_StartTic() was moved inappropriately. The new location fixed a mouse stutter, however, it causes net desyncs so it cannot be used here. 2017-11-15 22:20:55 -05:00
Rachael Alexanderson
909daadd75 - update more millisecond-storing data structures to u/int64_t to fix possible rollover bugs 2017-11-15 20:33:08 -05:00
Christoph Oelckers
16fa0cba21 - fixed comparison.
The timer reset must also occur when the values are equal, meaning they got set during the same millisecond.
2017-11-15 18:02:41 +01:00
Rachael Alexanderson
ab32cb4c88 - track level start time for the shader system, reset the shaders. 2017-11-15 11:06:21 -05:00
Rachael Alexanderson
d2bc24737b - put in timer resets for the shader system, so that they can continue being passed as floats 2017-11-14 22:46:28 -05:00
Rachael Alexanderson
763222b571 - fixed: high uptime was causing overloads in uint32_t and float structures (float losing loss of precision) - this caused any computer online for more than a few days to experience jankiness with internal animations such as rotations and shader timers. Unfortunately, this sounds the death knell for 32-bit platforms, since uint64_t is now required in time-critical structures, which will hurt performance tremendeously, but 64-bit systems will be unaffected. 2017-11-14 16:15:25 -05:00
Christoph Oelckers
5935e14c09 - exported P_Thing_Warp to ZScript. 2017-11-13 21:00:17 +01:00
Christoph Oelckers
0323f54384 - rename I_FPSTime function.
- now that the frame buffer stores its render time, the 'ms' return from I_GetTimeFrac is not needed anymore, we may just as well use the globally stored value instead.

The only feature this value was ever used for was texture warping.
2017-11-13 00:54:32 +01:00
Christoph Oelckers
96e9eadd97 - removed I_MSTime entirely after checking how the wipe code actually works.
Since this calls I_WaitVBL, which resets the frame time, it was essentially just like calling a real-time timer anyway and nothing in it required a specific 0-timepoint.
The same applies to the ZScript interface. All it needs is a millisecond-precise timer with no semantics attached.
2017-11-13 00:38:04 +01:00
Christoph Oelckers
2c65f08011 - more timer cleanup
* store the frame time in the current screen buffer from where all render code can access it.
* replace some uses of I_MSTime with I_FPSTime, because they should not use a per-frame timer. The only one left is the wipe code but even this doesn't look like it needs either a per-frame timer or a timer counting from the start of the playsim.
2017-11-13 00:28:43 +01:00
Christoph Oelckers
e94109f1c3 - Inside the renderer, use only the time value being passed to RenderView.
The voxel rotation code of the software renderer and R_SetupFrame still called I_FPSTime directly.
2017-11-12 23:53:46 +01:00
Christoph Oelckers
f54475b1f1 - I_FPSTime may not return the time at frame start.
This is used for real-time profiling and as such needs to return the current time or most of its uses will break.
2017-11-12 23:39:48 +01:00
Christoph Oelckers
93e9c383fa - get the timer used for animation only once at the very beginning of the frame and pass it on to the renderer to avoid any dependencies on the timer's implementation. 2017-11-12 18:51:11 +01:00
Christoph Oelckers
0289d9ad9f - the timing compensation which was necessary for millisecond-precise timing is not needed anymore with nanoseconds. 2017-11-12 13:49:53 +01:00
alexey.lysiuk
5d83ee5e89 Exposed String.Remove() function to ZScript
https://forum.zdoom.org/viewtopic.php?t=58402
2017-11-12 14:44:21 +02:00
Magnus Norddahl
efa7c3cacf - Fix typo in I_FPSTimeNS 2017-11-12 13:22:52 +01:00
Magnus Norddahl
e3141a4af3 - Upgrade timer code to use nanosecond accuracy internally 2017-11-12 12:57:19 +01:00
Christoph Oelckers
0db0f2f7b9 - removed redundant POSIX version of I_WaitVBL 2017-11-12 12:12:51 +01:00
Christoph Oelckers
e50b012c87 - fixed: Model rotation should use the time of the current frame's start, not the time of the time of processing the particular actor.
Reading the time directly would result in different values for different viewpoints in a scene or for different objects in the same scene which is not how this is supposed to work.
2017-11-12 12:04:11 +01:00
alexey.lysiuk
285834ae5b Fixed return state of player entered event
https://forum.zdoom.org/viewtopic.php?t=58433
2017-11-12 11:03:08 +02:00
Christoph Oelckers
d9808e6d68 - there were still some old definitions left... 2017-11-12 10:02:29 +01:00
Christoph Oelckers
6bd76d6b5a - fixed compilation in debug mode.
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
Magnus Norddahl
7d63c3324d - Fix macOS compile errors 2017-11-12 03:51:37 +01:00
Magnus Norddahl
307d8931d8 - Switch to C++11 steady clock
- Move the C++11 implementation to d_main
- Remove the platform specific timer implementations
2017-11-12 03:12:22 +01:00
Magnus Norddahl
090943eaa4 - Fix freeze interpolation bug 2017-11-11 17:28:38 +01:00
Magnus Norddahl
28401cd674 - Rewrite win32 game tick timer backend to use performance counters and only calculate values once per frame 2017-11-11 17:28:20 +01:00
Rachael Alexanderson
cdf0733c8b - added latching CVARs to CVARINFO 2017-11-11 09:37:41 -05:00
Rachael Alexanderson
5716dfe050 - put limits on A_SoundVolume 2017-11-10 08:21:28 -05:00
alexey.lysiuk
0e706bfecf Use tmpfileplus() instead of tempnam()
Finally get rid of security or deprecated warnings cause by tempnam() function usage
2017-11-07 11:50:07 +02:00
alexey.lysiuk
e6c9ccf3a1 Changed tmpfileplus() to our needs
Removed exclusive flag, made it C++ friendly, replaced unlink() with remove()
2017-11-07 11:13:53 +02:00
alexey.lysiuk
e60c6d35c3 Added tmpfileplus 2.0.0
https://www.di-mgt.com.au/c_function_to_create_temp_file.html
https://www.di-mgt.com.au/tmpfileplus-2.0.0.zip
2017-11-07 11:13:53 +02:00
Chris Robinson
f353f8b5aa Improved OpenGL profile selection in SDL backend
https://forum.zdoom.org/viewtopic.php?t=56852
2017-11-07 11:05:06 +02:00
Major Cooke
d422392b94 Extended LineAttack() with offsets and new flags
Added forward and side offsets for LineAttack() function
Added absolute offset and absolute position flags for LineAttack() function
2017-11-07 11:02:54 +02:00
alexey.lysiuk
4beefb7007 Removed warning for uninitialized variables in ZScript
This reverts commit 8104ef5189
2017-11-06 15:38:28 +02:00
Magnus Norddahl
d4ebe51e83 - Place the HUD model correctly in the world so that shader light calculations work 2017-11-05 15:35:03 +01:00
Magnus Norddahl
23e5d81746 - Implement VSMatrix::inverseMatrix 2017-11-05 15:32:42 +01:00
alexey.lysiuk
61ead4f470 Better STL compatibility for array iterator
Extended iterator with types and functions required to use array objects in STL algorithms
2017-11-05 15:20:25 +02:00
alexey.lysiuk
274951839a Removed unused parameter from several functions in FStateDefinitions class
src/p_states.cpp:724:54: warning: parameter ‘actor’ set but not used [-Wunused-but-set-parameter]
https://forum.zdoom.org/viewtopic.php?t=58364
2017-11-05 15:20:25 +02:00
Magnus Norddahl
bd08568b90 - Fix wrong math for model/light distance check 2017-11-05 13:28:56 +01:00
Christoph Oelckers
fafc636476 - allow allocating constructor of TArray to also reserve the allocated data and use this to properly handle the precalc arrays for the texture resizer. 2017-11-03 17:27:32 +01:00
alexey.lysiuk
8104ef5189 Added warning for uninitialized variables in ZScript
https://forum.zdoom.org/viewtopic.php?t=57868
2017-11-03 16:23:41 +02:00
alexey.lysiuk
dac5777a70 Removed obsolete declarations from codegen.h 2017-11-03 12:44:28 +02:00
alexey.lysiuk
81ea9fb372 Added runtime check for negative array indices in VM
https://forum.zdoom.org/viewtopic.php?t=57886
2017-11-02 18:01:13 +02:00
alexey.lysiuk
57de598e48 Added implicit scope for if/else, while and do/while statements in ZScript
Scope is added only for variable or constant definition so it will no longer leak to outer scope
https://forum.zdoom.org/viewtopic.php?t=57848
2017-11-02 17:10:54 +02:00
alexey.lysiuk
587f6f0f91 Added wait for debugger feature to Cocoa backend
Use -wait_for_debugger command line switch to display message box on startup
It's available in Debug configuration only
2017-11-02 14:49:08 +02:00
alexey.lysiuk
de7d8995d5 Added string representation of 'static const' token
No more 'Unknown(-141)' in 'Expecting ...' error message
2017-11-02 14:45:35 +02:00
alexey.lysiuk
62e91b23bd Extended String.LastIndexOf() with endIndex parameter
https://forum.zdoom.org/viewtopic.php?t=57326
2017-11-01 15:24:05 +02:00
raa-eruanna
7d4f8af245 - fixed compile on Linux and (maybe?) Mac 2017-11-01 04:13:10 -04:00
Rachael Alexanderson
d313ef4b61 - de-init DoomStartupInfo on 'restart' ccmd so that the window title always contains the correct game information. 2017-10-31 20:00:58 -04:00
Rachael Alexanderson
d16ad3dcb5 - added I_FriendlyWindowTitle cvar, which takes the current game/mod name and uses it as a default window title. 2017-10-31 19:47:56 -04:00
alexey.lysiuk
415ed57713 Added Wads.CheckNumForFullName() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 15:11:49 +02:00
alexey.lysiuk
2f45218f70 Added Wads.ReadLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
91fda180de Added Wads.FindLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
c4865d2bb6 Exposed string split functionality to ZScript
https://forum.zdoom.org/viewtopic.php?t=58114
2017-10-28 11:44:12 +03:00
alexey.lysiuk
3b3f2e20cc Added ability to split FString on tokens
https://forum.zdoom.org/viewtopic.php?t=58114
2017-10-28 11:44:12 +03:00
alexey.lysiuk
40a348b1f1 Fixed potential crash in resolving of multiple assignment
https://forum.zdoom.org/viewtopic.php?t=58055
https://forum.zdoom.org/viewtopic.php?t=58237
2017-10-27 18:15:24 +03:00
Rachael Alexanderson
2fd5d0da54 - improve speed for ARMv7 processors by specifying hardware float calculations, and tuning it specifically for the Cortex-a7 CPU (for Raspberry Pi 2). 2017-10-25 09:31:55 -04:00
alexey.lysiuk
5f7a06c66e Fixed non-portable usage of __solaris__ preprocessor definition
GCC: this use of "defined" may not be portable [-Wexpansion-to-defined]
Clang: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
2017-10-24 15:32:43 +03:00
alexey.lysiuk
f40a31409d Added ability to get texture name from script
Use TexMan.GetName(TextureID tex) member function
2017-10-24 11:11:33 +03:00
Rachael Alexanderson
66773b6a1a - added 'classicflight' user cvar which allows players to move forward and backward without pitch when flying 2017-10-23 12:16:02 -04:00
alexey.lysiuk
50d39771c0 Fixed out of bound read in zip file loader 2017-10-23 12:31:39 +03:00
alexey.lysiuk
cb982ec313 Use FString::Back() when possible
Changed usages of str[str.Len() - 1] to str.Back()
2017-10-23 11:55:20 +03:00
alexey.lysiuk
d526ddf7ae Extended FString class with functions to get first and last characters 2017-10-23 11:49:54 +03:00
alexey.lysiuk
3e43572a87 Added move semantics to FString class 2017-10-23 11:48:04 +03:00
alexey.lysiuk
7d97963005 Reduced code duplication in FString class
Moved resetting of string data to null value into own function
2017-10-23 11:45:58 +03:00
David Carlier
b871b1898d OpenBSD build fix.
- No timidity user defined parameters supported.
- Shared libraries versioning policy differs on OpenBSD.
2017-10-21 14:49:41 -04:00
alexey.lysiuk
724d711d1f Fixed a few cases when IWAD was checked by hardcoded index 2017-10-21 11:10:36 +03:00
alexey.lysiuk
13584b9a9d Fixed applying of compatibility settings for IWADs
https://forum.zdoom.org/viewtopic.php?t=58239
2017-10-21 10:47:13 +03:00
Dugan Chen
4f5b459703 Remove SHARE_DIR from FileSearch.Directories for *nix 2017-10-15 07:56:09 -04:00
Rachael Alexanderson
07c3291262 - fixed: removed erroneous 'defaultrespawntime' macro double so that there's only one 2017-10-14 17:44:17 -04:00
Rachael Alexanderson
4fb355d8da - added 'startuptype' to iwadinfo, allowing to change the game startup screen with custom iwads 2017-10-14 17:41:43 -04:00
Rachael Alexanderson
30c6cf82ca - added ability to change slider color using mapinfo's gameinfo 2017-10-14 13:05:15 -04:00
Rachael Alexanderson
0ccd388d91 - reverted the texture flip from the previous commit 2017-10-12 12:44:00 -04:00
Rachael Alexanderson
1b6f77a473 - fixed: inverted vertically texture uniforms for custom post-process shaders, and also changed their input format to BGRA to match the standard. 2017-10-12 11:54:56 -04:00
Dugan Chen
2e4ffbb1d1 If *nix, add default gzdoom.pk3 directory t File.Search paths 2017-10-12 10:46:26 -04:00
Leonard2
80701927e8 Fixed: don't interpolate view movements if a key press didn't result in any changes. 2017-10-11 19:01:37 +02:00
Rachael Alexanderson
7d67d5e998 - fixed possible erroneous comparison, also fixed a couple compiler warnings in the process 2017-10-10 07:23:05 -04:00
Rachael Alexanderson
fc0ae896b2 - remove vid_tft and vid_nowidescreen and associated menu option. Their functionality was supersceded and extended by vid_aspect==3 (which has the same effect as setting both to true anyhow), and it was mostly just redundant. 2017-10-10 06:38:07 -04:00
Rachael Alexanderson
69abf095c9 - added vid_cropaspect. This cvar turns vid_aspect into a letterboxing function that will crop the unused sides of the screen away, instead of stretching it. Requires one of the non-legacy OpenGL framebuffers to work. 2017-10-07 20:18:37 -04:00
Rachael Alexanderson
44373b414f - bump for 3.3pre 2017-10-07 19:36:42 -04:00
alexey.lysiuk
65966badb2 Fixed crash on attempt to register IDs for undefined class
https://forum.zdoom.org/viewtopic.php?t=46670&start=16#p1021785
2017-10-07 16:30:49 +03:00
alexey.lysiuk
57ecc4ce30 Removed the last deprecated method in Cocoa backend
src/posix/cocoa/i_input.mm:482:36: warning: 'convertScreenToBase:' is deprecated: first deprecated in macOS 10.7 - Use -convertRectFromScreen: instead [-Wdeprecated-declarations]
2017-10-07 15:13:59 +03:00
alexey.lysiuk
7a43fa6ed7 Cocoa window uses OpenGL 2.1 for software renderer 2017-10-07 15:13:41 +03:00
alexey.lysiuk
557958577b Removed all code needed to support macOS earlier than 10.7 Lion 2017-10-07 15:11:30 +03:00
AntiBlueQuirk
9e07babde5 Fixed flags when demoting interactive portals
Interactive portals demoted to visual due to not having a back-sector would not have their interactive flag properly cleared.
2017-10-03 08:15:14 +02:00
AntiBlueQuirk
4884a1f785 Fixed bugs with Line_PortalSetTarget and added more portal geometry warnings
- A bug exists where portals that have been deactivated with Line_PortalSetTarget cannot be reactivated, even if given a valid target.
- Another bug exists where portals that were created in an inactive state (using a target line tag of 0) could never be activated. (Even with the above bugfix.)
- Linked portals that have been demoted to teleport portals because they do not have a return portal now emit a warning.
- Portals that are supposed to be traversable, but do not have back-sector now demote to visual portals and emit a warning, because nothing could ever possibly traverse them anyway.
2017-10-03 08:15:14 +02:00
Chris Robinson
bbaec90f61 Fix speed of sound and unit scale 2017-10-01 07:39:26 +02:00
Magnus Norddahl
e71e4b6dc8 - Improved transfer heights support in softpoly 2017-09-30 23:58:11 +02:00
Magnus Norddahl
0ee021a972 - Improve transfer heights support in softpoly 2017-09-29 05:23:17 +02:00
Rachael Alexanderson
3031d48bfb - added TID to actorlist and similar commands output 2017-09-28 11:34:01 -04:00
alexey.lysiuk
48f9e53580 Added better error message for invalid class/struct member
https://forum.zdoom.org/viewtopic.php?t=57959
2017-09-24 10:25:05 +03:00
Magnus Norddahl
cfc1bfd1e2 - Fixed FxPow::Resolve not specifying the ValueType 2017-09-24 01:15:58 +02:00
Magnus Norddahl
d7164ba4e1 - Don't apply dynamic light to fullbright sprites 2017-09-23 16:22:22 +02:00
Magnus Norddahl
5ffd26abeb - Add dynamic lights to the non-sse true color drawer 2017-09-23 15:51:40 +02:00
Magnus Norddahl
f3ba92f03c - Add dynamic light to sprites 2017-09-23 14:14:59 +02:00
JimmyZD
abc8e4deac Added four text colors: ice, fire, sapphire, teal
https://forum.zdoom.org/viewtopic.php?t=57942
2017-09-23 11:56:16 +02:00
alexey.lysiuk
f174111128 Fixed read beyond buffer boundary during font color parsing
Printing of string that ends with '\c' led to undefined behavior
Example: 'echo \c' in console
2017-09-23 11:57:06 +03:00
Magnus Norddahl
789214200c - Attenuated lights support 2017-09-23 02:27:39 +02:00
AraHaan
e15a84f062 Changed Fatal Error Dialog title.
This is to match all the parts that says GZDoom.
2017-09-22 19:13:08 +02:00
Magnus Norddahl
ca2ef805b8 - Implement the affine part of the dynamic lights in the softpoly TC SSE2 drawer 2017-09-22 00:57:51 +02:00
Magnus Norddahl
94a33229cc - Remove unused function argument 2017-09-22 00:56:14 +02:00
Magnus Norddahl
dd8a114bb8 - Initial dynamic light support for softpoly 2017-09-21 05:39:16 +02:00
Magnus Norddahl
afdeed305b - Fix typo 2017-09-21 04:39:40 +02:00
Magnus Norddahl
59ee89b622 - Make the relationship between TriMatrix, TriVertex and ShadedTriVertex more clean 2017-09-21 01:21:21 +02:00
Magnus Norddahl
b6b78176d2 - Add FVector4 and DVector4 to the family of vectors 2017-09-21 00:42:06 +02:00
David Carlier
9f742f8aaa fixing wrong free calls 2017-09-17 11:34:46 +03:00
alexey.lysiuk
e081a0d810 Fixed crash on attempt to get actor state named 'None'
https://forum.zdoom.org/viewtopic.php?t=57885
2017-09-17 11:25:55 +03:00
Rachael Alexanderson
e6b6cb354b - fixed: playersprite in the classic software renderer was acting oddly with a forced aspect ratio, similar to the bug fixed in ac566f4 2017-09-16 16:09:00 -04:00
alexey.lysiuk
1eda8aba6b Fixed name comparison in checking of IWADINFO lump
https://forum.zdoom.org/viewtopic.php?t=57835
2017-09-16 17:02:08 +03:00
Magnus Norddahl
afab50b489 - Added subdivision coverage testing and an alternative triangle renderer for speed comparison 2017-09-16 15:48:39 +02:00
alexey.lysiuk
52634dbec1 Fixed compilation warning reported by GGC/Clang
src/w_wad.cpp:284:20: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
2017-09-16 12:54:09 +03:00
Rachael Alexanderson
72054fb5e2 - implemented pixelratio for the classic software renderer 2017-09-16 05:26:18 -04:00
Rachael Alexanderson
3531f3e285 - Use a FreeDoom sprite for deadguy.bmp - much better than a red circle with an exclamation point on it. 2017-09-16 04:16:14 -04:00
Rachael Alexanderson
ae4dad64f7 - fixed: Do not attempt to look up negative IWAD indices. 2017-09-13 18:23:53 -04:00
Rachael Alexanderson
765646ee1c - fixed: Changed IWAD_FILENUM to a dynamic lookup. 2017-09-13 04:19:03 -04:00
Rachael Alexanderson
ffa11dec54 - added bounds checker for all calls to vid_scalemode code - apparently it was possible to start gzdoom with vid_scalemode==8 from previous valid values and cause it to crash. 2017-09-13 02:45:37 -04:00
Rachael Alexanderson
f1676c3d75 Merge branch 'archive_split' 2017-09-12 19:27:22 -04:00
Rachael Alexanderson
ac566f4a84 - fixed: PlayerSprite in softpoly was not calculated correctly. Sprite will now not go all sorts of crazy places when you enable alternative scaling or forced aspect modes. 2017-09-12 15:56:35 -04:00
Rachael Alexanderson
8454e09694 - fixed: I was using the wrong check to determine which renderer was in use. Ooops. It now checks for the actual (active) renderer rather than the state of vid_glswfb 2017-09-12 14:32:29 -04:00
Rachael Alexanderson
1e4d7534c4 - remove gl_legacy_mode check in the glswfb 2017-09-12 08:57:27 -04:00
Rachael Alexanderson
79fc219afd - allow OpenGL 3.0 MESA drivers to use vid_glswfb 2017-09-12 08:18:22 -04:00
Magnus Norddahl
d0fbdd1314 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-09-12 02:40:29 +02:00
Magnus Norddahl
70220fb4cc - Slightly improve softpoly opaque pass performance 2017-09-12 02:40:09 +02:00
alexey.lysiuk
f5f7cd9fed Fixed broken FOV in SetCameraToTexture() ACS function 2017-09-11 12:22:22 +03:00
nashmuhandes
d80f9634e3 Change default shadowmap quality to 512 at dpJudas's advice (https://forum.zdoom.org/viewtopic.php?p=1016143#p1016143) 2017-09-10 12:46:55 -04:00
nashmuhandes
3ff1597640 Change minimum shadowmap quality to 128. 2017-09-10 12:46:55 -04:00
Rachael Alexanderson
4b82bb50df - removed scale resolutions and added vid_scalefactor to replace them. 2017-09-10 12:29:07 -04:00
Magnus Norddahl
0924cc3f0f - Fix crash when switching levels 2017-09-10 17:11:17 +02:00
Magnus Norddahl
4d671fb618 - Improve softpoly culling performance 2017-09-10 16:29:57 +02:00
Rachael Alexanderson
432afd9edf - privatized the namespace in r_videoscale.cpp completely 2017-09-10 09:50:49 -04:00
Rachael Alexanderson
86a66cd554 - refactored r_videoscale.cpp to use a table.
- reordered vid_scalemode modes to be a little neater, having static modes and scalar modes separate, with a buffer in between so new modes can be added in the future without disrupting the current order.
2017-09-10 09:41:03 -04:00
Chris Robinson
666198dec8 Don't allow Timidity++ pipes less than 20ms
This prevents Timidity++ from playing externally, so it now always goes through
the sound system. Aside from the issues relating to controlling playback, that
functionality has been busted for who knows how long anyway since Open() always
tries to create a pipe and sound stream regardless of the calculated size.
2017-09-10 07:25:29 -04:00
Chris Robinson
1b1f8d605f Add menu entries for selecting the timidity config 2017-09-10 07:25:29 -04:00
Chris Robinson
49df5a7f16 Add a cvar for the timidity++ config file 2017-09-10 07:25:29 -04:00
Chris Robinson
8f8c2ef2ef Build Timidity++ args separately on non-Windows
Rather than building a command line that's going to be manually split into
individual arguments passed to execvp, build the individual arguments directly.
2017-09-10 07:25:29 -04:00
Chris Robinson
5b3fbfde6d Read all data from the Timidity++ pipe
For non-Windows systems, read() may be non-blocking and can return less than
the requested amount if the timidity process hasn't written enough audio yet.
2017-09-10 07:25:29 -04:00
Rachael Alexanderson
67936a2630 - added: m_showinputgrid == '-1' allows for on-screen keyboard to never show, even when using a mouse 2017-09-10 07:04:00 -04:00
Rachael Alexanderson
69b85753f2 Merge remote-tracking branch 'origin/master' into archive_split 2017-09-10 05:57:56 -04:00
Magnus Norddahl
5ab0f34aca - Don't draw 3d floor walls that have zero height or less 2017-09-10 02:18:07 +02:00
Magnus Norddahl
4706c56690 - Fix portals crashing softpoly 2017-09-10 02:17:18 +02:00
Rachael Alexanderson
76f805062a - updated icon for linux/unix 2017-09-09 13:18:47 -04:00
Rachael Alexanderson
bcc5830467 - don't call BaseFileSearch inside of d_iwad.cpp since it is supposed to be treated as a private function. 2017-09-09 06:37:08 -04:00
Rachael Alexanderson
9a7f727aa4 - fixed: zd_extra.pk3 now loads before the iwad. 2017-09-09 06:21:40 -04:00
Rachael Alexanderson
9d2b114657 - rename gzdoom_optional_assets.pk3 to zd_extra.pk3 2017-09-09 05:54:06 -04:00
alexey.lysiuk
8a37356c33 New .icns macOS icon from the same images as Window .ico 2017-09-09 11:28:33 +03:00
Rachael Alexanderson
7cc073b7d2 - Added an .ico file compiled by Kinsie from an image set on the forum. 2017-09-07 17:18:26 -04:00
Rachael Alexanderson
f71a6e249d - remove unsafe math operations for armv8 2017-09-07 15:56:00 -04:00
Rachael Alexanderson
cfdfd7acef - remove unsafe math operations for armv8 2017-09-07 15:55:39 -04:00
Rachael Alexanderson
6f98c5e8fb - replace potentially infringing static EXE assets (including icons) with ones from GZDoom-GPL 2017-09-07 04:13:30 -04:00
Rachael Alexanderson
b7f6126bcd - First commit of archive split - preserve original assets
- Added: d_main.cpp now searches for "gzdoom_optional_assets.pk3" - this can be changed in version.h for fork authors.
- Updated forum links to point to ZDoom.org.
2017-09-07 04:08:09 -04:00
Magnus Norddahl
7a1274ab76 - Collect all PVS information first so that processing the individual sectors can be done on multiple threads 2017-09-07 00:34:09 +02:00
alexey.lysiuk
85ffeebb96 Fixed IWAD detection for case-sensitive file systems
https://forum.zdoom.org/viewtopic.php?t=57770
2017-09-05 10:33:07 +03:00
Magnus Norddahl
dd0bc02eec - Convert PolyTranslucentObject to be a base class for all the different forms of translucent objects to be drawn 2017-09-02 18:17:55 +02:00
Magnus Norddahl
23aebaecc6 - Cleaned up some copyright statements
- Removed unused cull argument from some functions
2017-09-02 17:14:02 +02:00
Magnus Norddahl
0f0cf7261e - Remove unused code 2017-09-02 15:02:06 +02:00
nashmuhandes
7195af40f8 Bump DEMOGAMEVERSION due to changes to DEM_FOV and DEM_MYFOV commands. 2017-09-02 09:57:48 +02:00
nashmuhandes
3c39d51c83 Fixed a wrong variable type declaration. 2017-09-02 09:57:48 +02:00
nashmuhandes
c885b6aa35 Send player FOV across the network as floatig point. 2017-09-02 09:57:48 +02:00
Christoph Oelckers
2a291165ee - fixed: For original Hexen, executing a death special should not clear it. This addresses the bell in HexDD's Badlands being rung before it is ready to use. This also removes the redundant special handling in the ZBell actor. 2017-09-02 09:16:26 +02:00
Christoph Oelckers
eade38fb09 - fixed crash when defining a global constant which references a class member constant in its value. 2017-09-02 08:14:50 +02:00
Christoph Oelckers
12ad7ee933 Do not call DoEffect when predicting player movement. 2017-09-02 07:57:03 +02:00
nashmuhandes
f96f71044f Change camera texture FOV to doubles. 2017-09-02 07:44:38 +02:00
Magnus Norddahl
b80bf6930a - Translucent 3d floor plane support 2017-09-02 02:51:09 +02:00
Magnus Norddahl
393373a661 - Clean up plane rendering code slightly 2017-09-02 02:12:29 +02:00
Magnus Norddahl
fbaa3e7cb0 - Removed unused cull function argument 2017-09-02 01:34:36 +02:00
Magnus Norddahl
e851734b33 - Added translucent 3d floor walls support 2017-09-02 01:24:57 +02:00
Magnus Norddahl
b3916c1d01 - Add FF_UPPERTEXTURE and FF_LOWERTEXTURE support to softpoly 2017-09-02 00:35:48 +02:00
alexey.lysiuk
122f5d9515 Fixed crash caused by script number collision of ACS typed scripts
Wrong typed script can be picked when the same ACS script number is used for different script types from multiple behavior lumps
Although script in particular state is discarded and null pointer could be dereferenced
https://forum.zdoom.org/viewtopic.php?t=57718
2017-08-31 11:40:16 +03:00
alexey.lysiuk
ca55d8993f Added Actor.A_SoundVolume(int slot, double volume) function to ZScript
https://forum.zdoom.org/viewtopic.php?t=57594
2017-08-31 09:45:09 +03:00
Magnus Norddahl
77faab5a75 - Fixed overflow for precise blend mode 2017-08-29 19:25:05 +02:00
alexey.lysiuk
20d7c01fc8 Fixed Infinity and NaN floating point values formatting as string
https://forum.zdoom.org/viewtopic.php?t=57706
2017-08-29 11:39:50 +03:00
nashmuhandes
541fac8c6b Cleaned up and shorted the code for R_SetFOV. 2017-08-28 21:14:11 -04:00
nashmuhandes
30966ef951 Use a fallback FOV for the R_SetFOV call. 2017-08-28 21:14:11 -04:00
nashmuhandes
42db31b816 Added per-actor camera FOV. 2017-08-28 21:14:11 -04:00
Magnus Norddahl
27dfebdb7d - Fix plane light levels used when a sector has a lightlist 2017-08-29 01:22:10 +02:00
Magnus Norddahl
293f62fcd2 - Striped wall (lightlist) support
- Add two extra clipping planes to poly backend
- Make ShadedTriVertex internal to drawer backend
2017-08-27 23:26:54 +02:00
Magnus Norddahl
8c146e4e71 - Transfer light support 2017-08-27 17:27:49 +02:00
Magnus Norddahl
45388d8a31 - Clip decals to the wall part 2017-08-27 17:18:39 +02:00
Christoph Oelckers
948e50e458 - fixed: The struct field compiler did not check for forward declared type references that hadn't been resolved yet. 2017-08-27 12:31:47 +02:00
Christoph Oelckers
485c4c71b5 - fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag. 2017-08-27 10:36:34 +02:00
Christoph Oelckers
e424ef63f2 - fixed: Sprites drawn in the opaque pass still need to set their texture mode so that they can be drawn with STYLE_Stencil. 2017-08-27 09:58:25 +02:00
Christoph Oelckers
ca47b138be - fixed missing check for bad IWADs. 2017-08-27 09:57:37 +02:00
Christoph Oelckers
2e670ae71d - fixed: When offsetting the projectile for testing, P_CheckMissileSpawn must also reset the projectile's sector to its new location.
If this isn't done the portal checks may fail and create incorrect positioning info.
2017-08-27 09:16:04 +02:00
Mike Swanson
1bc8fe7312 Add GOG path for Doom 3: BFG Edition 2017-08-26 09:01:02 +02:00
alexey.lysiuk
fae52d398b Properly handle VM abort exception when occurred in menu
https://forum.zdoom.org/viewtopic.php?t=57677
2017-08-25 15:36:06 +03:00
alexey.lysiuk
7b98fdb910 Added ToInt() and ToDouble() functions to ZScript string
https://forum.zdoom.org/viewtopic.php?t=57678
2017-08-25 15:09:18 +03:00
Magnus Norddahl
b9dc06a4c8 - Fix crash in legacy and deferred light paths 2017-08-21 18:42:07 +02:00
alexey.lysiuk
2375823055 Adapted Cocoa IWAD picker to recent changes in IWAD loading 2017-08-20 12:35:40 +03:00
Christoph Oelckers
cc3e36cfdc - reinstate '.wad' default extension for -iwad parameter. 2017-08-20 10:50:19 +02:00
Christoph Oelckers
2e845584c3 - removed the Linux specific handling for adding upper- and lowercase variants of the IWAD names to the list. Since the new code is doing case insensitive comparisons with a directory scan this is no longer needed to find the files. 2017-08-20 09:37:13 +02:00
Christoph Oelckers
62cbddb7d2 - fixed comparison with previously loaded IWAD. There still was an unnecessary call to ExtractFileBase in there which mangled the name. 2017-08-20 09:28:36 +02:00
alexey.lysiuk
cafd1ca26e Fixed compilation of non-Windows targets 2017-08-20 09:50:51 +03:00
Christoph Oelckers
a6d09596cf - this shouldn't have gotten reverted. 2017-08-20 08:03:48 +02:00
Christoph Oelckers
9878477612 Revert "- fix linux compile"
This reverts commit b8c0e78c91 et al.

Instead, use the already provided access function I_FindName to get the file name from findstate_t.
Also made the contents of findstate_t private so that use of the access functions is required to retrieve the information and direct access triggers a compile error.
2017-08-20 08:01:41 +02:00
Rachael Alexanderson
1ee3239f9e - fixed compile on Clang 2017-08-19 22:57:48 -04:00
Rachael Alexanderson
b7d26b3fa1 - fixed Linux IWAD search thanks to a suggestion by Chris on the forum. Moved the search macros to i_system.h for both platforms. Neither are compatible with the other. This can be improved upon later, but for now, at least the major compile issue is fixed. 2017-08-19 22:10:45 -04:00
raa-eruanna
b8c0e78c91 - fix linux compile 2017-08-19 17:32:10 -04:00
Christoph Oelckers
f3d31e055f - print the version at the start of the log. 2017-08-19 20:13:12 +02:00
Christoph Oelckers
cdff5bdc08 - rewrite of the IWAD loading mechanism.
The old code went through a list of predefined file names and looked each of them up in a list of predefined directories until it found a match. This made it nearly impossible to add custom IWAD support because the list of valid file names could not be extended.
This has now been switched around to run a scan for matching files on each given directory. With this approach it can look for *.iwad and *.ipk3 as IWAD extensions as well and read an IWADINFO out of these files that can be added to the internal list of IWADs, making it finally possible to define custom IWADs without having to add them to the internal list.

(This isn't fully tested yet so some errors may still occur.)
2017-08-19 19:30:48 +02:00
Magnus Norddahl
2f5535dbca - Fix HOM for Line_Horizon specials when used with a skybox 2017-08-19 14:32:34 +02:00
Rachael Alexanderson
45d5eac6ad - fix last commit - somehow it pushed an old version of the fix (yet again?...) - this is the proper fix. 2017-08-19 06:03:26 -04:00
Rachael Alexanderson
dae83f989b - fixed: changing 'uiscale' did not always update the screen size properly. 2017-08-19 05:58:04 -04:00
alexey.lysiuk
69e7bb57d4 Fixed VM abort with null activator for SecretTrigger object
https://forum.zdoom.org/viewtopic.php?t=57612
2017-08-19 11:19:29 +03:00
alexey.lysiuk
ec42e30614 Fixed compilation warning reported by Clang
src/polyrenderer/scene/poly_wall.cpp:166:15: warning: '&&' within '||' [-Wlogical-op-parentheses]
2017-08-19 11:18:52 +03:00
Rachael Alexanderson
1cddd1efaf - RFF_UNCLIPPEDTEX is no longer supported in SoftPoly. 2017-08-18 23:04:11 -04:00
Magnus Norddahl
05ca52d693 - Fix texture coordinates for 3d floor walls 2017-08-19 00:53:41 +02:00
Rachael Alexanderson
b8ab626609 - add sloped 3D floor support to the poly renderer's GetCaps() 2017-08-18 18:33:19 -04:00
Rachael Alexanderson
8a7090b4b7 Revert "- In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in map02, some lights are above the ceiling."
- fixed accidental QZDoom rename

This reverts commit eb425f206a.
2017-08-18 18:19:39 -04:00
Rachael Alexanderson
eb425f206a - In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in map02, some lights are above the ceiling. 2017-08-18 18:14:43 -04:00
Magnus Norddahl
dd6e0b63f2 - Fix typo in pal drawers that caused rendering errors for non-64x64 flats 2017-08-18 21:12:44 +02:00
Magnus Norddahl
c144eefdad - Draw sloped 3d floors 2017-08-18 20:19:17 +02:00
alexey.lysiuk
54abe5f5d4 Fixed handling of default arguments in Actor.GiveSecret() 2017-08-18 11:22:18 +03:00
Magnus Norddahl
8034793193 - Wrap midtex support 2017-08-17 23:14:02 +02:00
Magnus Norddahl
c2fa360bbc - Improve 3d floor and underwater rendering 2017-08-17 22:34:23 +02:00
Magnus Norddahl
7993ad987c - Fix texture coordinates for lines split into multiple segments in softpoly 2017-08-17 20:54:44 +02:00
Magnus Norddahl
3cf5fb45ae - Add camera extra light to flats 2017-08-17 00:28:58 +02:00
Magnus Norddahl
122c56f005 - Add fog boundary support to softpoly 2017-08-17 00:10:43 +02:00
David Carlier
8d8c353465 Attempty to free memory leaks. 2017-08-16 16:31:23 -04:00
Magnus Norddahl
fbd381988b - Fix wall UV scaling and offsetting bugs in softpoly 2017-08-16 22:26:05 +02:00
Magnus Norddahl
c3562fead2 Merge branch 'dynlightmodels' 2017-08-15 00:27:26 +02:00
alexey.lysiuk
c7d28b0a24 Fixed incorrect damage flags' checks for A_Kill...() functions
Only GCC 7 reported this as a warning but only for one occurrence:
src/p_actionfunctions.cpp:5909:22: warning: enum constant in boolean context [-Wint-in-bool-context]
2017-08-13 17:48:49 +03:00
alexey.lysiuk
d645e55545 Unified suppression of format warnings for GCC and Clang
This disables the following compilation warning reported by Clang:
src/p_3dfloors.cpp:1002:24: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat]
2017-08-13 17:39:15 +03:00
alexey.lysiuk
eb52088487 Fixed compilation warnings reported by Clang
src/gl/scene/gl_sprite.cpp:685:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/polyrenderer/scene/poly_sprite.cpp:297:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/swrenderer/scene/r_opaque_pass.cpp:975:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/sound/mididevices/music_timiditypp_mididevice.cpp:548:30: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-08-13 16:42:08 +03:00
alexey.lysiuk
b077518c89 Fixed crash when morph item is used from ACS
https://forum.zdoom.org/viewtopic.php?t=57571
2017-08-13 16:15:31 +03:00
alexey.lysiuk
4afface97c Fixed camera rotation from FraggleScript
https://forum.zdoom.org/viewtopic.php?t=57559
2017-08-13 12:22:48 +03:00
Magnus Norddahl
6d6c25bb26 - Add sprite adjustment to softpoly 2017-08-13 01:10:33 +02:00
Magnus Norddahl
bf38fd57b0 - Replace subsector gbuffer in softpoly with a zbuffer 2017-08-12 15:16:31 +02:00
Christoph Oelckers
4483d665d4 - fixed: FastProjectile's movement code was missong a portal check. 2017-08-12 13:58:16 +02:00
alexey.lysiuk
89980d9e77 Fixed linking with GCC and Clang toolchains 2017-08-12 14:41:23 +03:00
Christoph Oelckers
ba9cf02385 - added a user reserved range of statnums from 70-90 2017-08-12 13:08:11 +02:00
Christoph Oelckers
f52e767b51 - fixed: a destination-less line portal should be ignored by the sight checking code. 2017-08-12 12:51:45 +02:00
Christoph Oelckers
4261a0c592 - print a warning if a decal definition cannot find an animator.
This is important because DECALDEF cannot tentatively find animators declared after the decal.
2017-08-12 12:30:42 +02:00
Christoph Oelckers
aa8424982c - fixed: The color for untranslated font was missing its alpha channel. 2017-08-12 12:04:40 +02:00
Christoph Oelckers
163b10286f - Reset interpolation coordinates for all actors before the current thinking turn instead of at the start of each actor's own Tick function so that indirect actor movement gets properly interpolated. 2017-08-12 11:48:36 +02:00
Christoph Oelckers
c1de32896c - addressed incorrect ACS printbold implementation: For native Hexen maps it will now be correct, but all others will have to set a flag in MAPINFO's 'gameinfo' section to avoid problems with numerous ZDoom maps depending on the incorrect implementation. 2017-08-12 10:20:34 +02:00
Christoph Oelckers
b4fa95ab15 - handle state label resolution in a non-actor cpntext more gracefully.
Note that this is merely a hotfix. Properly handling this to allow universal use of state scopes will require more work in cases where a scoped state is being accessed through a non-self pointer.
2017-08-12 10:04:06 +02:00
Christoph Oelckers
0db79f8dec - removed tag 0 check for 3D floors because as seems to be par for course in Doom modding, some people actually exploited this bug. 2017-08-12 09:15:59 +02:00
alexey.lysiuk
ef9c3b4f54 Fixed unset inflictor in WorldThingDamaged event
https://forum.zdoom.org/viewtopic.php?t=57527
2017-08-09 16:16:33 +03:00
alexey.lysiuk
33beca6e6f Exposed ToLower() and ToUpper() string functions to ZScript
https://forum.zdoom.org/viewtopic.php?t=57515
2017-08-07 15:24:18 +03:00
raa-eruanna
507122b778 - put in actorinlines include as suggested by dpjudas here, to fix compile: https://forum.zdoom.org/viewtopic.php?f=2&t=57484 2017-08-04 09:13:20 -04:00
Jonathan Russell
03640a16ea - removed ZScript DrawLine palcolor arg 2017-08-03 02:09:48 +01:00
Jonathan Russell
941d89042a - externalise DCanvas::DrawLine to ZScript 2017-08-03 01:20:55 +01:00
Magnus Norddahl
801fbddd47 - Fix gcc compile error
- Fix weapon null pointer crash
2017-08-02 01:41:48 +02:00
Magnus Norddahl
aaa00cbcb9 - Include all lights touching a model actor's render radius 2017-08-01 00:43:58 +02:00
Magnus Norddahl
04be9fe6f2 - Remove test code committed by accident 2017-07-31 20:09:45 +02:00
Rachael Alexanderson
8dff91915a - remove vestigial version.h include from r_portal.cpp. This should stop r_all.o from compiling every single commit. 2017-07-31 11:12:08 -04:00
Kevin Caccamo
7ff0040f30 Add a null pointer at the end of TimidityArgs
This actually got the execvp call working consistently for me; now I can listen to MIDI music in GZDoom again.
2017-07-31 11:05:28 -04:00
Kevin Caccamo
a4370a3529 Null-terminate strings 2017-07-31 11:05:28 -04:00
Kevin Caccamo
ff35620a09 Fix freeze when timidity_exe is not set to timidity's absolute path 2017-07-31 11:05:28 -04:00
Kevin Caccamo
18e76c978c Fix code style, and make some minor changes
Assume timidity is in the user's PATH if not the specified location
Also, get the error message for the execvp failure if it does fail
2017-07-31 11:05:28 -04:00
Kevin Caccamo
233fce7ef6 Initial attempt to make timidity work on Linux again
Add code to find the timidity executable, and split the command line into separate arguments by spaces.
For some reason, this doesn't work, although reverting 64e96c5f makes timidity work again.
2017-07-31 11:05:28 -04:00
Christoph Oelckers
49b77f3a17 - added per-level exit texts independent of the current cluster.
This is mainly to support UMAPINFO which does not have clusters but has been extended to define separate exit texts for each target map that can be reached from a given map.
Special names 'normal' and 'secret' can be used to define texts specific to the default exits.

New MAPINFO properties:

* exittext = mapname, "text"...
* textmusic = mapname, "musicname", order
* textflat = mapname, flatname
* textpic = mapname, picname

textflat and textpic are like 'flat' and 'pic' for clusters, one defines a tiled background, the other a fullscreen image.
Setting an empty exittext will disable a cluster-based text screen that may apply to the given map.
2017-07-30 22:50:27 +02:00
Rachael Alexanderson
c07a4461a0 - fixed: GetCaps() did not account for r_drawvoxels cvar 2017-07-30 10:45:05 -04:00
Magnus Norddahl
d5733f515c - Support binding textures for custom PP shaders 2017-07-30 13:59:25 +02:00
alexey.lysiuk
6a5bad0beb Added developer message about unknown GAMEINFO entry 2017-07-30 12:26:18 +03:00
Rachael Alexanderson
b6c15b997a - added 'r_debug_disable_vis_filter' cvar for debug purposes, to show all objects regardless of their actor filter fields. 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
1bfc2faa49 - added 'r_showcaps' command which serves as a documentation for available flags and shows what flags are in use by the current rendering settings 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
91ff447a90 - fixed compile from last commit
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
712d21e26a - implement per-renderer sprite hiding based on the actor's render feature flags
- hook the thing up to zscript (does not currently compile)
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
8bb5687159 - Implemented GetCaps() for the software renderer
- fixed: Forgot to describe Brightmap capability in the GL Renderer
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
9a9fe7c133 - implemented GetCaps() for OpenGL
- renamed RFF_FRAGMENTSHADER to RFF_MATSHADER
- D_Display now calls Renderer->GetCaps() and stores it in a global variable for later use.
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
64deba45a3 - added another render filter 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
80bb1d908a - basic groundwork for render feature visibility flags. I haven't gotten very far with it yet, but since I am taking a break I am going to commit what I have and continue it later.
todo:
* call a render class function in D_Main that enumerates the capabilities of the current renderer into a global variable to be accessed later
* add a debug-specific cvar to always show all actors, regardless of these filters
* put in checks in the renderer themselves that check both flagsets and reject rendering of any sprite/model that does not fit the definition's criteria
2017-07-29 17:03:43 -04:00
raa-eruanna
0df2779004 - fixed mac compile(hopefully?) 2017-07-29 17:03:18 -04:00
raa-eruanna
af32edd054 - fixed linux compile 2017-07-29 16:47:10 -04:00
Magnus Norddahl
7d21fe6d75 - Fix mouse position being wrong when vid_scalemode is active 2017-07-29 19:26:53 +02:00
Rachael Alexanderson
3540440bf6 - add 1280x800 scale mode 2017-07-27 12:19:41 -04:00
Rachael Alexanderson
10e1600faf - Replaced one more vid_scalemode check with a more versatile ViewportIsScaled43 check 2017-07-27 12:19:41 -04:00
raa-eruanna
5795e0fd3e - included another header in order to fix an error reported by travis ci 2017-07-27 03:37:01 -04:00
Rachael Alexanderson
030450b6a9 - fixed: include missing header 2017-07-27 03:08:42 -04:00
Rachael Alexanderson
16e38816ba - oops, forgot one thing in the last commit... 2017-07-27 03:07:19 -04:00
Rachael Alexanderson
30087f7cd7 - cleaned up the video scale mode code a bit, in order to increase future flexibility. 2017-07-27 03:05:01 -04:00
Rachael Alexanderson
f1a6ef9cc8 - changed sv_singleplayerrespawn from 'latch' to 'cheat' since it was originally coded before the CVAR_CHEAT flag was implemented. 2017-07-26 13:34:17 -04:00
Rachael Alexanderson
012496ee98 - added cheat protection to sv_damagefactor* 2017-07-26 13:32:45 -04:00
Magnus Norddahl
cbda6e9427 - Improve dynamic lights for the HUD model 2017-07-26 09:18:05 +02:00
Magnus Norddahl
0c0f0789c2 - Improved dynamic lights on models 2017-07-25 23:00:09 +02:00
Magnus Norddahl
d2e0933a81 - Fix packed normal order bug 2017-07-25 20:20:13 +02:00
Magnus Norddahl
4e14ed4e9e - Hook up model normals 2017-07-25 20:20:12 +02:00
Rachael Alexanderson
e0494b6f13 - fixed an issue with previous commit that undid some scaling code 2017-07-25 08:09:01 -04:00
David Carlier
64e96c5f46 OpenBSD support 2017-07-25 07:56:19 -04:00
Rachael Alexanderson
e42500c07a Revert "- ported Linux crash fix to Mac"
This reverts commit 6a49251722.
2017-07-25 07:34:26 -04:00
Rachael Alexanderson
6a49251722 - ported Linux crash fix to Mac 2017-07-25 06:55:29 -04:00
Magnus Norddahl
d8c6966917 - Fixed startup crash on Linux 2017-07-25 11:51:15 +02:00
Christoph Oelckers
b81a23c5e5 - fixed return type of CountsAsKill. 2017-07-25 08:14:46 +02:00
Rachael Alexanderson
28af2fe66b - maxviewpitch now affects the 2.5D software renderer 2017-07-24 10:33:44 -04:00
Christoph Oelckers
cd2a349c36 - fixed name generation for cached nodes to not contain any ':'. A colon inside a file name will cause Windows to write the data to an alternate data stream. 2017-07-24 09:20:35 +02:00
Magnus Norddahl
e06f87cf10 - Added 0.75x scale mode 2017-07-24 08:35:27 +02:00
Magnus Norddahl
1ce3b4c79c - Fix dynamic light clamping issue in truecolor drawers 2017-07-23 23:45:43 +02:00
Magnus Norddahl
bf4d7234e1 - Increase MAXWIDTH and MAXHEIGHT defines to support supersampled 5K monitors 2017-07-23 22:04:00 +02:00
Magnus Norddahl
1a4cf16168 - Fix swtruecolor cvar messing up the chosen video mode 2017-07-23 20:54:03 +02:00
Magnus Norddahl
18f0f6be4b - Pixel stretch for 320x200 and 640x400 in glswfb 2017-07-23 17:26:55 +02:00
Rachael Alexanderson
2f37c4b272 - added vid_scalemode == 4 to super-sample the screen 2017-07-23 11:24:04 -04:00
Magnus Norddahl
449c4cb711 - Pixel stretch 320x200 and 640x400 scale modes in the GL renderer 2017-07-23 17:18:25 +02:00
Rachael Alexanderson
45a37211e4 - added special handling for vid_scalemode == [1||2] to force video aspect scaling off unless the user explicitly specified an aspect override. 2017-07-23 10:49:13 -04:00
Rachael Alexanderson
b30b93f40f - made postprocess shader parsing a little more strict, will error out more frequently with common mistakes. 2017-07-23 06:11:04 -04:00
alexey.lysiuk
7436693860 Enabled dynamic stack size in ZScript parser generated by Lemon
https://forum.zdoom.org/viewtopic.php?t=57322
2017-07-23 11:54:16 +03:00
Magnus Norddahl
370e53befe - Replace vid_max_width and vid_max_height with vid_scalemode for the GL software framebuffer backend
- Fix a crash if the window was resized before creating a game
- Fix main menu scaling being wrong if the video mode didn't match the unscaled screen size
2017-07-23 04:23:13 +02:00
Magnus Norddahl
c3702ae9e7 Add vid_scalemode support to GL framebuffer 2017-07-23 00:33:56 +02:00
Rachael Alexanderson
2e6c4eeab9 - removed NOSAVE flags from sv_damagefactor* cvars so that they get put in a savegame 2017-07-22 08:25:39 -04:00
Rachael Alexanderson
a958d2ad72 - fixed pixel centering for unaccelerated player sprites 2017-07-22 08:01:27 -04:00
Rachael Alexanderson
04db494310 - 'kill baddies' cheat now describes what it is killing. This is mostly for multiplayer purposes when other players see the feedback when the cheat is used, allowing players to see if it was 'kill monsters' or 'kill baddies' 2017-07-22 07:25:58 -04:00
Magnus Norddahl
8311a18282 - Fix plane pixel center sampling bug 2017-07-22 12:29:46 +02:00
Magnus Norddahl
3ff021608d - Fix pixel center sampling bug in SWCanvas::DrawTexture 2017-07-22 10:40:30 +02:00
alexey.lysiuk
c56cd245ac Added IndexOf() and LastIndexOf() functions to ZScript string type
https://forum.zdoom.org/viewtopic.php?t=57313
2017-07-22 10:54:32 +03:00
Magnus Norddahl
ebd20daed8 - Fix wall texture sampling to be done at pixel centers 2017-07-22 01:45:06 +02:00
Rachael Alexanderson
8d95ee6882 - 'Player' is turbo! cheat is no longer shown in single player. 2017-07-21 17:21:58 -04:00
Magnus Norddahl
5be74890b7 - Fix missing pixels on walls in palette mode for npot2 textures 2017-07-21 22:48:44 +02:00
Christoph Oelckers
714ada01aa Merge remote-tracking branch 'remotes/origin/qzdoom-merge' 2017-07-20 18:33:20 +02:00
Christoph Oelckers
e8e940d221 - fixed portal handling for P_CheckMissileSpawn to obey commonly established rules about portal types. 2017-07-20 18:32:54 +02:00
Christoph Oelckers
ffc529d100 - let r_*_cull variables default to 0. 2017-07-20 14:23:45 +02:00
Christoph Oelckers
03ed0656e1 - fixed: The frame timer for interpolating the renderer should always take its time from the actual beginning of the frame instead of checking the system timer in real time when rendering starts.
This fixes two issues:

* timer related texture animations are not being recreated multiple times if a scene renders multiple viewpoints (e.g. camera textures or portals.)
* interpolation is smoother when maps have a high think time of multiple milliseconds. A good map to see the difference would be ZDCMP2 which has a think time of 4-5 milliseconds. With the timer taken in real time after the thinkers have run and VSync on this resulted in alternating time slices of 11 and 21 ms between frame interpolations instead of an even 16 as should be done for smooth 60 fps because roughly every second frame was offset by those 5 ms.
2017-07-20 14:20:50 +02:00
Rachael Alexanderson
d020ec68d2 Merge branch 'master' into qzdoom-merge 2017-07-20 06:43:03 -04:00
Rachael Alexanderson
bc38f7f776 - changed gl_ssao_portals default to 1 2017-07-20 06:41:34 -04:00
Rachael Alexanderson
77617a2757 Merge branch 'master' into qzdoom-merge 2017-07-19 17:32:41 -04:00
Rachael Alexanderson
5918167fb3 - added 'kill baddies' cheat - does the same thing as 'kill monsters' only it ignores friendly monsters 2017-07-19 15:03:27 -04:00
Rachael Alexanderson
62a4eb6b6d - fixed a comment in version.h about the current ZScript version (it was out of date) 2017-07-19 11:04:53 -04:00
alexey.lysiuk
bbb8374b06 Fixed applying of color to untranslated fonts in hardware renderer
https://forum.zdoom.org/viewtopic.php?t=57268
2017-07-19 15:00:55 +03:00
alexey.lysiuk
f4672d67bc Fixed crash when drawing untranslated font
https://forum.zdoom.org/viewtopic.php?t=57268
2017-07-19 13:24:19 +03:00
Rachael Alexanderson
1f6d15c741 - Rename QZDoom back to GZDoom again for merge. 2017-07-19 06:13:05 -04:00
Rachael Alexanderson
bac72600f0 Merge remote-tracking branch 'origin/master' into qzdoom-merge 2017-07-19 06:11:13 -04:00
Christoph Oelckers
579840987d - added per-class think time profiling tool. 2017-07-17 10:21:58 +02:00
Rachael Alexanderson
a383dacbe6 Merge https://github.com/coelckers/gzdoom 2017-07-16 01:38:25 -04:00
alexey.lysiuk
490e873602 Moved parallel_for() function template to own header file 2017-07-15 12:16:06 +03:00
Rachael Alexanderson
a3e782a164 Merge https://github.com/coelckers/gzdoom 2017-07-15 03:48:13 -04:00
Rachael Alexanderson
9eb0b64ab0 - Added new "sv_damagefactor*" variables.
sv_damagefactorplayer: Scales damage for player
sv_damagefactorfriendly: Scales damage for all other +FRIENDLY objects
sv_damagefactormobj: Scales damage for everything else (incl. monsters and decorations)
2017-07-15 03:38:10 -04:00
Christoph Oelckers
ac30e47ab4 - Added an 'srand' call to the RBG initialization.
This is needed because 'rand' gets used by parts of the sound code (e.g. playlists.)
2017-07-15 09:34:07 +02:00
Christoph Oelckers
daca12600d - fixed: The ADDA_RK opcode used the wrong constant type for the offset it adds to the pointer. 2017-07-15 09:14:39 +02:00
Christoph Oelckers
98124c8049 - avoid using plain chars as variables.
This is all I found with a quick search, there's probably more...
2017-07-15 09:01:02 +02:00
Rachael Alexanderson
c1e3f10802 Merge https://github.com/coelckers/gzdoom 2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7 Use multiple threads for xBRZ upscaling
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00
alexey.lysiuk
ac811f99c0 Fixed uninitialized variable in XLAT parser
https://forum.zdoom.org/viewtopic.php?t=57109
2017-07-13 18:05:58 +03:00
alexey.lysiuk
c6351825b8 Enable Core Profile on macOS only when OpenGL 3.3 is available 2017-07-13 18:05:58 +03:00
Rachael Alexanderson
7728875a7f - Added 'enabled' property for PP shaders, to automatically enable them without ZScript 2017-07-13 05:57:12 -04:00
Magnus Norddahl
c38d0c1637 Merge branch 'line_distance_cull' into qzdoom
# Conflicts:
#	src/swrenderer/scene/r_opaque_pass.cpp
2017-07-12 07:11:43 +02:00
Magnus Norddahl
7d1de667be - Added r_line_distance_cull cvar that culls lines beyond the specified distance 2017-07-12 06:56:34 +02:00
Rachael Alexanderson
25900031f5 Merge https://github.com/coelckers/gzdoom 2017-07-11 06:22:51 -04:00
Rachael Alexanderson
25ab31e92c - corrected transferred sky offsets using ZDoom 2.8.1 source - the sky needed to be offset by 28 units. 2017-07-11 05:53:21 -04:00
Rachael Alexanderson
28950b8a5d - q2.1pre version 2017-07-10 13:15:52 -04:00
Rachael Alexanderson
e2744102c5 Merge https://github.com/coelckers/gzdoom 2017-07-10 11:39:46 -04:00
Rachael Alexanderson
d2c8a5c33d Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 65bb8a5185, reversing
changes made to 619281de64.
2017-07-10 11:29:58 -04:00
Rachael Alexanderson
26355ece82 Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 035c036eb2, reversing
changes made to 61660bf147.
2017-07-10 11:29:30 -04:00
Rachael Alexanderson
8c0706e56f Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 56806e3243, reversing
changes made to e1a2de4989.
2017-07-10 11:26:41 -04:00
Rachael Alexanderson
04b1163188 Revert "Add a comment"
This reverts commit d2f4dd41f8.
2017-07-10 11:25:38 -04:00
alexey.lysiuk
2e33165edf Moved freeing of data stored in HUD message objects to OnDestroy() function
https://forum.zdoom.org/viewtopic.php?t=57163
2017-07-10 10:41:50 +03:00
Rachael Alexanderson
e1b4bb11ba Merge https://github.com/coelckers/gzdoom 2017-07-09 20:09:12 -04:00
Magnus Norddahl
ddd1b629c3 - Calculate globvis/r_visibility in r_utility and use it in GL and poly renderers 2017-07-09 19:01:34 +02:00
Magnus Norddahl
c8e713b067 - Remember maximized window state 2017-07-09 15:12:31 +02:00
alexey.lysiuk
afe1199b69 Fixed sound looping when stream length is a multiply of buffer size
https://forum.zdoom.org/viewtopic.php?t=57164
2017-07-09 13:28:16 +03:00
Rachael Alexanderson
15d92b346d Merge https://github.com/coelckers/gzdoom 2017-07-08 09:31:43 -04:00
Magnus Norddahl
00893763ed Merge branch 'custom_postprocess' into qzdoom 2017-07-08 14:44:30 +02:00
Magnus Norddahl
a38de996e7 - Move uniform declarations to the GLDEFS lump to make it Vulkan safe (a vulkan implementation can then declare them in an uniform block)
- Change SetUniform functions to be clearscope as they can be safely called from both play and ui
- Add PlayerInfo argument to SetUniform functions to force the modder to take network play into account
- Add enabled flag on custom postprocess shaders
- Removed custom texture support until a more clean implementation is written
2017-07-08 14:44:07 +02:00
alexey.lysiuk
58b348e75a Skip autogenerated mouse move events in Cocoa backend regardless of mode 2017-07-08 13:36:55 +03:00
alexey.lysiuk
9292b23bb4 Restore mouse position when entering GUI capture mode in Cocoa backend 2017-07-08 12:46:38 +03:00
Magnus Norddahl
a4b96f7673 - Fix linker error 2017-07-06 18:02:27 +02:00
Magnus Norddahl
69a3d10cb6 Merge branch 'custom_postprocess' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
2017-07-06 05:41:16 +02:00
Magnus Norddahl
8a0e801cb5 - Move custom postprocess shader to its own file 2017-07-06 05:36:01 +02:00
Rachael Alexanderson
1cfaae78d9 - Add new "scene" target for custom postprocess shaders
- Add "gl_custompost" cvar to turn off custom postprocess shaders completely
- Made "scene" affect the screen before 2D drawing, made "screen" affect the entire screen after 2D drawing
2017-07-06 04:45:51 +02:00
Rachael Alexanderson
2bfd7859e4 Merge remote-tracking branch 'origin/custom_postprocess' 2017-07-03 17:17:17 -04:00
Magnus Norddahl
e161bba146 - Specify shader uniforms from ZScript 2017-07-03 22:30:49 +02:00
Rachael Alexanderson
5c87cdd786 - Add new "scene" target for custom postprocess shaders
- Add "gl_custompost" cvar to turn off custom postprocess shaders completely
- Made "scene" affect the screen before 2D drawing, made "screen" affect the entire screen after 2D drawing
2017-07-02 21:04:22 -04:00
Rachael Alexanderson
edb45cd70d Merge remote-tracking branch 'origin/custom_postprocess' 2017-07-02 19:56:57 -04:00
Magnus Norddahl
1b5f3da9c5 - Fix lump lookup 2017-07-03 01:50:51 +02:00
Magnus Norddahl
befe081683 - Upload custom texture 2017-07-03 01:29:03 +02:00
Magnus Norddahl
ee6d7cf17e - Add initial postprocess shader support to GLDEFS file 2017-07-03 01:26:02 +02:00
Rachael Alexanderson
0d8b7c55ef - added a grayscale formula selector 2017-07-02 16:45:06 -04:00
Rachael Alexanderson
bd02893ce7 - expanded hard limits for saturation to -15.0/15.0
- added menu option for saturation
- tried to get the new saturation shader to consume less GPU power by turning it off when it is 1.0
2017-07-02 16:45:06 -04:00
Rachael Alexanderson
63da6e70c0 - added a vid_saturation control - works in postprocessing, only. 2017-07-02 16:45:06 -04:00
Rachael Alexanderson
6a402c28d8 Merge https://github.com/coelckers/gzdoom 2017-07-02 16:36:46 -04:00
Rachael Alexanderson
aa2a39da19 Revert "- Remove r_sprite_distance_cull"
This reverts commit 44546ce16a.
2017-07-02 16:35:40 -04:00
Magnus Norddahl
205350e726 - Fix sprites behind midtextures unrender when near voxel 2017-07-02 20:09:46 +02:00
Magnus Norddahl
6d8281c812 - Fix voxel clipping for r_scene_multithreaded 2017-07-02 18:22:28 +02:00
Magnus Norddahl
4545539045 - Add polyobj support to r_scene_multithreaded 2017-07-02 17:22:59 +02:00
Magnus Norddahl
adcc7588ec - Make it more clear what bFakeBoundary did 2017-07-02 15:35:29 +02:00
Magnus Norddahl
efb1a8d113 - Don't add 3D floor dummy draw segments to the list 2017-07-02 14:46:19 +02:00
Magnus Norddahl
e19c8eba62 - Switch sprite drawing to use the interesting draw segments list
- Stop adding 3D floor "fake" draw segments to the interesting segments list
- Rename InterestingSegments list to TranslucentSegments
2017-07-01 23:55:41 +02:00
Rachael Alexanderson
c3cc3637db Merge https://github.com/coelckers/gzdoom 2017-07-01 13:12:25 -04:00
Christoph Oelckers
5a761dd3c3 - fixed alpha of palette index 0 for ice and alpha translations. 2017-07-01 16:19:41 +02:00
alexey.lysiuk
71b70d74a9 Fixed error handling in vector by scalar multiplication
https://forum.zdoom.org/viewtopic.php?t=57089
2017-07-01 12:37:31 +03:00
alexey.lysiuk
925274ca0c Added name of upcoming macOS to OS detection 2017-07-01 12:29:25 +03:00
Magnus Norddahl
42fedd0f4c - Improve sprite performance when there are many draw segments 2017-07-01 03:31:06 +02:00
Magnus Norddahl
44546ce16a - Remove r_sprite_distance_cull 2017-07-01 03:29:28 +02:00
Rachael Alexanderson
17aceac912 Merge https://github.com/coelckers/gzdoom 2017-06-29 03:50:22 -04:00
Magnus Norddahl
0cd575363f - Add r_sprite_distance_cull that per default culls all things further than 5000 units away 2017-06-28 19:55:11 +02:00
Christoph Oelckers
c74356a1c0 - made OpenGL 3.3 a requirement for running the modern render path. Also force '-glversion 3' to use the modern render path, even though actual OpenGL 3.0 won't support it.
This will exclude Intel HD3000 and many obsolete drivers for NVidia and ATI which should have been updated long ago.
2017-06-28 17:57:04 +02:00
Rachael Alexanderson
c15880a2fc Merge https://github.com/coelckers/gzdoom 2017-06-27 17:38:26 -04:00
Magnus Norddahl
9c3361dfe2 - Fix stat fps to write something slightly more useful 2017-06-27 21:15:26 +02:00
Christopher Bruns
e9f03102f4 Update fixed color map for each eye, so light goggles would work in both eyes in stereo 3d modes. 2017-06-27 17:55:11 +02:00
Rachael Alexanderson
cf400ba2db Merge https://github.com/coelckers/gzdoom 2017-06-25 23:44:33 -04:00
Magnus Norddahl
b6e035e796 - Implemented radial fog support in software light mode 2017-06-25 15:02:34 +02:00
Rachael Alexanderson
7592e6d5de Merge https://github.com/coelckers/gzdoom 2017-06-25 00:18:19 -04:00
Magnus Norddahl
f34ededdef - Improved fuzz rendering in software renderer by scaling it relative to 320x200 2017-06-25 00:35:15 +02:00
Rachael Alexanderson
9cb9121549 Merge https://github.com/coelckers/gzdoom 2017-06-24 11:31:01 -04:00
alexey.lysiuk
279b1e27dc Made usage of assertions in VM code consistent
https://forum.zdoom.org/viewtopic.php?t=56995
2017-06-22 10:36:08 +03:00
Rachael Alexanderson
9001009fcf Merge https://github.com/coelckers/gzdoom 2017-06-22 01:42:33 -04:00
Rachael Alexanderson
f49794d6c6 - fixed: Due to recent changes, textures now use 'bgra' format in OpenGL. The palette tonemap shader had not yet been updated to reflect this. 2017-06-21 19:00:51 -04:00
Rachael Alexanderson
bdc99d9768 - fixed: fillsimplepoly drawer was using an inverted scale, leading to incorrect automap texture display. 2017-06-21 04:03:37 -04:00
Rachael Alexanderson
e60d627e88 Merge https://github.com/coelckers/gzdoom 2017-06-21 03:04:06 -04:00
Magnus Norddahl
fa36677bdb - Removed power-of-two limitation from span drawers, except for slopes 2017-06-21 03:08:11 +02:00
Rachael Alexanderson
ff257fcfd7 Merge https://github.com/coelckers/gzdoom 2017-06-20 09:39:12 -04:00
Christoph Oelckers
f909b82074 - fixed: Blood translations did not properly treat color 0 as transparent. 2017-06-20 09:10:19 +02:00
Rachael Alexanderson
cc9fa8a6f5 - fixed: Prevent /0 errors when calculating console scale, which could happen in certain rare situations. 2017-06-19 23:46:07 -04:00
Rachael Alexanderson
e290274fb7 - fixed: Now fully fixed the 3d floor + fog boundary issue.
- Revert "- Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this."

This reverts commit 7e292fbfec.
2017-06-19 17:19:44 -04:00
Rachael Alexanderson
7e292fbfec - Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this. 2017-06-19 17:05:53 -04:00
Magnus Norddahl
8af76b96d8 - Fix clearfog crash 2017-06-19 20:36:28 +02:00
Rachael Alexanderson
d454fafc9e Merge https://github.com/coelckers/gzdoom 2017-06-19 03:22:23 -04:00
Magnus Norddahl
490d7e3a35 - Remove clearfog goto 2017-06-19 00:55:32 +02:00
Magnus Norddahl
8beafbb7da - Fix voxel speed regression in the palette software renderer 2017-06-18 19:45:15 +02:00
Christoph Oelckers
3b024c347b - use a dedicated flag word for the dynamic light flags instead of piggybacking on some flags4 bits. 2017-06-18 10:15:31 +02:00
Christoph Oelckers
cf1d94c9bb - fixed blood translation's alpha so that CreateTexBuffer can assume that all palette entries in translations are correct. 2017-06-18 09:23:56 +02:00
Christoph Oelckers
a1694a79c6 - removed the FGLBitmap class and replaced all uses with the regular FBitmap.
The only reason this ever existed is that the GL renderer used RGBA instead of BGRA but there's no reason why this is even necessary.
2017-06-18 09:14:33 +02:00
Rachael Alexanderson
c70dac2d7f Merge https://github.com/coelckers/gzdoom 2017-06-16 13:27:03 -04:00
alexey.lysiuk
eda55b25ee Fixed code generation for vector parameters with default values
https://forum.zdoom.org/viewtopic.php?t=56915
2017-06-16 11:58:24 +03:00
alexey.lysiuk
c22017f981 Made two Hexen maps compatibility options data driven 2017-06-14 16:10:01 +03:00
alexey.lysiuk
5874d01a73 All compatibility options are now applied for IWAD maps
https://forum.zdoom.org/viewtopic.php?t=56867
2017-06-14 15:24:11 +03:00
Rachael Alexanderson
96df3aed01 Merge https://github.com/coelckers/gzdoom 2017-06-12 00:56:25 -04:00
Rachael Alexanderson
2ff492d005 - fix compile on Windows 2017-06-12 00:38:50 -04:00
Rachael Alexanderson
a148212215 Merge commit 'f1ad42c' 2017-06-12 00:22:59 -04:00
Christoph Oelckers
842e8b68b4 - blacklist old FMod related sound CVARs because they tend to be in the UnknownCVARs section but aren't useful any longer. 2017-06-12 00:00:55 +02:00
Christoph Oelckers
f1ad42c4e5 - instead of discarding protected menu replacements, try to merge them with the original version.
Testing with Adventures of Square this mostly works, but it is clear that a list of old and deleted CVARs still needs to be added so that any items referring to those can be eliminated as well. Some stuff is still slipping through that refers to features which no longer exist.
2017-06-11 22:30:40 +02:00
Christoph Oelckers
ee3d73478a - added blanket protection to all submenus of OptionsMenu, except the player menu.
Sadly, some mods are truly careless enough to modify the engine internal menus to add their own things, which should have no business whatsoever in there.
As an example, in a D4D version released in May, the Display Options menu is showing quite a bit of outdated content and missing important settings.
2017-06-11 09:57:10 +02:00
Christoph Oelckers
8482653bbc Menu protection features
- added a '-nocustommenu' command line options. This is for disabling user menus that intentionally or accidentally disable crucial menu features.
- do not allow replacement of the main options menu. This menu contains engine-critical settings and may change at any time when new features get added. For now it will be the only one that gets protected but this may soon be extended to some of its submenus as well.
2017-06-11 08:52:04 +02:00
Magnus Norddahl
3b8570003a - Improved softpoly sprite clipping 2017-06-10 11:16:58 +02:00
Magnus Norddahl
a0cc78d6aa - Fix softpoly wall clipping bug 2017-06-10 10:16:42 +02:00
Rachael Alexanderson
a48203ef1d Merge https://github.com/coelckers/gzdoom 2017-06-10 01:00:38 -04:00
alexey.lysiuk
7a29128f6b Fixed menu class replacement
https://forum.zdoom.org/viewtopic.php?t=56824
2017-06-09 14:08:26 +03:00
Rachael Alexanderson
63d9148604 Merge https://github.com/coelckers/gzdoom 2017-06-09 05:57:10 -04:00
Christoph Oelckers
8c053c0141 - let P_CheckMissileSpawn also clear MF2_PCROSS before checking the move. 2017-06-08 09:00:26 +02:00
Major Cooke
15df231a95 - Fixed: Vel3DFromAngle's internal function call had the pitch and angle parameters backwards: 2017-06-08 08:54:30 +02:00