Commit graph

17101 commits

Author SHA1 Message Date
Major Cooke
38eb6db9ce Disabled vertice off-screen check, but fixed it at the same time. If it's desired, the solution is simply commented out in the event its desired. 2020-10-25 15:42:12 +01:00
Major Cooke
18e7b56bdc Restored A_OverlayOffset's ability to cancel out interpolation without the interpolate/add flags. 2020-10-25 15:42:12 +01:00
Major Cooke
7477dfa922 Converted scale and pivot to vectors, and rotation to an angle. 2020-10-25 15:42:12 +01:00
Major Cooke
a6bbddf167 Finished implementing PSprite interpolation for vertices.
- Setting WOF_INTERPOLATE on any of the functions with flags (except A_OverlayFlags) will enable one tic for interpolating.
- Setting PSPF_INTERPOLATE with A_OverlayFlags will permanently enable it for that layer, but requires manual calling.
2020-10-25 15:42:11 +01:00
Major Cooke
c41733e436 Added support for PSPF_FLIP flag and cleaned up. 2020-10-25 15:42:11 +01:00
Major Cooke
7c4c0163a3 Added A_OverlayPivotAlign and A_OverlayVertexOffset.
A_OverlayPivotAlign(int layer, int halign, int valign)
- Aligns the pivot point origin to a corner of the PSprite before applying offsets.
- - halign: Horizontal. Applicable constants are PSPA_<LEFT/CENTER/RIGHT>.
- - valign: Vertical. Applicable constants are PSPA_<TOP/CENTER/BOTTOM>.
- - Default is top left.

A_OverlayVertexOffset(int layer, int index, double x, double y, int flags)
- Allows offsetting the corners of the psprite, granting modders the ability to skew weapon sprites as they see fit.
- - index: The index of the vertice. Valid ranges are between [0,3].
- - x/y: Offsets of vertices.
- - flags: Takes WOF_ flags.

Other changes:
- Removed pivot point interpolation since it's pointless.
- Removed PSPF_PIVOTSCREEN due to complications with it having relativity. This will be revisited either later or in another submission.
- Added ResetPSprite() to be called with BringUpWeapon(), A_Lower(), and morph weapon raising to reset all the new properties to 0.

Nearly ready now. Just some final testing needed.
2020-10-25 15:42:11 +01:00
Major Cooke
42902959a8 - Removed relativity from GetWeaponRect.
- Fixed PSPF_PIVOTPERCENT not being applied at start by default.
- Pivots now start in the upper left corner. Alignment flags are planned next for pivot point starting.

Significant progress made, but more testing still required.
2020-10-25 15:42:10 +01:00
Major Cooke
06b3e384a8 Apply WOF_Relative to A_Overlay/WeaponOffset as well if specified. 2020-10-25 15:42:10 +01:00
Major Cooke
f9f6e896f3 - Added functionality to WOF_Relative. Untested until the relative code from GetWeaponRect is taken out.
- Fixed A_OverlayPivot carrying over copying of X to Y if Y is zero. This is meant to be exclusive to A_OverlayScale only.
- Added WOF_ZeroY to prevent copying X to Y for A_OverlayScale when desired, mirroring A_SetScale's behavior.
2020-10-25 15:42:09 +01:00
Major Cooke
4a3a5c3877 Replaced PSPF_PIVOTOFFSETREL with WOF_RELATIVE.
The idea behind this is to outright remove the relative position adding from the engine side and let it happen with A_OverlayOffset instead. Still more work to do.
2020-10-25 15:42:09 +01:00
Major Cooke
8f74cebd44 Added code for rotating the PSprite, courtesy of IvanDobrovski.
- However, the XY offsets are relative as a result.This must be made toggleable.
2020-10-25 15:42:09 +01:00
Major Cooke
e5ca3caa6c Setting everything up. 2020-10-25 15:42:08 +01:00
Christoph Oelckers
14776aebb6 - some minor adjustments to the console init interface. 2020-10-25 15:41:30 +01:00
Major Cooke
e3d21d09c9 Renamed flag to ALLOWTHRUBITS and rearranged the checks so the flag comes after.
- Since most will have 0 for the property, this will not check for the flag unless the mask fits.
2020-10-25 15:37:15 +01:00
Major Cooke
85a121ad28 ThruBits is now opt-in for convenience with the +THRUBITS flag. 2020-10-25 15:37:15 +01:00
Christoph Oelckers
66abbf647c - this was in the wrong branch 2020-10-25 14:50:45 +01:00
Christoph Oelckers
964417947f - use the border flat as console fallback instead of the title pic.
This tends to work a lot better because it has far lower contrast.
2020-10-25 14:37:29 +01:00
Christoph Oelckers
0e4625867e - moved c_console.cpp to 'common'. 2020-10-25 13:25:31 +01:00
Christoph Oelckers
f912712f9d - cleaned up c_console.cpp to be moved into 'common'. 2020-10-25 13:14:19 +01:00
Christoph Oelckers
59701ddd81 - preparations for separating the notify buffer from the console. 2020-10-25 10:23:54 +01:00
Christoph Oelckers
840b8451bd - moved checks whether to draw the notify buffer out of the class into the calling function. 2020-10-25 09:29:01 +01:00
Christoph Oelckers
194824f810 - some fixes for the console.
* it is now possible to switch back to the main intro loop from the fullscreen console.
* do not distort the background of the fullscreen console. Always draw the console on top of what the main loop currently displays with a translucent black overlay.
* do not use the CONPIC for the fullscreen console as it tends to be more of a distraction than an asset when filling the entire screen.
* cleaned up c_console.cpp and moved several pieces of code unrelated to actual console management out of it.
2020-10-25 09:17:31 +01:00
azamorapl
7676ed641c Expose changing sidedef wallpart flags to zscript 2020-10-25 06:27:20 +01:00
Christoph Oelckers
eab3289043 - only return at the end of the MAP07SPECIAL block. 2020-10-24 21:19:52 +02:00
Christoph Oelckers
838733af4a - do not use the GetFullscreenRect function as a native scripting function 2020-10-24 21:19:20 +02:00
Christoph Oelckers
bc2b0a0252 - added flag option menu item by Accensus. 2020-10-24 17:49:56 +02:00
Christoph Oelckers
8872f863d4 - refinement of the statusbar offset fix to only affect unscaled textures. 2020-10-24 17:11:44 +02:00
Christoph Oelckers
79944ca76a - made status bar offset fixing unconditional.
I think it is inevitable that such status bars will appear in mods sooner or later and with the old code it is virtually impossible to create a wide status bar that displays properly but gets subjected to this code.
2020-10-24 16:59:57 +02:00
Christoph Oelckers
ce17f1aa49 - made the vertical scroller widescreen aware as well. 2020-10-24 15:47:13 +02:00
Christoph Oelckers
e1af278b37 - adapt the bunny scroller to widescreen images.
This only concerns the actual horizontal scroller. The vertical one still needs work and the "The End" screen only works if the second picture of the scroller is the full widescreen image because this page is done as a regular single image page which does not know anything about widescreen asset replacements.
2020-10-24 15:31:45 +02:00
Christoph Oelckers
30e71c7c16 - fixed: Crushing generic floors must use crush mode 2.
This is how Doom always worked. Mode 1 is not useful for one-time crushing effects.
2020-10-24 13:14:00 +02:00
Christoph Oelckers
148e7cd361 - fixed edge case where both Mancubus and Arachnotron have the same replacement and trigger a boss action. 2020-10-24 12:57:41 +02:00
Christoph Oelckers
54ddb400a5 - fixed fullscreen scaling for narrow aspect ratios. 2020-10-24 12:07:05 +02:00
Christoph Oelckers
74925783aa - default to fullscreen mode 3.
The option still remains for cases where it does not work but the cases where mode 3 causes real problems are rare.
All I could find were a handful of poor intermission pics in some old mods which aren't worth keeping this artificial limitation.
2020-10-24 11:36:50 +02:00
Player701
63035d5031 - Prevent calling abstract functions via Super or parent class name qualifiers at compile time 2020-10-19 11:20:50 +02:00
Player701
761dea8640 - Implemented ZScript abstract functions 2020-10-19 08:24:43 +02:00
Nikolay Ambartsumov
628d23a688 Fix crossing multiple lineportals on same tic 2020-10-19 08:21:08 +02:00
alexey.lysiuk
34a8a9302f - removed obsolete probing of C++ standard for GCC and Clang
CMake try_compile() function still requires explicit command line option
2020-10-18 11:34:39 +03:00
Nikolay Ambartsumov
5ece08d12e Make bMaskRotation angles portal-aware 2020-10-18 07:35:10 +02:00
Christoph Oelckers
565a5acd85 - changed order of identifier types to be checked to what it was in 4.3 2020-10-17 15:13:14 +02:00
Christoph Oelckers
28a12d2597 - fixed update check for shadow map tree.
This should only flag the tree as new if it is different from the last one.
This not only caused issues with dynamic updates but also made the renderer recreate the tree's data structures repeatedly.
2020-10-17 15:01:05 +02:00
Christoph Oelckers
14e94aa6c1 - added localization fallback handling for the BigFont in menu items and captions. 2020-10-17 14:00:29 +02:00
Christoph Oelckers
473072d556 - doubled the default for horizontal mouse sensitivity.
This seems to fit more systems.
2020-10-17 13:10:09 +02:00
Christoph Oelckers
fb8bc9876c - clear the button state when entering chat mode.
Since the game cannot be controlled while typing a chat the state must be reset to prevent residual state from triggering actions afterward.
2020-10-17 13:07:30 +02:00
alexey.lysiuk
d4bb2fa418 - fixed detection of Apple's Clang 2020-10-17 13:33:22 +03:00
Christoph Oelckers
0478838a9d fixed side_t::SetSpecialColor.
This never set the needed flags to make the color appear.
2020-10-17 12:28:22 +02:00
Christoph Oelckers
38df70f4bc - clear intermediate entries when inserting an object beyond the end of an array. 2020-10-17 12:08:55 +02:00
Christoph Oelckers
0526e0e04e - fixed: Array.Insert must zero all elements before the new one if something gets inserted outside the existing range. 2020-10-17 11:40:51 +02:00
Christoph Oelckers
d6e962c91e - upgraded code base to C++17.
Mainly to allow using 'if constexpr'.
Older CI compiler setups like GCC 5 for Linux were removed as a consequence.
Windows 32 bit was also removed because there are no plans to do any more 32 bit releases of GZDoom.
2020-10-17 11:39:59 +02:00
Christoph Oelckers
a89afe61f2 - use a few static asserts instead of runtime asserts in the VM's type code. 2020-10-17 10:18:37 +02:00
Christoph Oelckers
4ac7588488 - did a bit of AActor reshuffling so that the new thruBits can be placed into a previously existing alignment gap. 2020-10-17 09:54:31 +02:00
Major Cooke
60f0d35477 Added ThruBits. 2020-10-17 09:51:24 +02:00
Player701
69da5c23a3 - Fixed: Server CVars did not immediately revert to their saved values upon loading a save file.
https://forum.zdoom.org/viewtopic.php?f=2&t=70190
2020-10-17 09:23:39 +02:00
Christoph Oelckers
8e1b091cf3 - disabled negative gravity check.
According to reports on the forum this does not cause bad behavior.
2020-10-17 09:11:44 +02:00
Christoph Oelckers
e636c8044d - fixed menu sound. 2020-10-16 23:25:28 +02:00
Christoph Oelckers
65c52b9825 - Backend update. 2020-10-16 23:25:18 +02:00
Christoph Oelckers
ef7a7cc39d - moved console command line buffer tab completion into their own files.
- layout fixes in load/save menu and confirmation screen.
2020-10-16 22:57:30 +02:00
Christoph Oelckers
a6842b6482 - ensure that sfxinfo_t is always fully initialized, regardless how the setup is performed.
The recent pitch additions did not do this on all possible paths.
2020-10-16 22:57:30 +02:00
Christoph Oelckers
4deb7593b5 - final update of menu code from Raze. 2020-10-16 22:57:30 +02:00
Christoph Oelckers
fa4ab53e7c - script side support for menu transitions. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
cf7518fe43 - added two more system callbacks for menu customization. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
881a77b3a1 - backport of menu transition code from Raze. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
62138decfe - use Raze's layout for load and save game menus.
This has a lot less black void on screen.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
b8281f4758 - Backend update from Raze. 2020-10-16 22:57:28 +02:00
Christoph Oelckers
3ea0658449 - split the savegame manager into a game dependent and a reusable game indepenent part.
- added menu/advance sound alias.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
504f85e6d4 - moved date code to its own file. 2020-10-16 22:57:27 +02:00
Christoph Oelckers
f99ac8b28b - allow struct extensions in zscript.
This is mainly for splitting the Doom specific content off the main definitions for easier reuse.
2020-10-16 22:57:27 +02:00
Christoph Oelckers
3a81c07ecf - moved language switching code to 'common'. 2020-10-16 22:57:27 +02:00
Christoph Oelckers
a08d87beb3 - added a customization hook class for the menu.
Currently the only thing it does is abstracting the menu caption, but more can be added here.
Not exposed to modding yet, though, that's for later.
2020-10-16 22:57:26 +02:00
Christoph Oelckers
4b77064fc4 - moved most of the menu code into the backend. 2020-10-16 22:57:25 +02:00
Christoph Oelckers
f6240ef428 - merged string table callbacks with system callbacks. 2020-10-16 22:57:25 +02:00
Christoph Oelckers
f30285b0ce - route menu's CheckGame call through SysCallbacks.
Needed to be able to move the menu into the backend.
2020-10-16 22:57:25 +02:00
Christoph Oelckers
46043f6278 - moved AutomapBindings export into common code. 2020-10-16 22:57:24 +02:00
Christoph Oelckers
e0d8241a50 - use the backend's GameTicRate in the scripts where applicable.
This should replace TICRATE globally as it is the backend's actual ticking speed (still locked to 35, though.)
2020-10-16 22:57:24 +02:00
Alexander Kromm
aa16fefd88 add a message for the failure case for resetcvar command 2020-10-14 20:19:07 +02:00
Alexander Kromm
92d68d05db rename reset command to resetcvar and do not create a new CVAR 2020-10-14 20:19:07 +02:00
Alexander Kromm
18a8fafd7d add console command to reset a CVAR to default value
Rationale:
1. Now to reset a CVAR to default, the user doesn't need to remember the default value.
2. If a modder wants to reset a CVAR via menu command, they don't need to keep menudef and cvarinfo in sync.
2020-10-14 20:19:07 +02:00
Nash Muhandes
cfbf115c4b
Change A_OverlayTranslation to accept a named translation instead. (#1215)
For more advanced use cases, the Translation member of PSprite can be written to directly.
2020-10-12 11:43:37 -04:00
Nash Muhandes
7bea14e6b2
- Add A_OverlayTranslation to set PSprite translations (#1202)
- Added PSPF_PLAYERTRANSLATED support to the software renderer
2020-10-11 17:14:06 -04:00
alexey.lysiuk
787b0d2480 - setup console handlers earlier to make them available during exit cleanup
https://forum.zdoom.org/viewtopic.php?t=70093
2020-10-10 17:28:09 +03:00
alexey.lysiuk
43a3188bdf - fixed compilation warnings reported by GCC and Clang
src/common/filesystem/file_ssi.cpp:78:20: warning: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
src/common/filesystem/file_ssi.cpp:130:38: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
2020-10-10 17:26:51 +03:00
alexey.lysiuk
1959502a0b - clear current levels' snapshots explicitly if saved game loading fails
Levels that are not defined via MAPINFO could keep stalled snapshots data preventing their loading from scratch

https://forum.zdoom.org/viewtopic.php?t=70115
2020-10-10 13:04:08 +03:00
alexey.lysiuk
5ee272a8b9 - fixed: next secret map was ignored in ending sequence
https://forum.zdoom.org/viewtopic.php?t=70132
2020-10-10 12:19:43 +03:00
Rachael Alexanderson
a2f0c27651 - add option to texture hqresize resize model skins. 2020-10-08 00:30:12 -04:00
Player701
4aec72be5d - Do not error out if some states are missing in an abstract weapon class 2020-10-06 20:07:04 +02:00
Christoph Oelckers
756caede51 - fixed misnamed variable and removed restriction for draw pass in GetFullscreenRect. 2020-10-05 18:32:16 +02:00
Christoph Oelckers
9a994482b1 - store extended sector info directly in FLevelLocals.
This is safer than using the first sector's reference.
2020-10-05 00:39:21 +02:00
Christoph Oelckers
63a338fd73 - changed display in key binding menu to list all bound keys for an action, not just the first two. 2020-10-04 19:28:20 +02:00
Christoph Oelckers
f3d75469c9 - moved two native player menu functions out of the main menu class.
These manipulate entries of that menu and have no business being called from anywhere else than this menu and its subclasses.
2020-10-04 19:08:14 +02:00
Christoph Oelckers
b902440535 - default summary screen's clean scale to false. 2020-10-04 15:14:11 +02:00
Christoph Oelckers
ce25b5bc41 - fixed: The scripted DrawFrame export should not be subjected to ui_screenborder_classic_scaling.
This affected the generic player display where the frame was far too wide.
At most it needs to be an option if properly corrected.
2020-10-04 15:05:00 +02:00
Christoph Oelckers
f1b0f32786 - add an option to the ListMenu class to draw to a fixed virtual screen size.
This allows proper dimensions in the stock menus and should make menu layout for mods a lot easier because coordinates are more predictable than with the clean factors.
The feature is opt-in for custom content. As long as only stock elements are used, the menu will be able to switch between both on its own, but as soon as custom classes or custom elements are used, the virtual size must be declared explicitly, defaulting to clean scaling.
2020-10-04 15:03:29 +02:00
Christoph Oelckers
acd71f7019 - groundwork for menus with a fixed virtual screen size. 2020-10-04 09:16:20 +02:00
Christoph Oelckers
89cc69710c - added config migration handling for the changes to adl_volume_model. 2020-10-04 08:20:42 +02:00
Wohlstand
4bfcbb4b18 libADLMIDI: Fixed a mistake with Volume Model setup
Don't set a bank number instead of a volume model!
2020-10-04 08:14:23 +02:00
Christoph Oelckers
f9ee465741 - backport of some enhancements for Cyrillic font support for Raze.
Now the identical looking characters can be mapped to their Latin counterpart if they do not have their own glyphs.
2020-10-04 08:11:56 +02:00
Christoph Oelckers
ff62d7a8a3 - made sysCallbacks a value variable instead of a pointer to simplify the checks for it. 2020-10-03 16:47:47 +02:00
Christoph Oelckers
2016f56a7e - added a new scaling mode to the level summary screen to scale to a given size.
In this mode the clean scaling factors are ignored and content is always scaled to fit the screen as efficently as possible.
For the default summary screens an option was added to use this mode, which is a lot closer to the original look of this screen.
It is not 100% identical because it still factors in the author, if given and long level names that may be broken into multiple lines of text.
2020-10-03 13:32:18 +02:00
Christoph Oelckers
fbf57e0c1d - fixed some scaling inconsistencies in the summary screen.
The background size wasn't taken into account for the splats and the widescreen check never verified the height of the background image.
It will now unconditionally use the new widescreen expansion mode for everything to reduce problems, use the background's display size for positioning overlays and only in the case of 200 pixel tall images perform widescreen positioning adjustment.
2020-10-03 09:07:29 +02:00
Christoph Oelckers
bd68ef917e - this too. 2020-10-03 08:54:41 +02:00
Christoph Oelckers
91406aa48b - fixed compilation.
Forgot to save these before the last commit. :(
2020-10-03 08:54:21 +02:00
Christoph Oelckers
c1e04b29d1 - AActor size reduction
* a few shorter fields were moved into alignment gaps
* the visible angles are now stored as floats. Since these are only used for rendering the loss of precision is negligible, but this shortens AActor by 16 bytes alone.
2020-10-03 08:23:36 +02:00
Nikolay Ambartsumov
a72fdd7e3e Add MaxSlopeSteepness actor property 2020-10-03 07:53:55 +02:00
Nikolay Ambartsumov
5aeda2b139 Add optional filtering to listmaps CCMD output 2020-10-03 07:38:03 +02:00
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