Commit graph

14631 commits

Author SHA1 Message Date
Christoph Oelckers
9b5b6342ce - There's really no need anymore to dynamically load RawInput, considering it has been in Windows since XP.
# Conflicts:
#	src/win32/i_keyboard.cpp
#	src/win32/i_mouse.cpp
2020-03-29 13:03:49 +02:00
drfrag
efe87adcf2 - Fix compilation on Linux. 2020-03-25 15:54:48 +01:00
nashmuhandes
47b4ce1a3e Don't draw weapon tags when player tries to switch weapons while they're dead 2020-03-25 15:41:39 +01:00
Rachael Alexanderson
758e27e9b2 - remove assumption in DFrameBuffer::FillBorder that ultrawide screens will stretch an image, since it is no longer the case. 2020-03-25 13:58:54 +01:00
Christoph Oelckers
90823fb824 - clear the screen before drawing content, not afterward.
The intermission screens got it wrong and drew the black border over the image.

# Conflicts:
#	src/wi_stuff.cpp
2020-03-25 13:58:52 +01:00
Christoph Oelckers
2489809e67 - fixed typo. 2020-03-25 13:58:47 +01:00
Christoph Oelckers
3dabf62be8 - forgot to remove the test settings for the fullscreen feature. 2020-03-25 13:58:45 +01:00
Christoph Oelckers
accd7d8c8a - implemented better aspect ratio control for fullscreen images.
Due to backwards compatibility needs and for flexibility this needs to be controlled by a gameinfo setting (fullscreenautoaspect):

0: Treat all images as having an aspect ratio of 4:3, this is the default for compatibility reasons
1: Scale all images to fit the screen, i.e. either pillarbox or letterbox them.
2: Scale all images to fill the screen.
3: Scale all images so that the center 4:3 area is always fully visible. This is the recommended mode for 16:9 images designed to be shown with the sides being cropped on narrower displays.

A new DTA_ tag - DTA_FullscreenEx also exists which allows specifying the scale mode directly

# Conflicts:
#	src/rendering/v_video.cpp
#	src/v_draw.cpp

# Conflicts:
#	src/v_video.h
2020-03-25 13:58:27 +01:00
drfrag
b131230fe3 - Prevent crash on exit trying to load the unsupported sheet fonts. 2020-03-25 12:05:24 +01:00
nashmuhandes
72ecc11e8d Added Actor.CopyBloodColor to copy another existing actor's blood color. 2020-03-24 01:36:58 +01:00
nashmuhandes
105d14358e Move the opaqueBlood member definition so that object size remains unchanged 2020-03-24 01:36:56 +01:00
nashmuhandes
1f0f9e1d9b Opaque blood decals must be defined with 'OpaqueBlood' keyword in DECALDEF 2020-03-24 01:36:55 +01:00
nashmuhandes
152ae71a4f Colorize opaque decals using the bleeding actor's blood color, if the 'Shaded' keyword is omitted from the DECALDEF.
# Conflicts:
#	src/g_shared/a_decals.cpp
#	src/g_shared/a_sharedglobal.h
#	src/p_map.cpp
2020-03-24 01:36:53 +01:00
Magnus Norddahl
1770cead0c Fix compile error when using std::sort with Visual Studio 16.5.0 2020-03-24 01:36:39 +01:00
Christoph Oelckers
f4995a2005 - block StaticPointerSubstitution for non-player objects.
The only safe use of this function is to swap out PlayerPawns for morphing or respawning.
2020-03-24 01:36:37 +01:00
Nash Muhandes
2f2cb9c1c5 Print weapon name tag when switching with "slot" command (#1048) 2020-03-16 11:07:35 +01:00
alexey.lysiuk
eaa7e392d7 - fixed FLineTraceData scripting definition
https://forum.zdoom.org/viewtopic.php?t=67795

# Conflicts:
#	src/scripting/thingdef_data.cpp
2020-03-14 19:15:27 +01:00
alexey.lysiuk
e276f70dfa - replaced assert() in ZScript fields compilation code
Field pointer can be null if error occurred while compiling its definition
2020-03-14 19:11:45 +01:00
alexey.lysiuk
6622801ad5 - added line break to 'No GENMIDI lump' message
'ST_Init: Init startup screen.' is no longer concatenated with the given line
2020-03-14 19:11:43 +01:00
Christoph Oelckers
4e40c4dfa9 - fixed: player_t::GetPSprite cannot guarantee success
As a consequence it must return null in the failure case instead of asserting and all calls to this function must check for the failure case.
2020-03-11 20:18:43 +01:00
Christoph Oelckers
8b976e4222 - default terrain's DamageTimeMask to a reasonable value.
Use 31, which is the default for damaging floor specials instead of 0.
2020-03-11 20:18:39 +01:00
Alexander Kromm
e3baacd9f6 bring minimal save version back, as most of the savegames load fine
# Conflicts:
#	src/version.h
2020-03-09 00:36:55 +01:00
Alexander Kromm
dee1e6d675 aggregate TMap into Dictionary instead of deriving from it 2020-03-09 00:33:51 +01:00
Alexander Kromm
c91c542c23 fix Dictionary and DictionaryIterator memory leaks
# Conflicts:
#	src/version.h
2020-03-09 00:33:48 +01:00
drfrag
dde31dcac4 - Forgot the defines. 2020-03-06 15:36:37 +01:00
drfrag
d8d72f5d75 - Blind attempt at fixing wrong mouse position in OpenGLFrameBuffer and OpenGLSWFrameBuffer 2020-03-06 13:57:52 +01:00
alexey.lysiuk
5946744039 - fixed infinite loop reporting '... before first state' errors
https://forum.zdoom.org/viewtopic.php?t=67729
2020-03-06 13:38:21 +01:00
Rachael Alexanderson
673e52f02f - fix debug assertion, cleanup vestigial A_PlaySound addition 2020-03-04 09:46:09 +01:00
Rachael Alexanderson
c72b64790b - fixed: removed startTime from the wrong function internally. 2020-03-03 10:58:51 +01:00
Rachael Alexanderson
c9476e6188 - remove addition from deprecated A_PlaySound 2020-03-03 10:58:50 +01:00
Rachael Alexanderson
19233e6a82 - add checking in S_StartSound for startTime length 2020-03-03 10:58:48 +01:00
Rachael Alexanderson
4625925a69 - ported over Nash's startTime for A_StartSound 2020-03-03 10:58:46 +01:00
Major Cooke
45c80916bc Added A_StopSounds(int chanmin, int chanmax).
- If both channels are 0, completely silences the actor.
- Adapted A_StopAllSounds to call A_StopSounds(0,0);
2020-03-01 20:27:03 +01:00
Major Cooke
3e77f9a6bd Added A_StopAllSounds. 2020-02-29 20:02:17 +01:00
drfrag
6fd642ed48 Revert "Revert "Stop sources immediately when the sound is forced to stop""
This reverts commit 82c4750710.
2020-02-29 19:35:22 +01:00
drfrag
767a9b6e1b - This is 3.85. 2020-02-29 13:35:05 +01:00
drfrag
797037fcde Oops, fixed default bindings not being loaded from pwads.
# Conflicts:
#	src/console/c_bind.cpp
2020-02-28 19:14:52 +01:00
drfrag
fa5902b538 - Add support for several control layouts. 2020-02-28 12:44:13 +01:00
Christoph Oelckers
d27d2b0e1c - fixed: Windows must call the wide version of _mkdir for Unicode support. 2020-02-26 12:49:15 +01:00
alexey.lysiuk
b99da999a5 - stop all sounds after exiting level regardless of intermission screen
https://forum.zdoom.org/viewtopic.php?t=67521

# Conflicts:
#	src/g_level.cpp
#	src/wi_stuff.cpp
2020-02-23 18:46:36 +01:00
alexey.lysiuk
ffc3c4a530 - fixed comparison with uninitialized data in MAPINFO parser
This issue was reported by Valgrind
2020-02-23 18:46:34 +01:00
Rachael Alexanderson
dfcd5d1dd5 - use GAMENAMELOWERCASE macro for music config defaults
# Conflicts:
#	src/sound/music/music_config.cpp
2020-02-23 11:59:04 +01:00
alexey.lysiuk
d1786bc0c0 - fixed arguments order for ZMusic_Start() function 2020-02-23 11:59:02 +01:00
drfrag
82c4750710 Revert "Stop sources immediately when the sound is forced to stop"
This reverts commit 6b8cebe979.
2020-02-18 15:35:03 +01:00
drfrag
f5f766b948 - Rename the soundfont. 2020-02-17 19:46:48 +01:00
Christoph Oelckers
87875a52ba - backported a few sound code fixes from Raze. 2020-02-15 17:55:42 +01:00
Christoph Oelckers
462368b61d - use floats for sprite depth sorting in the hardware renderer.
Fixed point is clearly insufficient here.

# Conflicts:
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_drawstructs.h

# Conflicts:
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
2020-02-15 17:55:41 +01:00
Chronos Ouroboros
2d1e19dc4b Fixed a crash when trying to include a missing mixin. 2020-02-15 17:55:40 +01:00
Major Cooke
116a935b71 Added source, inflictor and damage flags to AbsorbDamage. 2020-02-11 00:55:21 +01:00
Chronos Ouroboros
0716594437 Mixins now perform a deep copy of the AST. (Fixes default blocks in mixins) 2020-02-11 00:55:19 +01:00
drfrag
71440ac4e8 - Print game version in console at startup, this is for those posting only the startup log. 2020-02-06 20:08:34 +01:00
Braden Obrzut
8e2a21fbfb - Change updaterevision to a CMake script
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 13:58:10 +01:00
alexey.lysiuk
95f4f38695 - moved showing of start window banner to proper location in Cocoa backend 2020-02-02 13:58:07 +01:00
Christoph Oelckers
16d9da97eb - backported fix for loading VOC files.
In NAM there is one that needed a bit of extra treatment.
2020-02-01 20:34:42 +01:00
Chris Robinson
350d57e8db Remove FSoundLoadBuffer since it wasn't doing anything 2020-02-01 20:34:40 +01:00
Chris Robinson
c37caf4498 Remove LoadSoundBuffered since its no longer called 2020-02-01 20:34:37 +01:00
Chris Robinson
435a3885ca Get rid of the LoadSound3D method
It no longer does anything since there's no separate buffer for 3D sfx.
2020-02-01 20:34:35 +01:00
Chris Robinson
1065d18bc4 Update a couple comments about monoized sounds 2020-02-01 20:34:33 +01:00
Chris Robinson
6b8cebe979 Stop sources immediately when the sound is forced to stop
The reason for the previous delay was to allow OpenAL Soft to fade the sound to
silence and avoid a sudden amplitude change, which can cause a "click" or "pop"
noise. However, with OpenAL Soft 1.20, this is a built-in feature of the mixer
so the extra complexity is unnecessary.
2020-02-01 20:34:30 +01:00
Chris Robinson
e7c035ff81 Remove the 'monoize' option from sound loading
Unnecessary with the AL_SOFT_source_spatialize extension, which has been
available for over a year.
2020-02-01 20:34:28 +01:00
Chris Robinson
427b6a0d14 Remove the fallback for lack of AL_EXT_SOURCE_RADIUS
It's been available in OpenAL Soft for years and the fallback method wasn't very good.
2020-02-01 20:34:25 +01:00
alexey.lysiuk
c088d1ec01 - fixed usage of floor sound with Plat_DownWaitUpStayLip special
https://forum.zdoom.org/viewtopic.php?t=67126

# Conflicts:
#	src/p_plats.cpp
#	src/playsim/mapthinkers/a_plats.h
2020-01-31 13:37:05 +01:00
alexey.lysiuk
36cb6b7050 - fixed code generation for very special if+switch combination
CheckReturn() must be called before emitting code, otherwise it will always return false for switch statements
Redundant jump instruction added because of that will point right after the end of function's code when if statement is the last one in the given function
This wasn't a problem for VM because bytecode in question was unreachable
JIT compiler tries to generate native code for a bogus jump destination, and this leads to out-of-bounds read from labels array

https://forum.zdoom.org/viewtopic.php?t=67149
2020-01-30 23:09:43 +01:00
alexey.lysiuk
8b5131eeaa - fixed I_FindAttr() to handle symlinks on POSIX platforms 2020-01-28 20:18:27 +01:00
alexey.lysiuk
3b89c2fd34 - put common POSIX system code to a separate file
# Conflicts:
#	src/posix/sdl/i_system.cpp

# Conflicts:
#	src/posix/cocoa/i_system.mm
#	src/posix/sdl/i_system.cpp
2020-01-28 20:18:13 +01:00
alexey.lysiuk
7d0df9fe3f - exposed Level.MusicVolume to ZScript 2020-01-21 12:17:54 +01:00
alexey.lysiuk
a09d8e40f1 - fixed calling a function on string CVar
https://forum.zdoom.org/viewtopic.php?t=66768
2020-01-19 20:26:37 +01:00
alexey.lysiuk
f42f20ccd3 - added ability to filter VM disassembly dump
Use '-dumpdisasm something' to output functions with 'something' in their printable names
Open and close output file only once when processing code generated by Dehacked, and calculate its sizes as well
2020-01-19 20:26:34 +01:00
Rachael Alexanderson
dd61101193 - add check for unity version of Nerve.wad
- infrastructure in place in case Nerve.wad changes again, this can be extended
2020-01-19 01:33:49 +01:00
alexey.lysiuk
63df9b13d0 - customized invulnerability colormap does not interfere with Powerup.ColorMap
https://forum.zdoom.org/viewtopic.php?t=66955
2020-01-19 01:33:47 +01:00
Alexander Kromm
dbc91da9c5 save and restore config-only variables from proper sections 2020-01-17 20:41:23 +01:00
Alexander Kromm
0ca1809f3e make nosave standalone CVar flag, alongside server and user 2020-01-17 13:02:10 +01:00
Alexander Kromm
1f1da5ba31 make nosave cvars set their value bypassing network code
This may look as a workaround, it is not.

nosave cvars are meant to be used as a storage for statistical data that doesn't
affect gameplay. That's why this data isn't saved to the savefile in the first
place. Therefore, there is no point in sending this data over network. It would
have no meaning on machines other than local.
2020-01-17 13:02:08 +01:00
drfrag
1fed15efc2 - Fixed crash exiting from the iwad selector. 2020-01-13 13:53:19 +01:00
drfrag
004b48d62f - Blind attempt at adding support for 4 XInput controllers. 2020-01-13 13:19:34 +01:00
alexey.lysiuk
8a0581481b - fixed Linux and macOS implementations of I_FindAttr()
At the moment, we assume that dirent struct has d_type member, and DT_DIR is defined
This is true for supported versions of macOS, and Linux with glibc

https://forum.zdoom.org/viewtopic.php?t=66945
2020-01-12 22:26:09 +01:00
Christoph Oelckers
a9df2427ca - compatibility workaround for using Scroll_Texture_Model with a line id of 0.
This would do very bad things if not being checked for.

# Conflicts:
#	src/maploader/specials.cpp
2020-01-12 16:09:07 +01:00
Christoph Oelckers
ae36003901 - store CVARs non-destructively in savegames.
The old method using a single string with a backslash as separator is unable to handle anything with actual backslashes in the data.
It now uses a JSON object with each CVAR being a separate key.

# Conflicts:
#	src/version.h
2020-01-12 16:09:05 +01:00
drfrag
c5aa482437 - Fixed compilation with XP toolsets. 2020-01-12 15:22:07 +01:00
alexey.lysiuk
ab4594e2f7 - fixed A_PlaySound() called from Dehacked
The recently added argument was missing from PlaySound code pointer handling
Verified other Dehacked functions, and changed one incorrect comment
2020-01-12 12:59:44 +01:00
Christoph Oelckers
2d4accf437 - missed a warning. 2020-01-12 12:59:42 +01:00
Christoph Oelckers
f7ead44168 - fixed: The directory scanner for reading a directory into the WAD file system and ScanDirectory were not Unicode capable on Windows.
Both now use the Unicode capable I_Find* interface instead of duplicating all its functionality in multiple platform dependent incarnations.

# Conflicts:
#	src/cmdlib.cpp
#	src/gamedata/textures/image.cpp
#	src/resourcefiles/file_directory.cpp

# Conflicts:
#	src/resourcefiles/file_directory.cpp
2020-01-12 12:59:40 +01:00
Kevin Caccamo
db66f78c16 Attempt to optimize check for ML_DRAWFULLHEIGHT
It is less likely that a line will have the ML_DRAWFULLHEIGHT flag than its' ceiling will be above the neighbouring sector's ceiling and vice versa.
2020-01-12 11:39:21 +01:00
Kevin Caccamo
c75ec6f59f Use != 0 after ANDing with the relevant flags
This is mostly a "just in case" measure, in case I did something wrong with the previous commits.

# Conflicts:
#	src/hwrenderer/scene/hw_sky.cpp
2020-01-12 11:39:18 +01:00
Kevin Caccamo
4335233a49 Fix ML_DRAWFULLHEIGHT flag check 2020-01-12 11:39:16 +01:00
Kevin Caccamo
477381f210 Add handling for drawfullheight flag
Parse drawfullheight flag in UDMF
Draw full height for walls if the linedef has this flag
2020-01-12 11:39:03 +01:00
Kevin Caccamo
d69becfa57 Change ML_NOSKYWALLS and add ML_DRAWFULLHEIGHT
ML_DRAWFULLHEIGHT will be used to draw walls from the front/back sector's floor to the other sector's ceiling.
2020-01-12 11:38:51 +01:00
Kevin Caccamo
43264d9366 Add more ways to prevent GZDoom from drawing skybox walls
Add noskywalls flag to sectors and linedefs

# Conflicts:
#	src/hwrenderer/scene/hw_sky.cpp
#	src/p_udmf.cpp
2020-01-12 11:37:39 +01:00
alexey.lysiuk
068f0420a8 - restored old values for CHAN_... constants
https://forum.zdoom.org/viewtopic.php?t=66929
2020-01-12 00:49:20 +01:00
drfrag
8764f15555 - Set default GL texture filtering mode to none. 2020-01-11 22:54:50 +01:00
drfrag
1ca4e0c98a - Removed ZScript warning. 2020-01-07 20:27:16 +01:00
Alexander Kromm
c96cdc6c35 fix nosave cvar keyword (saved to config, not saved to savegame) 2020-01-07 19:56:00 +01:00
alexey.lysiuk
fd5889e200 - fixed resolving of music aliases with full filenames
https://forum.zdoom.org/viewtopic.php?t=66815
2020-01-07 19:55:59 +01:00
Chronos Ouroboros
fea9814d19 Disabled default blocks in mixins for now. 2020-01-07 19:55:58 +01:00
Alexander Kromm
721faee4d8 add "nosave" cvar token
It makes a cvar value not be saved in a save file.
2020-01-07 19:55:58 +01:00
Christoph Oelckers
f9976fbf25 - reverted the clamping when assigning to FScanner::Number.
This broke unsigned integer parsing without explicitly declaring the constant unsigned.
2020-01-07 19:55:57 +01:00
Christoph Oelckers
176144e0a1 - cleanup.
(The Raven license got removed from sc_man after checking that no Raven code is still present here, this file got a nearly complete overhaul over all those years.)

# Conflicts:
#	src/textures/texturemanager.cpp
2020-01-07 19:55:56 +01:00
Petr Mrázek
848438839b - Run the Alsa MIDI thread every 40ms or so, use non-blocking sequencer 2020-01-07 19:55:55 +01:00
Chronos Ouroboros
24a11f7a9a Fixed some incorrect parentheses in S_PlaySoundPitch. 2020-01-07 19:55:54 +01:00
Chronos Ouroboros
3c71f23afd Removed a redundant switch and added a default case to the mixin parsing code to shut GCC up. 2020-01-07 19:55:53 +01:00