Commit graph

16947 commits

Author SHA1 Message Date
Nikolay Ambartsumov
da97b51c35 Show CVar's default value in addition to current 2020-10-03 07:37:08 +02:00
Rachael Alexanderson
9fbfee3b2d - mark m_noprescale as removed in defcvars also 2020-10-02 20:09:41 -04:00
Rachael Alexanderson
e2e176e0be - remove old 'mouse_sensitivity' cvar completely, it's no longer needed
- update defcvars parser so it no longer looks for it
2020-09-30 01:05:37 -04:00
C.W. Betts
b07c9550cf Update iwadpicker_cocoa.mm
Use proper integer types for ObjC protocols.
2020-09-29 21:47:10 +02:00
Christoph Oelckers
da4e791a3f - delete the FraggleScript thinker in G_NewInit.
If this isn't done it can later cause problems when being taken down by GC
2020-09-28 23:08:48 +02:00
Christoph Oelckers
92d630eb45 - keep mouse coordinates as floats for as long as possible. 2020-09-28 22:12:44 +02:00
Christoph Oelckers
3cfd19b2ef - removed const that erorred out. 2020-09-28 21:38:48 +02:00
Christoph Oelckers
51518d63a4 - cleanup of mouse input code and removal of all magic factors.
Sensitivity scaling of both axes is now exposed as a raw factor to the user instead of obscuring it behind an unclear 'prescale' boolean.
This also consolidates the coordinate processing code to prevent such discrepancies as were present here from happening again.
Migration code for old config settings is present so that this change does not affect existing configurations.
2020-09-28 21:13:34 +02:00
Christoph Oelckers
cd6ef67209 - fixed sounds not stopping in sound sequences.
The sound sequence code used S_GetSoundPlayingInfo incorrectly, so let it check for a valid sound ID first to restore the old behavior.
2020-09-28 18:38:05 +02:00
Christoph Oelckers
cd20ecaae0 - fixed sounds not being serialized for hub travel.
Sound stopping was done in the wrong place - this killed the sound before they could be serialized for hub travel.
The sound may only be stopped *after* calling G_DoCompleted.
2020-09-27 22:29:07 +02:00
Christoph Oelckers
043de8c780 Revert "- avoid double linking to and unlinking from the world for actors."
This reverts commit 8fc9f1e5ef.

As I already feared, this does not work right. The entire linking/unlinking code is simply too fragile. So no protection here against inept tinkering.
2020-09-27 19:56:50 +02:00
Christoph Oelckers
3ef806c2e9 - do not set CTF_Indexed for the software canvas and do not check for the shader to make decisions.
Always check the flag.
2020-09-27 19:55:04 +02:00
alexey.lysiuk
99a0ab2372 - restored old mouse scaling for Cocoa backend
This reverts commit cc07c56c36.
2020-09-27 17:25:28 +03:00
Rachael Alexanderson
c6639427dc - fix compilation in vs2017
(for some reason it was unable to figure out the overrides for 'lumpname' in the function g_level.cpp/CalcMapName, even though this is a very old function)
2020-09-27 10:22:40 -04:00
Christoph Oelckers
5595eb6280 Revert "- make SDL mouse scaling match that of Windows for consistency."
This reverts commit 8578c11789.

This caused more problems than it cured.
2020-09-27 16:20:17 +02:00
Christoph Oelckers
1d863d6cab - made player indexing consistent in i_net.cpp. 2020-09-27 16:19:34 +02:00
Christoph Oelckers
baf93b51af - handle SoftLightLevel properly in the 2D drawer. 2020-09-27 16:09:35 +02:00
Jaime Moreira
fd4d600694 SDL joystick events now work while in menus
- DirectInput axes are now X first, Y second.
- Menu axes controls swapped/fixed.
- Added SDL DualShock3 buttons in menu actions.
- Fixed SDL mouse system cursor; it could appear in-game.
2020-09-27 15:05:15 +02:00
Player701
3a526c9e5a - Implement return type covariance for ZScript virtual functions 2020-09-27 14:18:15 +02:00
drfrag
77609f1950 - Add keybindings presets.
# Conflicts:
#	src/menu/menu.cpp
2020-09-27 14:09:28 +02:00
Major Cooke
200104777b Call SpecialMissileHit directly with zero damaging missiles last to ensure the function is actually triggered. 2020-09-27 14:03:02 +02:00
makise-homura
5720a54da4 Add species parameter to A_RadiusThrust
This is the last parameter for A_RadiusThrust() DECORATE function.
If it is omitted or none, then A_RadiusThrust will behave as usual.

If it is set for some species name, it witt thrust only that species.
Of course, these species should be +VULNERABLE to be thrustable.
2020-09-27 13:58:22 +02:00
Christoph Oelckers
df3dc91514 - fixed crash on texture init. 2020-09-27 13:32:30 +02:00
Christoph Oelckers
348f9ae68c - moved i_net into 'common' to bring it in line with Raze. 2020-09-27 12:30:54 +02:00
Christoph Oelckers
228dfb5b8d - removed dead uBlendColor uniform. 2020-09-27 11:57:17 +02:00
Christoph Oelckers
c65fd80fd2 - added support code for indexed rendering from Raze. 2020-09-27 11:53:39 +02:00
Christoph Oelckers
2be5dc9238 - fixed binding issues in OpenGL when resetting the samplers due to a texture filter change. 2020-09-27 11:53:15 +02:00
Christoph Oelckers
6dd6df96e1 - font side support for 'OffsetsNotForFont' flag. 2020-09-27 11:40:03 +02:00
Christoph Oelckers
b3a179b691 - backported symbol table support for FScanner from Raze. 2020-09-27 11:36:13 +02:00
Christoph Oelckers
8a0634ed0d - file system update from Raze
* support for SSI container format - this is an obscure format used by a few Duke Nukem mods - added to have this subsystem identical between both engines.
* removed some dead wrapper code
* made the Open methods local to their implementations, this was never called virtually.
2020-09-27 10:56:42 +02:00
Christoph Oelckers
79ac41c5b3 - more 'override's. 2020-09-27 10:48:38 +02:00
Christoph Oelckers
31628a70c8 - added some 'overrides' and block 'forcelookup' for script access to textures. 2020-09-27 10:45:45 +02:00
Christoph Oelckers
528e4e46b3 - texture manager update from Raze
* new texture format: ANM - this reads the first frame of a Build-ANM movie as a texture.
* some preparations for indexed (paletted) rendering.
* optimization of the patch texture checker - do not read in the entire file if checking the initial header is sufficient for rejecting it.
2020-09-27 10:38:12 +02:00
Christoph Oelckers
96ceb11af0 - various engine updates from Raze.
* removed refreshFreq variable and related code. This only got into the backend because of stupid interpolation code in some of the Build games which has long been removed.
* save FixedBitArrays as base64 in savegames.
* allow indirections in the string table - by prefixing the language string with '$$' the remaining text is interpreted as another string label to resolve.
* constexpr in palette code, also replacing #defines with enums.
2020-09-27 10:17:58 +02:00
Christoph Oelckers
c65f707a20 - added a proper 'sound finished' callback to the sound engine.
Backported from Raze - without this there is no way to implement sounds that can unload themselves, because the existing ChannelEnded function is called when the sound is still active.
2020-09-27 09:46:12 +02:00
Christoph Oelckers
2b64f8fb19 - added custom sound stream feature from Raze.
Currently not active yet but may be useful to implement streaming sounds in ZScript
2020-09-27 09:38:14 +02:00
Christoph Oelckers
700304bf46 - update of console code.
Backports con_pulsetext and toggle messages for CVARs from Raze.
2020-09-27 09:35:06 +02:00
Christoph Oelckers
c415518066 - allow drawing fonts with explicit palette translations.
Backported from Raze.
2020-09-27 09:19:12 +02:00
Christoph Oelckers
dbf2d4d7d7 - backported all new scaling and rotation options for the 2D drawer from Raze.
With proper scaling and viewport support, things should become a lot easier now. The 2D drawer now also can rotate content by arbitrary angles.
2020-09-27 09:17:41 +02:00
Christoph Oelckers
db895b43b2 - copied constexpr declarations plus a few fixed in utility code and fixed a few places where this triggered a compile error now. 2020-09-27 08:36:30 +02:00
Christoph Oelckers
b66349d4cf - avoid killing timer precision when there's no time scale active. 2020-09-27 08:30:01 +02:00
Christoph Oelckers
8a545431de - fixed the integer readers' internal variables.
Backported from Raze.
2020-09-27 08:13:52 +02:00
Christoph Oelckers
d1e613e514 - use a sector's special sprite color to colorize decals. 2020-09-26 23:39:42 +02:00
Christoph Oelckers
399388d177 - transmit the actual run mode in BT_RUN, because BT_SPEED was poorly designed. 2020-09-26 22:26:26 +02:00
Christoph Oelckers
f4c5a25a52 - fixed: CreateTexBuffer did not check the Inactive flag for the requested translation. 2020-09-26 22:03:15 +02:00
Christoph Oelckers
2f403efba2 - delete textures before starting the ENDOOM screen. 2020-09-26 21:34:36 +02:00
Christoph Oelckers
03d25b75da - fixed height fudging for Heretic's sky textures. 2020-09-26 21:13:00 +02:00
Christoph Oelckers
668ebd9be1 - immediately abort loading a savegame if object deserialization fails.
If the loader is allowed to go on, these objects will be linked into game structures and may do unpredictable things before the loader has a chance to abort at the end.
2020-09-26 20:36:10 +02:00
Christoph Oelckers
48b3a60e6d - fixed: The font init code must check textures, not the file system for existence of required data. 2020-09-26 19:57:53 +02:00
Christoph Oelckers
5c392a220d - fixed: Actors moved to STAT_TRAVELLING need to preserve their JUSTSPAWNED flag.
Otherwise freshly spawned inventory items won't call PostBeginPlay.
2020-09-26 19:37:30 +02:00
Christoph Oelckers
8fc9f1e5ef - avoid double linking to and unlinking from the world for actors.
Some people apparently have to toy around with the engine's innards without fully understanding them. :(
When properly used the saveguards should never be triggered.
2020-09-26 19:09:00 +02:00
Christoph Oelckers
084c2cc7f5 - fixed broken 'y' detection in Doom-style small fonts. 2020-09-26 18:53:42 +02:00
Christoph Oelckers
2ffb447f9e - let non-solid teleporting actors not actually telefrag.
Since they are non-solid they may just be allowed to teleport, even when a monster or player is in the way.
2020-09-26 18:46:39 +02:00
Rachael Alexanderson
c3dc84297e - flat tile backgrounds in intermission now respects 'inter_classic_scaling' cvar 2020-09-24 23:45:51 -04:00
Player701
ec3cd68c1f Fixed extra player translations not working in Heretic with predefined color sets 2020-09-22 18:34:06 +02:00
Player701
58f56bbea6 Fixed: extra player translation tables were not fully initialized. 2020-09-22 13:59:33 +02:00
Player701
c60e026334
Fixed decals not appearing when firing at walls point-blank (#1186) 2020-09-22 07:03:37 -04:00
Player701
734b15e412 Exported FLevelLocals::ChangeLevel to ZScript 2020-09-20 23:12:01 +02:00
Cacodemon345
4374b8017e
Fix FreeBSD compilation (#1184) 2020-09-20 14:47:05 -04:00
alexey.lysiuk
8a4b686881 - fixed constant propagation for operator && in ZScript
https://forum.zdoom.org/viewtopic.php?t=69912
2020-09-20 10:51:04 +03:00
vidaritos
0adbb8d631 pass ScriptPosition down to color parser functions 2020-09-18 20:07:41 +02:00
Cacodemon345
e74b9f1955
Add FALLDAMAGE flag and add property to properly apply falling damage… (#1153)
* Add FALLDAMAGE flag and add property to properly apply falling damage to the monsters

* Change name of propermonsterdamage property to propermonsterfallingdamage
2020-09-15 15:38:51 +02:00
alexey.lysiuk
776e3b10da - fixed setting of skill level via action special
https://forum.zdoom.org/viewtopic.php?t=69858
2020-09-14 10:47:29 +03:00
Kyle Johnson
e281f992af Disallow sound to be played on destroyed actors
It's possible for an actor to call Destroy() in a ZScript method (such
as Tick()) and then subsequently call A_StartSound() to play a sound.
Generally speaking this doesn't happen within a given class, but with a
class hierarchy, Destroy() may be called unbeknownst to a mod developer.
Even though checking bDestroyed is likely good practice, this ensures
that sounds won't be started on actors flagged for cleanup.
2020-09-12 21:38:56 +02:00
AFADoomer
e9af7e7096 Add string table lookup to SECRETS lump handling
- If the hint text portion of a STRINGS lump entry begins with a '$', the value is treated as a string table lookup

Allows SECRETS strings to be translated via LANGUAGE lump.  Reference: https://forum.zdoom.org/viewtopic.php?f=15&t=69827
2020-09-11 08:36:24 +02:00
Rachael Alexanderson
b11298afd5 - rename 'AlwaysCenterStatusBar' to 'FixUnityStatusBar', original name became a misnomer especially with updates that made it more specific in its use 2020-09-07 23:30:40 -04:00
alexey.lysiuk
c46dcd03a3 - fixed a few dangling pointers on traveling between levels
https://forum.zdoom.org/viewtopic.php?t=69747
2020-09-06 17:14:15 +03:00
alexey.lysiuk
0ab2ddca4c - fixed: additional command line was not stored on macOS
Replaced explicit save of configuration file, which doesn't work after recent backend refactoring, with passing of CVARs we need to store to a new GZDoom process

https://forum.zdoom.org/viewtopic.php?t=69790
2020-09-06 15:50:06 +03:00
alexey.lysiuk
0f880bdb50 - removed obsolete code path in Cocoa IWAD picker
Always use arch executable to restart GZDoom with additional command line parameters
2020-09-06 15:42:52 +03:00
Rachael Alexanderson
91a4e6aed4 - do unity data status bar correction only if stbar is in an iwad 2020-09-05 06:18:41 -04:00
Rachael Alexanderson
d1a6831f06 - disallow unity iwad status bar adjustment if offset is already set 2020-09-04 21:30:31 -04:00
Rachael Alexanderson
6c514a4cc4 - For status bars for the Unity iwad - only force offsets if the width is greater than 320. 2020-09-04 08:39:01 -04:00
Rachael Alexanderson
0204051381 - add support for the (as of now) newest version of the Unity re-releases 2020-09-03 23:40:00 -04:00
alexey.lysiuk
adfd5de166 - do not abort saving and loading on pointer serialization errors
Attempt to serialize invalid pointer is reported, and its value is treated as null
2020-09-02 15:21:00 +03:00
Marisa Kirisame
58f5c030fe
Add Travelled virtual for PlayerPawn, akin to the same function for Inventory. (#1169) 2020-09-02 06:12:58 -04:00
Marisa Kirisame
e0aa8db616 Add Pre/PostTeleport virtuals, for special handling of actor teleportation. 2020-09-02 12:02:09 +02:00
alexey.lysiuk
53199e4553 - reset player's blocking line on traveling between levels
It's not obvious where we can reset blocking line in a more generic way, and whether it's possible at all, because this member is exposed to scripting

https://forum.zdoom.org/viewtopic.php?t=69747
2020-09-01 15:02:02 +03:00
Maarten Lensink
34dd9625fc
Display other kills in coop tally screen (#1167)
* Display other kills in coop tally screen

* Showing other when skipping counter
2020-08-30 09:34:53 -04:00
3saster
11cecf7f22
Removed some time specifiers that aren't standard and can crash GZDoom (#1166)
A number of the specifiers were GNU extensions that aren't actually standard
2020-08-29 15:55:51 -04:00
dondiego
560bbf0a9c
- Add the DF2_NO_COOP_THING_SPAWNDM flag to prevent spawning MP things in coop. (#1165) 2020-08-29 15:08:08 -04:00
alexey.lysiuk
254489e34c - fixed compilation warnings reported by MSVC
src\common\audio\sound\s_sound.cpp(556,27): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
src\scripting\vmthunks.cpp(2678,13): warning C4244: 'return': conversion from 'time_t' to 'int', possible loss of data
2020-08-29 14:42:19 +03:00
alexey.lysiuk
60886f389c - fill array of objects with nulls on reserve
When item of object array is reserved but not written, it contains random garbage that is treated as valid pointer by VM and GC

https://forum.zdoom.org/viewtopic.php?t=69703
2020-08-29 13:06:46 +03:00
alexey.lysiuk
f46e3bacb2 - fixed getting state name with incomplete list of actor classes
https://forum.zdoom.org/viewtopic.php?t=69713
2020-08-29 11:08:31 +03:00
alexey.lysiuk
fb20730960 - fixed compilation warnings introduced recently
src/console/c_cmds.cpp:690:11: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
src/scripting/vmthunks.cpp:2698:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2020-08-29 10:36:29 +03:00
MajorCooke
eaba63e13b
View Angles (Part 1 - Redux) (#1002)
* Added ViewAngle/Pitch/Roll properties to actors.

- These are offsets for camera angles that allow turning the camera without affecting aim or movement direction.
- Added A_SetView<Angle/Pitch/Roll>, which will set the view direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.

* Converted functions to be direct-native.
2020-08-27 13:03:06 -04:00
MajorCooke
c57e669044
Added an optional extra float parameter to $pitchshift. (#1150)
- This allows for setting a randomized range for the pitch each time the sound is initialized.
2020-08-27 12:49:59 -04:00
3saster
5803b78147
Implemented Clock Class (#977)
* Simplified some stuff, made up-to-date

* Dealt with DST problems

* Made SystemTime.Format clearscope, as there is no reason for this function to be limited to the ui
2020-08-27 12:43:50 -04:00
MajorCooke
85759e3bd0
Added A_SpriteOffset. (#895)
- Coordinates work akin to A_OverlayOffset: +X shifts to the right, +Y shifts down.
2020-08-27 12:43:09 -04:00
William Breathitt Gray
3e69e44763
Install soundfonts and WOPL/WOPN banks (#874)
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2020-08-27 12:39:56 -04:00
MajorCooke
4cbcb84dc9
Optimized P_CheckPosition. (#1161)
- If the actor passed into the function has THRUACTORS, PIT_CheckThing won't be called anymore.
- Moved THRUACTORS check to just under the self clipping check in PIT_CheckThing.
2020-08-27 12:37:39 -04:00
alexey.lysiuk
fc1f14b2eb - extended error messages in pointers serialization 2020-08-27 10:13:18 +03:00
alexey.lysiuk
dad0a6f977 - fixed typo in serialization error message 2020-08-27 09:57:36 +03:00
Chronos Ouroboros
2e2ee33a98 Fixed an incorrect abort message on out of bounds array access. 2020-08-26 18:16:04 -03:00
Rachael Alexanderson
54a630c3cf - amend last commit: rename the variable to something slightly more meaningful 2020-08-25 19:48:25 -04:00
Rachael Alexanderson
28f7728980 - fix a bug in the png renderer of the software renderer with decals: if the palette remap is missing, don't attempt to use it. (fix null pointer) 2020-08-25 19:10:22 -04:00
alexey.lysiuk
dfd5726eb0 - added bounds checks for serialization of pointers
Bogus pointers and offsets were serialized silently
This will to find other cases of dangling pointers, and protect from loading of broken saved games

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
alexey.lysiuk
f9708e225c - added initialization for line and sector portals
Resizing of portal arrays during serialization could lead to processing of junk data

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
alexey.lysiuk
05f9df7057 - update floor/ceiling for inventory items after traveling
Inventory items had dangling floor and ceiling sector pointers after transition to a new level
This could cause random issues with serialization

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
Alexander Kromm (m8f)
83ffcbf692
autosave and make screenshot only if there is no other game actions (#1126)
In-game fix for this bug: https://forum.zdoom.org/viewtopic.php?f=43&t=59889&start=60#p1121698
because it may be also caused by other scripts or even manually.
2020-08-25 11:54:57 -04:00
Sterling Parker
d2a9de0012
Add PlayerSpawned() event (#1118)
* Add PlayerSpawned() event

* add playerspawned to DStaticEventHandler

* Define PlyerSpawned() correctly
2020-08-25 11:54:20 -04:00