Commit graph

1624 commits

Author SHA1 Message Date
Christoph Oelckers
824d4bd9e3 - fixed: MenuDelegateBase.DrawCaption did not check the 'drawit' flag. 2020-10-17 08:48:24 +02:00
Christoph Oelckers
e636c8044d - fixed menu sound. 2020-10-16 23:25:28 +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
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
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
6336e0e168 - resorted base.zs and constants.zs so that all pure engine content but nothing else is in base.zs, 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
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
35ff0a42a6 - restructured the option menu drawer for easier replacement of the caption handler. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
cc9cadfac1 - moved compatibility cruft out of main implementation file. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
0b317b432e - split the Doom specific menu extensions into their own file. 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
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
Player701
7da9f33cf9 - Fixed truncation warnings in playerdisplay.zs 2020-10-11 09:02:14 +02:00
Player701
4670819ec8 - Fixed a lift in Double Impact E1M7 that could not be used more than twice from the lower area. 2020-10-09 18:40:01 +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
497c474fee - transform mouse coordinates for menu with fullscreen scale 2020-10-05 00:03:00 +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
43eb7d61e7 - helper function for setting up the summary screen. 2020-10-04 15:14:30 +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
Player701
ffb4c52c96 - Added NORANDOMPUFFZ flag to A_Saw 2020-10-04 08:07:13 +02:00
nashmuhandes
56a387ac82 - Fix weapon bobbing interpolation
There was a visual issue where the weapon bobbing would only start interpolating after the player's movement velocity exceeds a certain value.

(Thanks to @Doom2fan for the solution)
2020-10-04 08:06:34 +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
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
nashmuhandes
f467e4bc33 Add grayed-out support to sliders 2020-09-30 18:27:50 +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
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
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
d304e86354 - fixed: Artiflash is not translatable. 2020-09-26 19:22:17 +02:00
Player701
734b15e412 Exported FLevelLocals::ChangeLevel to ZScript 2020-09-20 23:12:01 +02:00
Rachael Alexanderson
7073bd8f5f - add missing SPAC constants 2020-09-18 19:52:03 -04: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
Maarten Lensink
5ef02df827 Count up to level time only 2020-08-31 18:48:20 +02:00
Maarten Lensink
90f40bd8eb Display own and total in coop alt hud 2020-08-30 19:41:17 +02:00
Rachael Alexanderson
0868f65199 Merge commit 'refs/pull/1168/head' of https://github.com/coelckers/gzdoom
# Conflicts:
#	wadsrc/static/zscript/ui/statscreen/statscreen_coop.zs
2020-08-30 09:43:03 -04: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
Maarten Lensink
c81370a9ec Showing time when skipping counter 2020-08-30 15:40:26 +03:00
Maarten Lensink
2e0289e501 Making use of String.Format 2020-08-30 15:12:23 +03:00
Maarten Lensink
005f13b853 Time in coop tally 2020-08-30 03:53:05 +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
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
alexey.lysiuk
c20a7f53c9 - do not report missing camera target if its TID is zero
This handles the case with setting TID of thing to follow after camera spawning, e.g. via ACS

https://forum.zdoom.org/viewtopic.php?t=69690
2020-08-27 11:57:25 +03:00
Nash Muhandes
09a7a0d944
Allow conversation menu cursor graphic replacement. (#1134)
If "graphics/DialogReplyCursor.png" is present, it will be used for the reply cursor. Otherwise, the default ConFont cursor is used.
2020-08-25 11:55:43 -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
Kevin Caccamo
b6f0c4071d
Fix the health bar on Strife status bar (#1080)
* Fix the health bar on Strife status bar

Now, if the player's health is above 100, the green health bar won't be shortened any more.

* Fix the bar properly

Now, the blue and green bars don't overlap. Also, health above 100 goes from right to left, like in Strife: Veteran Edition.
2020-08-08 01:26:59 -04:00
Blue Shadow
7179eaacda - fixed: the minotaur spawned its floor flames regardless of the setting of compat_minotaur
A_MinotaurAtk3 was checking against the CVAR instead of the compatibility flag constant.
2020-07-28 12:25:35 +02:00
Rachael Alexanderson
383f3e5fd6 - change recent /0 fix to conform to UDMF specs 2020-06-25 09:30:52 -04:00
Christoph Oelckers
486e07300c - fixed: Inventory items that are terminated by GoAwayAndDie must be removed from the blockmap and sector lists.
Since they were just scheduled for delayed deletion any map related action they can trigger is unwanted.
2020-06-16 01:11:08 +02:00
Christoph Oelckers
90befff479 - moved out the Doom specific parts from menu.cpp and messagebox.cpp. 2020-06-13 22:43:35 +02:00
Christoph Oelckers
d739587f6b - let blastradius work without an effect actor. 2020-06-12 23:14:58 +02:00
Christoph Oelckers
3a23cc69d6 - since we already got lots of CVAR descriptions from the menu's content, let's use that as CVAR description if none is explicitly provided.
This also necessitated localization support for CVAR descriptions because menu content is multi-language.
2020-06-08 23:37:22 +02:00
Kevin Caccamo
79426c028b Fix Bag of Holding not increasing Firemace ammo capacity 2020-06-08 15:07:31 +03:00
alexey.lysiuk
f58027311e - fixed incomplete disabling of number field menu option
https://forum.zdoom.org/viewtopic.php?t=68075
2020-06-07 15:50:10 +03:00
Alexander Kromm
928c738e19 make various getter and pure-math methods clearscope, and where applicable, const
Original PR: https://github.com/coelckers/gzdoom/pull/532

Status of the original PR

1. Actor
- [already in] deltaangle
- [already in] absangle
- [already in] AngleToVector
- [already in] RotateVector
- [already in] Normalize180
- [already in] BobSin
- [already in] GetDefaultSpeed
- [this PR] GetBobOffset
- [this PR] InStateSequence
- [already in] FindState
- [already in] GetDropItems
- [this PR] DistanceBySpeed
- [this PR] AccuracyFactor
- [not in original PR, for PlayerInfo.isTotallyFrozen] isFrozen

2. PlayerInfo
- [this PR] GetUserName
- [this PR] GetColor
- [this PR] GetDisplayColor
- [this PR] GetColorSet
- [this PR] GetPlayerClassNum
- [this PR] GetSkin
- [this PR] GetNeverSwitch
- [this PR] GetGender
- [this PR] GetTeam
- [this PR] GetAutoaim
- [this PR] GetNoAutostartMap
- [this PR] GetClassicFlight
- [this PR] IsTotallyFrozen

3. C++ methods, to match ZScript:

- [scriptified] AActor::AccuracyFactor() to Actor.AccuracyFactor
- [this PR] AActor::DistanceBySpeed(AActor *, double) — it is a combination of getter and pure math
- [this PR] AActor::Distance2D(AActor *, bool) — called by DistanceBySpeed
- [this PR] AActor::Distance2D(AActor *, double, double, bool) — called by DistanceBySpeed
- [not in original PR, for PlayerInfo.isTotallyFrozen] AActor::isFrozen
2020-06-07 09:39:30 +02:00
Christoph Oelckers
903ca15af2 - manually merged PR for kill count in Requiem MAP23. 2020-06-06 16:25:51 +02:00
Christoph Oelckers
1d1331289a - there is no mace ammo in the bag of holding. 2020-06-06 16:19:11 +02:00
Christoph Oelckers
9f6d244016 - advanced coordinate control for overlays over DTA_Fullscreen images. 2020-06-06 12:51:03 +02:00
Christoph Oelckers
09d163cb2f - fixed: the last frame of the intermission screen wasn't rendered. 2020-06-06 10:38:35 +02:00
Christoph Oelckers
794a53f0c9 - fixed font selection on intermission screen. 2020-06-06 09:39:14 +02:00
Christoph Oelckers
5151dff03c - added a compatibility option for a bad teleporter in the final Strife map. 2020-06-04 14:30:56 +02:00
Christoph Oelckers
328d9c75c4 - redid mouse control for the conversation menu.
Since the page operates on different coordinate systems, the only working way to check the mouse is to store the real coordinates when drawing and check the mouse position against those.
2020-06-04 14:11:36 +02:00
Hugo Locurcio
80c5b4d37b Add a cvar to control weapon bobbing while firing
This simulates a feature found in Crispy Doom, which keeps the
weapon bobbing while firing. This leads to a "smoother" appearance
which may look a bit prettier to some people.

The default value of 0 preserves the old behavior.
2020-05-31 23:12:11 +02:00
Christoph Oelckers
6444a7535c - fixed use of Powerup.Strength in PowerInvisibility.
An integer division made the feature useless.
2020-05-25 16:43:01 +02:00
alexey.lysiuk
1fd2ea46d2 - fixed aiming camera that didn't follow target
https://forum.zdoom.org/viewtopic.php?t=68600
2020-05-18 14:00:48 +03:00
alexey.lysiuk
0631670a66 - restored warning about missing aiming camera target 2020-05-18 13:58:22 +03:00
Major Cooke
079e7ee4e9 Enforce the reflective flag as well. 2020-05-10 10:48:32 +02:00
Major Cooke
b70bc2b152 Fixed an issue where multiple invulnerability powerups could cancel each other out from just one expiring. 2020-05-10 10:48:32 +02:00
Mekboss
4807f4240b Fix MSVS compile bug and add offset parameter for SprayDecal 2020-05-07 09:35:48 +02:00
Mekboss
0e9ca3c850 Replace function variables to DVector3 2020-05-07 09:35:48 +02:00
Mekboss
ba43244764 Add optional direction parameters for SprayDecal and its A_SprayDecal zscript counterpart 2020-05-07 09:35:48 +02:00
alexey.lysiuk
331f3d85d6 - fixed secondary ammo display in strife status bar
https://forum.zdoom.org/viewtopic.php?t=68315
2020-04-30 16:26:12 +03:00
Cacodemon345
4b4ff8dd0e
Fix bouncing missiles not dealing damage when hitting top/bottom (#1068)
* Fix bouncing missiles not dealing damage when hitting top/bottom
2020-04-30 08:55:09 +02:00
nashmuhandes
d563b0339c Apply alpha to the background texture in DrawBar 2020-04-29 21:01:13 -03:00
nashmuhandes
f65a97322e Add an alpha parameter to StatusBar.DrawBar 2020-04-29 21:01:13 -03:00
Skepticist
3377486b8e Added a number of maps that can make use of the MTF_NOCOUNT flag
All but the Hell Revealed case are thanks to Skepticist from Doomworld
2020-04-27 20:30:37 +02:00
PaulyB
573b2958c6 Added MTF_NOCOUNT to spawn flags 2020-04-27 20:30:37 +02:00
alexey.lysiuk
62d4bbbe65 - restored Wads.GetNumLumps() scripted function
https://forum.zdoom.org/viewtopic.php?t=68300
2020-04-21 10:07:24 +03:00
Christoph Oelckers
4fb6b7c7d4 - block off the Substitute function by making it private to the 3 classes that really need it. 2020-04-19 21:08:24 +02:00
Christoph Oelckers
e63871d6f5 - made 3D floor damage transfers optional by adding a new flag bit (2048) and made that mode automatic for the old ZDoom-based light only transfer special. 2020-04-19 13:40:21 +02:00
Major Cooke
a56177f178 Begin TICRATE conversion.
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
Christoph Oelckers
3454314bb1 - separated the Doom specific parts from the compiler backend into a separate file, these parts now get invoked via callback hooks. 2020-04-11 20:20:55 +02:00
Christoph Oelckers
32300f7d26 - use translation slot 0 for reserved content, like font translations. 2020-04-11 20:20:39 +02:00
Christoph Oelckers
80c6d5b276 - renamed more stuff and also moved the Strife teaser voice handling out of the file system. 2020-04-11 14:00:19 +02:00
Erick Tenorio
b2a17dfdc2
- REQUIEM.WAD fixes (#1050)
Fixes for various maps in the Requiem megawad.

Idgames: https://www.doomworld.com/idgames/levels/doom2/megawads/requiem
2020-04-02 05:35:51 -04:00
nashmuhandes
cb6514cc05 Added Actor.CopyBloodColor to copy another existing actor's blood color. 2020-03-23 21:04:59 +01:00
Christoph Oelckers
828cba13a1 - changed translation management so that the fonts also use translation IDs. 2020-03-16 17:23:30 +01:00
Christoph Oelckers
a50a5101bc - fixed another typo. 2020-03-15 15:56:35 +01:00
Christoph Oelckers
0c04cddd28 - allow specifying full palettes in translation definitions. 2020-03-15 10:22:42 +01:00
nashmuhandes
7a141f3aa3 Add help messages for most of the deprecated stuff in ZScript. 2020-03-14 12:56:03 +02:00
alexey.lysiuk
f46e80e2b4 - fixed FLineTraceData scripting definition
https://forum.zdoom.org/viewtopic.php?t=67795
2020-03-14 12:51:06 +02:00
Christoph Oelckers
4201c4fbb5 - fixed A_FireCGun. 2020-03-11 19:47:23 +01:00