Commit graph

327 commits

Author SHA1 Message Date
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
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
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
084c2cc7f5 - fixed broken 'y' detection in Doom-style small fonts. 2020-09-26 18:53:42 +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
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
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
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
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
alexey.lysiuk
fc1f14b2eb - extended error messages in pointers serialization 2020-08-27 10:13:18 +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
Magnus Norddahl
8306af298f Switch to use a single triangle when drawing screen quads for a slight cache locality improvement 2020-08-18 11:42:50 +02:00
Chronos Ouroboros
0f86f3a62a Fixed nested structs breaking the ZScript compiler under certain circumstances. 2020-08-15 16:25:59 +02:00
alexey.lysiuk
24200c0c3f - fixed ARM64 compilation issues reported by Xcode 12 beta 4
src/common/engine/stats.h:139:31: error: invalid output constraint '=A' in asm
src/common/platform/posix/osx/iwadpicker_cocoa.mm:379:1: warning: non-void function does not return a value [-Wreturn-type]
2020-08-09 15:40:38 +03:00
Cacodemon345
b0e2c993f7
- added macOS Big Sur and ARM64 detection (#1151) 2020-08-09 15:06:11 +03:00
Perry Fraser
86cf5c9e53
- added native fullscreen mode option to Cocoa backend (#1154) 2020-08-09 14:41:29 +03:00
Major Cooke
a85ee5826e Added $PitchSet <logical name> <float> for SNDINFO.
- Sets the direct pitch of the sound to the specific float. Default is 0.0, meaning do not set a specific pitch. Regular pitch is 1.0.
- Only works for direct sound definitions.
- Overrides $PitchShift unless value is <= 0.0
- Overridden by A_StartSound's pitch parameter if the value > 0.0.
2020-07-24 08:05:44 +02:00
Magnus Norddahl
01eeb8f7c5 Add vk_memstats ccmd 2020-07-23 16:02:14 +02:00
Marisa Kirisame
6e79209931 Optimize UE1 vertex normal computation. 2020-07-11 08:07:38 -03:00
dondiego
c8fe5bcb2e
Bumped version number to 4.5pre. (#1132)
* - Bumped version number to 4.5pre.

* - Delete superfluous include.
2020-07-08 23:24:36 -04:00
alexey.lysiuk
cc07c56c36 - made mouse scaling in Cocoa backend match other platforms 2020-07-05 11:32:45 +03:00
Cacodemon345
61641bd45e Disable JIT VM by default when compiling for DragonFly BSD 2020-07-05 08:53:46 +02:00
Mitchell Richters
8578c11789 - make SDL mouse scaling match that of Windows for consistency. 2020-07-04 18:25:44 +02:00
lucy phipps
53ad870581 escape the escape character 2020-06-21 15:55:42 +03:00
alexey.lysiuk
9629a737b9 - added mixin support to AST output 2020-06-20 16:53:30 +03:00
alexey.lysiuk
18f2cf0fdc - exposed menu blur amount to engine interface
https://forum.zdoom.org/viewtopic.php?t=69056
2020-06-20 12:06:49 +03:00
alexey.lysiuk
04992f2bc8 - fixed leaking full VM frames
https://forum.zdoom.org/viewtopic.php?t=69055
2020-06-20 11:34:04 +03:00