Commit graph

2082 commits

Author SHA1 Message Date
Ed the Bat
9bbf65df36 Add GFF_NOEXTCHANGE to Phasing Zorcher flash
The Plasma Rifle does not light the player's sprite, so we must assume the Phasing Zorcher also should not.
2022-11-01 16:46:19 +01:00
Shiny Metagross
f7c3615d3b IQM Refactor Milestone
- Removed bone manipulation code
- Implemented an index in calculateBones to optimize multi-armature actors
- Moved the bone storage object's creation to RenderModels so that the armature array can be sized there
2022-10-31 11:34:55 +01:00
Shiny Metagross
28444d4cfd Bone manipulation start
- Bone manipulation is largely finished, but I need to figure out how to multiply quaternions
2022-10-31 11:34:55 +01:00
Christoph Oelckers
6eab875ec2 - added option to show hub and episode names on the alt HUD.
Still very much work in progress because few mods have set this up.
CVARs default to off and are not exposed to the menu.
2022-10-26 17:44:51 +02:00
Christoph Oelckers
70df444660 - Backend update from Raze
* fix for serializing vector arrays.
* a few adjustments for asan on Windows.
* NOMUSICCUTOFF flag for movie player.
* a bit of cleanup.
2022-10-20 20:12:06 +02:00
nashmuhandes
80a31b074d Disable coronas for now 2022-10-19 22:52:27 +02:00
inkoalawetrust
ea8e3da672 Updated constants.zs. 2022-10-19 22:50:50 +02:00
inkoalawetrust
05a5a4be51 Added the QF_GROUNDONLY flag.
The QF_GROUNDONLY flag makes earthquakes only shake the player while they are standing on the ground.
2022-10-19 22:50:50 +02:00
Shiny Metagross
5670e6f54c Some of the to-dos
- Implemented Animation parameters for A_ChangeModel
- Made a modeldef flag to treat additional model indices as just attachments, meaning they will use armature data from index 0
- Fixed an issue with A_ChangeModel where generated indices lower than smf frame amounts could not actually generate anything
2022-10-19 22:48:57 +02:00
Christoph Oelckers
dbd6a9dea1 - fixed DrawLine commands by giving them a consistent floating point interface. 2022-10-19 20:39:41 +02:00
Rachael Alexanderson
c2373fed99 - heretic: e2m7 - missing texture 2022-10-17 15:48:50 -04:00
Christoph Oelckers
08f66585b7 - un-deprecated the integer MSTime variant.
Due to undefined downconversion rules from double to int, there is no way to safely downcast the return from MSTimef, meaning the function is completely useless for retrieving integral time stamps.
The old version is essential for these cases and must be kept around.
2022-10-09 13:42:51 +02:00
Christoph Oelckers
519005ff4d - snd_reset cannot be shared. 2022-10-02 20:22:23 +02:00
Player701
78360c1888 - Exported GetDisplayTopOffset for font characters to ZScript 2022-09-30 10:07:41 +02:00
Christoph Oelckers
1b762474f0 - added missing obituary for Strife's turret. 2022-09-28 07:56:19 +02:00
inkoalawetrust
69b9f107f0 Added support for BLOCKLANDMONSTERS in Line_SetBlocking.
This PR was written by MrRaveYard
2022-09-28 07:56:12 +02:00
ZZYZX
a4a4e4e9f9 Fix planeval; add direct sector slope manipulation 2022-09-20 15:08:02 -04:00
ZZYZX
f049421831 Modify to have one GetVertexZ rather than IsVertexZSet / GetVertexZ 2022-09-20 15:08:02 -04:00
ZZYZX
a58acfc625 Add vertex height manipulation functions to LevelPostProcessor 2022-09-20 15:08:02 -04:00
nashmuhandes
7ce364bf0f Add sv_noextraammo. When set to true, disables that weird hardcoded behavior from original Doom that gives extra ammo when picking up weapons in deathmatch 2022-09-15 20:41:16 -04:00
Rachael Alexanderson
ca6a2152b9 - add freezetics actor property 2022-09-03 17:58:16 -04:00
Rachael Alexanderson
8468f712e0 - fix arti teleport and arti teleother not respecting useplayerstartz mapflag 2022-08-26 04:11:29 -04:00
nashmuhandes
50d16c75d9 Add corona actor 2022-08-11 20:38:24 +08:00
Christoph Oelckers
362b41be1a - use consistent index types for array function return values. 2022-08-05 21:16:20 +02:00
Marisa the Magician
931211b9db Export FindLumpFullName to ZScript. 2022-08-05 20:25:02 +02:00
Christoph Oelckers
3563c99ead - made adjustments for proper int type promotion to allow internal ZScript to compile with it on.
* Emit a warning when relational comparisons are made between signed and unsigned ints.
* Handle shift operators so that they do not fail for constant definitions.
* changed return type of Array::Size() to signed int as most code out there is using it this way and would otherwise drown in warnings.
* fixed a few deprecation warnings.
2022-08-03 10:26:29 +02:00
Alexander Kromm
46d9564507 localize "Unknown" option menu string 2022-07-30 17:54:19 +02:00
Magnus Norddahl
e2778ba442 Move TexMan.GetCanvas and GetTextureCanvas to common 2022-07-25 18:50:16 +02:00
Magnus Norddahl
bb503950df Add canvastexture definition to animdefs.
Split canvas texture rendering from camera texture rendering.
2022-07-25 18:50:16 +02:00
Magnus Norddahl
0049fea8d6 Add missing DrawText binding 2022-07-25 18:50:16 +02:00
Magnus Norddahl
4f0b02b396 Add a 2d drawer to canvas textures 2022-07-25 18:50:16 +02:00
Shiny Metagross
9ab6557822 A_ChangeModel now has generatorIndex
- To really take advantage of this function, I thought it would be useful to be able to add additional models if the user wants to. Let's say you got a player model at index 0. Your gun model has the same frames, but you don't want to duplicate the modeldef data. With generator index, you don't need to duplicate the data, just tell generator index to clone frame data from index 0.
- Implemented a little something to check if a negative skin or model index were passed, and prevent modders from pulling that off.
2022-07-22 17:11:59 +02:00
Shiny Metagross
69ee1eb0a2 Surfaceskin modification
- Made it so when rendering a model, it clones an smf to use so that data isn't overwritten
- Reimplemented the skin index property. This changes the behavior of this index if CMDL_USESURFACESKIN is activated
2022-07-22 17:11:59 +02:00
Shiny Metagross
ec3d81a34f More fixes
- Let's fill the holes of serialized data so it can properly be removed instead of leaving undefined behavior behind.
- Added CMDL_HIDEMODEL flag. This makes a model index invisible.
2022-07-22 17:11:59 +02:00
Shiny Metagross
e827e9b086 TArrays to TObjPtr
- Made the 2 TArrays into a class called DActorModelData.
- Removed the skinindex and now just uses one index
- Replaced a bunch of nullptr for modelDef checking with NAME_None
- Added some garbage cleanup to A_ChangeModel itself, as well as removing memory of modelData that is no longer needed
- Attempted serialize code, putting up for review
2022-07-22 17:11:59 +02:00
Shiny Metagross
5abadd3aab A_ChangeModeldef
-Added A_ChangeModelDef
A_ChangeModel(modeldef, modelpath, model, modelindex, skinpath, skin, skinid, flags)

This can change the modeldef, model and skins of an actor.

Currently, modelindex and skinindex accept indices from 0-15.

An actor MUST have a modeldef in order to use this function, either defined from modeldef, or given one through the modeldef parameter. You can pass "" to use the same modeldef. Likewise, passing "" for model or skin will just revert to the default model.

Available flags:
CMDL_WEAPONTOPLAYER - If used on a weapon, this instead change's the model on the player instead.

One issue I am aware of right now is that clearing a model by "" sort of works but is buggy. For now you can just manually set the model back using the names explicitly. However, I am stumped and I think getting more eyes on it would help.
2022-07-22 17:11:59 +02:00
Gutawer
937c22ff14
- add a method for filling a shape2d instead of using a texture (#1661)
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-07-16 14:57:22 +02:00
Gutawer
ee0d90a983
- add stencil buffer support for 2d drawing (#1660)
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-07-16 14:56:28 +02:00
Gutawer
1e27fac288 - add a system for setting all of 2D drawing's transform, not just shapes 2022-07-16 14:53:07 +02:00
nashmuhandes
c6ae73d6d2 - Expose ConsoleState to scripts
- Make ConsoleState uint8_t sized
2022-07-16 14:38:47 +02:00
Christoph Oelckers
ef8dd4d01e - fixed and consolidated artifact check in cheat code. 2022-07-15 07:56:22 +02:00
Christoph Oelckers
a952d0f36a -let A_FireProjectile pass through the second return value of SpawnPlayerMissile. 2022-07-14 07:59:52 +02:00
Christoph Oelckers
e1c458ab2f - fixed PoisonCloud's looping animation count. 2022-07-14 07:54:19 +02:00
Christoph Oelckers
b719ab53f8 - weapons are not artifacts. 2022-07-14 00:12:20 +02:00
Christoph Oelckers
a847dacaaa - fix scale members in actor.zs 2022-07-12 16:56:56 +02:00
Christoph Oelckers
ac0a68c7ca - removed the duplicate EPrintLevel definition. 2022-07-11 19:40:58 +02:00
Ricardo Luís Vaz Silva
365131e1e3 rename PrintString to PrintfEx and make it a vararg function 2022-07-11 19:35:51 +02:00
Ricardo Luís Vaz Silva
03c8da8a44 Expose Print Flags to ZScript 2022-07-11 19:35:51 +02:00
Christoph Oelckers
aae1d1439a - reverted AActor::scale to a DVector2.
This was causing comparison precision issues with existing script code.
2022-07-11 12:20:34 +02:00
Christoph Oelckers
2397b9c117 - missed a ZScript declaration. 2022-06-16 08:23:09 +02:00
RaveYard
f9bf6f9311 Implement FVector ZScript for Actor Scale 2022-06-12 17:57:44 +02:00
Blue Shadow
d862bf4347 - added FailSound property to PuzzleItem 2022-06-12 17:26:18 +02:00
Christoph Oelckers
71ce8aa79a - block wipes when streaming movies are playing.
For synchronization purposes they cannot be interrupted by the wipe loop.
This also groups the cutscene state in a struct for readability purposes.
2022-06-06 12:30:47 +02:00
Christoph Oelckers
c62e14d2c1 - Backend update from Raze
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Alexander Kromm
ea007f56f2 fix scrolling when selecting item by key 2022-06-02 19:49:39 +02:00
Major Cooke
d5e448671d Added LightLevel.
- Setting it to any value > -1 will override the sector's light level.
2022-05-31 21:00:31 +02:00
nashmuhandes
f235dcc38e Squashed commit of the following:
commit 553c4c12abd15e5f8fa02496ccfde81bdfdb53b0
Merge: cb03de5d2 add4ff12a
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Mon Feb 14 18:55:52 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

commit cb03de5d2fdcba8a32b83be32579be935c8b6600
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Tue Jan 25 12:54:33 2022 +0800

    Re-add WaterDepth to the custom namedef file

commit 8d1ff3c16018dd7c73c8950aa4c51f2bc0207837
Merge: f201e6307 a9eaae074
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Tue Jan 25 12:52:57 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

    # Conflicts:
    #	src/common/engine/namedef.h

commit f201e630706fc0ea7628b8a32bd5d88afb712208
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sun Jan 16 20:45:27 2022 +0800

    Fix compile error (MAX() -> max())

commit fe292ebd4312afe34b1e35e4c1eafba0dc168920
Merge: 3f9150c4e 12ed24d06
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sun Jan 16 20:37:58 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

    # Conflicts:
    #	src/playsim/p_mobj.cpp

commit 3f9150c4eae1c5c5510e8f9b1c4bfaab46a96b8f
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sat May 29 05:32:54 2021 +0800

    - Implement virtual Actor.FallAndSink for scriptable falling and water physics
    - Added Actor.WaterDepth to retrieve how submerged and actor is, in map units

    Original work credited to "gzdoomthrowaway"
2022-05-31 18:57:38 +02:00
Major Cooke
748156c846 Optimized CanCrossLine.
- Remove P_PointOnLineSide check
- Made CanCrossLine opt-in by requiring the CROSSLINECHECK flag.
2022-05-31 10:46:06 +02:00
Major Cooke
5afd14fd4d Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds. 2022-05-31 10:46:06 +02:00
Major Cooke
b5b2dd0903 Added CanCrossLine virtual for actors.
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-05-31 10:46:06 +02:00
Sally Coolatta
a98c1efc26 Add WorldOffset field
Adjusts the thing's 3D position on render side. This allows for adjusting a thing's visual position without impacting their hitbox.

# Conflicts:
#	src/playsim/p_mobj.cpp
2022-05-31 10:14:32 +02:00
Christoph Oelckers
bc8046ac1a - fix bad MP start spot in 1024.wad, MAP05 2022-05-31 10:05:25 +02:00
Alexander Kromm
5cced2721a scroll if item selected by menu shortcut is out of screen 2022-05-31 10:00:56 +02:00
Alexander Kromm
38fcfa5ba9 get rid of unnecessary string conversions in option menu shortcuts 2022-05-31 10:00:56 +02:00
Alexander Kromm
7eb12fa9fb implement jumps in option menus
Enables shortcuts for option menus. Press a key to immediately jump to the next
option menu entry which starts with this key. Hold Alt to jump backwards.
Compatible with localized menus (checked on Russian).
2022-05-31 10:00:56 +02:00
Kevin Caccamo
eb15d97fe3 Fix a few mistakes, and improve consistency 2022-05-31 09:51:24 +02:00
Kevin Caccamo
c3e9f22ca1 Remove "static" from Object intrinsic methods 2022-05-31 09:51:24 +02:00
Kevin Caccamo
f4e84d99af Remove documentation for dynamic arrays 2022-05-31 09:51:24 +02:00
Kevin Caccamo
8817ed865c Add details on how to call static Object methods 2022-05-31 09:51:24 +02:00
Kevin Caccamo
f4328f8187 Update documentation for vector type intrinsics
As suggested by MajorCooke
2022-05-31 09:51:24 +02:00
Kevin Caccamo
ef776d14ce Make some corrections, and document more things
Change "class" on intrinsic types to "struct" because they are not objects, and they cannot be used in arrays.
Document IsAbstract() method.
Document Font casts.
2022-05-31 09:51:24 +02:00
Kevin Caccamo
70e26f5d30 Document intrinsic math and RNG functions
Also, document casts/"constructors" for Name and Sound
2022-05-31 09:51:24 +02:00
Kevin Caccamo
1801b2ee58 Add documentation about a few more things
- Color class
- String concatenation operator
- Object.GetClass
2022-05-31 09:51:24 +02:00
Kevin Caccamo
6f4f38a34b Initial work on documenting ZScript intrinsics 2022-05-31 09:51:24 +02:00
Major Cooke
31fa78d7c9 Added the following GL Light flags:
- `DontLightOthers`: Acts as the inverse of `DontLightSelf`, where it won't light actors that aren't the owner.
- `DontLightMap`: The light doesn't affect the map.
2022-05-31 09:12:59 +02:00
Christoph Oelckers
0a6cd28af9 - removed leftover debug message 2022-05-24 00:05:44 +02:00
Christoph Oelckers
7ba2585490 - exclude keys from ‚artifact‘ cheats 2022-05-24 00:01:51 +02:00
Rachael Alexanderson
f87c7b538a - add sv_ammofactor to change the skill adjustment for ammo 2022-05-18 15:09:13 -04:00
Christoph Oelckers
e639030276 - fixed music in intermissions.
The starting of the first screen's music must be delayed until the playback of this screen actually starts.
Since the controller objects are created up front it cannot be done in the Init() method anymore.
2022-05-11 09:06:57 +02:00
Christoph Oelckers
9963b5a57f - fixed mouse coordinate checks for Strife conversations
ypositions needs one entry per response, not one per line.
2022-05-09 00:11:53 +02:00
Christoph Oelckers
4b5431a81d - fixed radius of BossBrain actor 2022-05-09 00:00:28 +02:00
Major Cooke
9dea7cbaf9 Added QF_3D flag for quakes. When used, the quake thinker will perform a 3D distance check instead of 2D. 2022-05-08 07:52:07 +02:00
Marisa Kirisame
6e544a1d41 Fix co-op softlock in Heretic E4M8 due to multiplayer teleporter. 2022-05-04 05:50:48 -04:00
Christoph Oelckers
8381ec6c71 - added missing BLOCKF_ flags for ZScript. 2022-04-29 01:14:55 +02:00
Christoph Oelckers
bd885977e8 - added MSTimef script function
This also deprecates MSTime due to value range / overflow issues.
2022-04-29 00:47:06 +02:00
Christoph Oelckers
c855ed90ea - made friendlyseeblocks writable.
There’s really no need for this to be read-only.
2022-04-29 00:33:42 +02:00
Christoph Oelckers
c83344f5c2 - removed all remains of the corpsegibs flag and made vileghosts interactive
Ghosts are still off by default, but they will now be enabled when selecting the vanilla (strict) compatibility mode.
2022-04-29 00:28:34 +02:00
Christoph Oelckers
519ecbe8eb - added Get/SetAmmoCapacity ZScript functions 2022-04-29 00:12:51 +02:00
Christoph Oelckers
9b0b44d83b - proper handling for running an end-of-game intermission. 2022-04-27 10:53:07 +02:00
Christoph Oelckers
ce59b47e93 - make StatusScreen inherit directly from ScreenJob 2022-04-26 20:50:37 +02:00
Christoph Oelckers
0de3ff81e1 - add wipe transition support to the screenjob runner. 2022-04-26 20:50:37 +02:00
Christoph Oelckers
082daccd2d - summary screen is working again
minus the initial wipe…
2022-04-26 20:50:36 +02:00
Christoph Oelckers
336c45aaa4 - SCreenjob fixes
Still doesn’r show anything but we got it all set up now.
2022-04-26 20:50:35 +02:00
Christoph Oelckers
1bb750c061 Screenjob WIP stuff 2022-04-26 20:50:35 +02:00
Christoph Oelckers
0d23db5b4a - wrapper classes to run existing intermissions and status screens as screenjobs. 2022-04-26 20:50:35 +02:00
Christoph Oelckers
e5baef837a - text screen helper stuff for cutscene system. 2022-04-26 20:50:34 +02:00
Christoph Oelckers
933fa62782 - added the script side core module for the cutscene system. 2022-04-26 20:50:34 +02:00
Christoph Oelckers
a491085822 - added missing range check for scrolling down an option menu with the mouse wheel. 2022-04-18 00:09:38 +02:00
Christoph Oelckers
05260d8e8a - don't let "give weapons" hand out abstract weapons. 2022-04-16 22:19:38 +02:00
Rachael Alexanderson
36245ae598 - allow artifacts that do not automatically activate to be given by the 'give artifacts' cheat 2022-04-11 15:59:20 -04:00
Lippeth
7830033722 - added vertical bullet spread relative to ssg 2022-04-09 22:46:20 +02:00
RaveYard
196d2efc86 Add CHF_DONTIDLE for A_Chase 2022-03-23 21:51:35 +01:00
Christoph Oelckers
a685754abf - added a time widget to the level stats display on the alt HUD, similar to how Raze does it. 2022-03-22 08:35:18 +01:00
Rachael Alexanderson
a245e4faad - remove default lost soul translucency 2022-03-08 10:57:48 -05:00
Rachael Alexanderson
36629d2f80 - revert the previous two commits for now - needs further optimization and testing 2022-02-23 06:00:14 -05:00
Major Cooke
992141d8e3 Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds. 2022-02-23 05:20:09 -05:00
Major Cooke
bb862098ea Added CanCrossLine virtual for actors.
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-02-23 05:20:09 -05:00
Major Cooke
421c40e929 Replaced GetTerrainDef with the global Terrains array. 2022-02-22 19:35:50 +01:00
Major Cooke
8a61badcad Removed some residuals. 2022-02-22 19:35:50 +01:00
Major Cooke
579c4152d2 Added GetTerrainDef and Sector variant of GetFloorTerrain.
- GetTerrainDef takes the raw number of the Terrains[] index. Can return null.
- GetFloorTerrain (Sector) gets the defs from the position given (either Sector.Floor or Sector.Ceiling).
2022-02-22 19:35:50 +01:00
Rachael Alexanderson
c926b7533f - play both land and grunt sound if not the same, even if grunted (emulates pre-virtual behavior) 2022-02-17 01:36:38 -05:00
Christoph Oelckers
e6184ccb96 - silence some warnings. 2022-02-14 20:05:42 +01:00
Rachael Alexanderson
64ee08d80b - fix: player landing sound was not properly playing, error in morph logic check 2022-02-14 10:17:52 -05:00
Rachael Alexanderson
add4ff12ac - virtualize player landing on thing sound 2022-02-14 08:07:10 +01:00
Rachael Alexanderson
410c35b942 Merge commit 'refs/pull/1508/head' of https://github.com/coelckers/gzdoom 2022-01-24 12:30:59 -05:00
emily
20d16381f8 Add TexMan.SetCameraTextureAspectRatio
Allows ZScript to change the aspect ratio of a camera texture.
2022-01-24 12:18:55 -05:00
Major Cooke
4e8d59951b Added A_SetViewPos(Vector3 Offset, int Flags = -1)
- Offset: The offset from the actor's view to move the camera about.
 - Flags: (Default is -1, which means don't change flags)
  - VPSF_ABSOLUTEOFFSET: Don't include actor angles in calculation.
  - VPSF_ABSOLUTEPOS: Position is absolute, and disables all transformations. Modders are responsible for being portal aware!

Notes:
- `ViewPos` in Actor will be `null` until A_SetViewPos is called for the first time.

**Issues:**
- Hiding sprite while in portal incomplete.
2022-01-24 12:00:33 -05:00
Xaser Acheron
bfb79e5b32 Merge branch 'master' into feature_weaponscale 2022-01-23 20:01:59 -06:00
Xaser Acheron
e9c86017e4 apply WeaponScaleX/Y to all PSprites on a weapon 2022-01-23 19:59:06 -06:00
Rachael Alexanderson
2ab4539d40 - fix logic error with shader compatibility layer 2022-01-21 16:40:04 -05:00
Xaser Acheron
0d8d4a2ad7 fix mbf21 A_FindTracer fov cone being twice as big as intended 2022-01-18 08:06:29 +01:00
Xaser Acheron
efbb31fa39 add SMF_PRECISE flag to mbf21 A_SeekTracer, for accuracy 2022-01-18 08:06:29 +01:00
Xaser Acheron
40a5c4c1c5 fix mbf21 A_SeekTracer not working (arg type shenanigans) 2022-01-18 08:06:29 +01:00
Xaser Acheron
a4b124bff8 fix mbf21 A_ConsumeAmmo ignoring explicit amount arg if weapon's ammopershot field set 2022-01-18 08:06:29 +01:00
Xaser Acheron
cf04ebb774 fix MBF21 A_WeaponProjectile spawn position 2022-01-18 08:06:29 +01:00
Christoph Oelckers
84458ddb9f - redid postprocessing shader interface to be free of the player dependency.
This is something that really should be done in higher level code - the shader interface should only concern itself with the shader and not the conditions that block its use.
The Shader class has been redone as a thin wrapper and been deprecated.
2022-01-17 00:07:43 +01:00
Christoph Oelckers
be103bd9dc - fixed: the powerup item for respawn invulnerability was never given to the player. 2022-01-07 00:39:22 +01:00
Christoph Oelckers
32de663210 - fixed MBF21's A_SeekTracer.
This cannot directly call A_SeekerMissile because that has more parameters. It now maps to a wrapper that takes care of these.
2022-01-07 00:33:56 +01:00
drfrag
2945e10a0e - More wrong tracer flags in ActorMover. 2021-12-24 16:37:58 +01:00
drfrag
395b5695ad - Fixed: ActorMover was not changing its tracer's flags. 2021-12-23 21:28:27 +01:00
Player701
2ce5b49cab - Exported the "paused" global variable to ZScript 2021-12-06 16:26:34 +01:00
Rachael Alexanderson
4db7a20f7a - apply clearscope to ApplyDamageFactor as well 2021-11-18 21:29:08 -05:00
Xaser Acheron
0b93aef776 add WeaponScaleX/WeaponScaleY properties for applying global scaling to a weapon's PSprites 2021-11-14 23:21:07 -06:00
Rachael Alexanderson
01b825b181 - apply clearscope for ApplyDamageFactor - https://forum.zdoom.org/viewtopic.php?f=15&t=73830 2021-11-13 11:07:42 -05:00
nashmuhandes
c2b3600981 Add a render style parameter to Screen.Dim 2021-10-29 21:08:32 +02:00
Marisa Kirisame
95b8629fe0 Allow customization of pause screen. 2021-10-16 11:33:30 +02:00
Marisa Kirisame
d5ad8b28ec PreTravelled virtual for player and inventory. 2021-10-15 17:37:19 +02:00
Marisa Kirisame
bc75dc056e Compat patch for misplaced items in Hexen MAP08. 2021-10-14 21:35:32 +02:00
Marisa Kirisame
7c591cd0e9 Allow map markers to scale relative to automap zoom. 2021-10-08 16:03:51 +02:00
Christoph Oelckers
3c961a2aa2 - avoid multiple Dehacked mappings to the same function.
Due to some MBF21 related changes these would cause interference.
Instead the two affected functions, A_NailBomb and A_RadiusDamage are now separate script functions that just call A_Explode with the correct parameters.
2021-10-03 18:16:37 +02:00
Marisa Kirisame
457f7c31c3 Allow WorldUnloaded events to know the next map name (if any). 2021-10-01 20:18:36 +02:00
Blue Shadow
f517d33ecf - fixed A_Punch having a short attack range (take 2).
The previous attempt to fix this did so partially; the range was fixed for AimLineAttack, but not for LineAttack, too.
2021-10-01 20:13:51 +02:00
Blue Shadow
3b31dda6b8 - resolved a VM abort upon morphing while the tome of power is active 2021-09-24 13:34:35 +02:00
Christoph Oelckers
6c12a8de12 - properly track whether some action in the current frame may have triggered a dynamic light activation. 2021-09-21 20:31:43 +02:00
Christoph Oelckers
fc2818b195 - menu system update from Raze for better control of animated menus. 2021-09-18 12:19:35 +02:00
Christoph Oelckers
914b54ffd5 - fix compatibility handler for KDiZD's Z1M3.
The sector needs both tags - the original 83 for the deep water effect, plus 82 for the fade, to render and act correctly.
2021-09-17 23:35:03 +02:00
Christoph Oelckers
08baad6e21 - fixed melee attack disance being off after adding MBF21 support. 2021-09-17 22:59:30 +02:00
Christoph Oelckers
fdf879167c - fixed bad parameter order in MinoraurSlam. 2021-09-16 07:45:09 +02:00
Christoph Oelckers
9aeb78ae97 - marked several invisible controller things to not show on the automap with the scanner powerup.
am_cheat will still show them.
2021-09-12 13:18:40 +02:00
Christoph Oelckers
78566c0d52 - replaces "BS" and "ED" on the on-screen keyboards with the symbols normally found on the keyboard for these actions. 2021-09-09 14:00:00 +02:00
Alexander Kromm
3102640210 fix options search when menus are defined recursively 2021-09-03 19:40:55 +02:00
Christoph Oelckers
73f73cdf7c - added a null check to CheckWeaponChange. 2021-08-12 20:28:04 +02:00
Christoph Oelckers
99c66071fb - use original menu spacing for skill and episode menus if all elements are patches. 2021-08-10 21:08:26 +02:00
Christoph Oelckers
55520ed7d0 - fixed exploding barrel animation duration. 2021-08-10 18:57:31 +02:00
Christoph Oelckers
8747145c97 - dim depleted inventory items in all games, not just Strife. 2021-08-10 18:46:23 +02:00
Christoph Oelckers
28f2d36732 - removed declaration for Screen.GetTextScreenSize.
This function does not exist in GZDoom.
2021-08-04 08:00:49 +02:00
Christoph Oelckers
c1a8776a15 - updated common code from screenjob branch.
That is, all parts not related to cutscenes.
2021-08-03 12:30:44 +02:00
Major Cooke
e91485c50c Added GetString/Int/Double/Object(UI) functions to Service.
- These functions serve to deprecate (UI)Get and allow for reducing string translations, as well as passing in objects for maximum flexibility.
2021-07-27 16:26:39 +03:00
alexey.lysiuk
411b4976c0
- fixed EBlastFlags enum definition 2021-07-21 15:44:07 +03:00
Kaelan
65d9d83ddd Add 'BF_ONLYVISIBLETHINGS' Flag to A_Blast
Adds 'BF_ONLYVISIBLETHINGS' flag to A_Blast, and enables A_Blast to only affect actors that have a line of sight to calling actor.
2021-07-21 06:48:50 -04:00
Christoph Oelckers
15a0baadd6 - fixed ZScript compilation. 2021-07-08 10:04:47 +02:00
Christoph Oelckers
fbf5b9f2d7 - MBF21: fix for missile flag checks. 2021-07-06 10:35:44 +02:00
Christoph Oelckers
2d63974d3a - fixed: splashes need the MOVEWITHSECTOR flag. 2021-07-02 08:16:29 +02:00
Christoph Oelckers
ff129b26d1 - MBF21: added the code generator for the new functions. 2021-07-01 17:42:24 +02:00
Christoph Oelckers
483c1f6dcf - MBF21: added the weapon functions. 2021-07-01 17:42:24 +02:00
Christoph Oelckers
c700682a36 - MBF21: ported the code pointers to ZScript.
So far it's just the functions and some initial changes to Dehacked's parser. None of this is usable yet.
2021-07-01 00:53:15 +02:00
Christoph Oelckers
1a0398ae59 - MBF21: new weapon flags.
Except for NOAUTOSWITCHTO all remappings to existing features.
2021-06-30 17:19:38 +02:00
Christoph Oelckers
b043a5a5de - add melee range support to A_Saw and A_Punch.
This is merely for MBF21 support and not a recommended editing feature! There are better ways to define the range of a player's attack!
2021-06-30 14:48:13 +02:00
Christoph Oelckers
9b3782ea0f - MBF21: remaining actor properties. 2021-06-29 22:32:38 +02:00
Christoph Oelckers
e2e8ec8b3e - MBF21: implemented thing flags. 2021-06-29 21:08:58 +02:00
Christoph Oelckers
bca8d01ab3 - MBF21: infighting groups. 2021-06-29 01:34:14 +02:00
Christoph Oelckers
c4ed0cefde - MBF21: implemented new line flags.
While 'block players' was just a simple remap, 'block land monsters' required quite a bit of work...
This also fixes the bug that BLOCK_FLOATERS was never checked for sliding against a wall.
2021-06-28 20:17:08 +02:00
Christoph Oelckers
057cc0678b - MBF21: handling of new flags in sector special. 2021-06-28 16:20:35 +02:00
Player701
adad028b33 - Fixed impassable exit line in 007ltsd.wad E4M7 2021-06-08 14:56:44 +03:00
Christoph Oelckers
dc7ba3778d - fixed explosive damage radius for clericflame.
This was fixed before but must have gotten lost somehow...
2021-06-07 07:46:13 +02:00
nashmuhandes
75e18cca3c Fixed wrong parameter type passed into TryMove here 2021-05-28 09:10:43 +02:00
Chronos Ouroboros
f19f825ccb - fix DaggerAlert using FindState incorrectly. 2021-05-28 00:34:04 -03:00
Rachael Alexanderson
2ca2076a3f - add missing break statement 2021-05-25 23:02:16 -04:00
Christoph Oelckers
dfe6a09b8c - fix for "Return to Phobos (return01.wad) has an ancient bug in map E1M2 where the switch to raise the exit bridge doesn't work in versions of Doom past patch 1.2." 2021-05-25 10:12:51 +02:00
Dasperal
8c75c23822 - Fixed bug with BishopPuff moving in wrong direction 2021-05-23 19:42:38 +02:00
nashmuhandes
aeaa7f21c7 Add some new optional parameters to A_SprayDecal:
- useBloodColor: when true, the sprayed decal will be shaded to match the calling actor's blood color.
- decalColor: when defined, the sprayed decal will be shaded to the specified color. Note that this will take precedence over useBloodColor. It is recommended to use only one parameter.

Note that due to how decals work in the engine, the "decalColor" parameter will only properly colorize the decal if the image is grayscale.
2021-05-22 10:20:52 -04:00
Alexander Kromm
7b31ba7cc8 move Service to engine directory 2021-05-22 16:11:35 +02:00
Alexander Kromm
120c8b77d1 allow partial match for finding services by name 2021-05-22 16:11:35 +02:00
Alexander Kromm
7d01d0450f add proper scoping to server interface functions 2021-05-22 16:11:35 +02:00
Alexander Kromm
c7658b691c add service interface 2021-05-22 16:11:35 +02:00
Rachael Alexanderson
f01b901a04 - fix hexen status bar as suggested in this topic: https://forum.zdoom.org/viewtopic.php?f=2&t=72332 2021-05-21 10:27:44 -04:00
Cacodemon345
9a860ae445 Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
This also gives the caller the information whether the LineAttack
hitscan passed through a portal regardless of whether it actually hit an
actor or not as a nice bonus.
2021-05-20 19:42:29 +02:00
alexey.lysiuk
98a9729da2 - fixed return type of Actor.GetCVarString()
https://forum.zdoom.org/viewtopic.php?t=72334
2021-05-20 12:01:52 +03:00
Christoph Oelckers
a3da915812 - gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior. 2021-05-19 19:46:04 +02:00
Christoph Oelckers
28dab3889b - moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
This got changed because switching weapons in EndPowerup is not safe - this can be called from weapon states where the player can end up with a different weapon being active than the one running the state.
The actual weapon switch has to be delayed until the state processing has ended.
2021-05-19 17:59:44 +02:00
Christoph Oelckers
8a4fa8b65f - backend update from Raze. 2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb Revert "- fixed some uses of postincre,ment/decrements on narrow types."
This reverts commit 668f8f2cf6.

Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."

This reverts commit a94f5dd1b3.

None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
6ebe30ce44 - fixed time positioning on stat screen.
This was still a hard coded offset, but with a two-line time display it needs to be dynamic in case the font is too tall.
2021-05-17 12:21:38 +02:00
Christoph Oelckers
668f8f2cf6 - fixed some uses of postincre,ment/decrements on narrow types.
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
a94f5dd1b3 - added a proper error message when '--' or '++' gets used on 8 or 16 bit values. 2021-05-17 12:27:27 +02:00
Christoph Oelckers
f4143f7624 - added a few missing statusbar constants- 2021-05-17 12:07:10 +02:00
Christoph Oelckers
161f3a3c07 - don't display keys on the HUD in deathmatch. 2021-05-17 12:06:44 +02:00
Christoph Oelckers
ebbc94280e - fixed: The PrisonPass's TryPickup method did not properly report successful pickup. 2021-05-17 11:51:06 +02:00
Christoph Oelckers
cf3c573222 - give the first 16 DEHEXTRA states proper content.
No idea where this BLD2 stuff came from...
2021-05-07 23:03:46 +02:00
Christoph Oelckers
52554dc32c - Backend update fron Raze, mainly new script exports and extensions. 2021-05-03 14:13:03 +02:00
nashmuhandes
afd7b2e954 Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString 2021-04-26 23:04:39 +02:00
nashmuhandes
c12a671b3e Made OptionMenuSliderBase::IsGrayed virtual 2021-04-26 23:02:35 +02:00
Marisa Kirisame
a172513535 Expose level_info_t to scripting + helper functions. 2021-04-24 22:37:50 -04:00
Blue Shadow
55ce0510c2 - added a A_SetFriendly function 2021-04-04 08:57:56 +02:00
sgrunt
0c776e3acd Move the modified behaviour to a new "resetvel" parameter 2021-03-19 20:12:20 +01:00
Blue Shadow
acd553aa6f - account for KEEPDEPLETED flag when destroying items with InterHubAmount of 0 upon leaving a level 2021-03-19 20:10:25 +01:00
nashmuhandes
229b065289 Add missing tag for Strife's KneelingGuy. 2021-03-18 19:11:37 +01:00
nashmuhandes
43937e4338 Add missing tag for the sub-Entity bosses. This was missed in the previous commit. 2021-03-15 22:05:25 +01:00
nashmuhandes
b28e5cb917 Add GetCharacterName() to retrieve an NPC's name as defined in its dialogue script, if it exists. Otherwise it will just return the same output as GetTag(). 2021-03-15 21:31:16 +01:00
nashmuhandes
45c1cc8c08 Add tag properties to Strife's enemies. 2021-03-15 20:10:49 +01:00
nashmuhandes
c7edb9d22f Add a null check in PlayerPawn::CheckFOV 2021-02-28 20:01:59 +01:00
Xaser Acheron
41ab1e4994 adjust defaults for DEHEXTRA states to match other ports:
- sprite is TNT1
- duration is -1
- next frame is itself
2021-02-24 22:46:50 +01:00
nashmuhandes
d98b401daf Add missing ZScript constants for the Strife targeter PSprite layers 2021-02-19 09:56:44 +01:00
Alexander Kromm (m8f)
99ab1e3317
add Pi and some other constants to ZScript (#1304) 2021-02-13 21:34:19 +01:00
Alexander Kromm
a2f8b7d0df add "hidepartimes" MAPINFO/GameInfo property 2021-02-02 03:36:06 -05:00
Rachael Alexanderson
0cbcb87768 - oops, add startTime = 0.0 for S_Sound 2021-01-18 04:05:08 -05:00
Rachael Alexanderson
d3804911cf - Fix the previous commit
Revert "Fixed a missing parameter in S_Sound's ZScript prototype that was causing assertion failures."

This reverts commit 619f44decd.
2021-01-18 04:02:12 -05:00
Marisa Kirisame
44b4359ba5 Add alternate "Full" mode for PowerIronFeet that prevents leaky damage. 2021-01-16 17:09:57 +01:00
drfrag
4ff72e937f - Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare. 2021-01-13 06:30:13 -05:00
Rachael Alexanderson
c28e53511c - fix bonuscount as uint 2021-01-05 19:48:32 -05:00
Rachael Alexanderson
e6c71c2f0c - reimplement fix #1267 from @drfrag666 differently - fix damagecount overflow 2021-01-05 11:09:19 -05:00
Christoph Oelckers
04329981ec - added missing argument to the status bar's DrawString function. 2020-12-11 11:10:15 +01:00
Player701
a6a02a2a6c - Fixed: RandomSpawner spawning another RandomSpawner spawning a missile could result in the second RandomSpawner being erroneously destroyed. 2020-12-02 15:30:23 +01:00
Christoph Oelckers
e19b1b2ee7 - fixed: IceGuyFX2 set its owner too late. 2020-11-25 07:37:17 +01:00
Rachael Alexanderson
a2b8ad79ed - implement slider background color change - https://forum.zdoom.org/viewtopic.php?f=15&t=70616 2020-11-17 11:29:39 -05:00
Chronos Ouroboros
75c791ecff Fixed the previous commit not accounting for mods that already fixed this internally. 2020-11-14 14:53:43 -03:00
Chronos Ouroboros
0aefc61f86 Fixed weapon bob jittering. 2020-11-14 14:34:09 -03:00
Rachael Alexanderson
6e3a4c590d - fix missing SKILLP property in zscript code 2020-11-04 01:29:40 -05:00
Christoph Oelckers
e6c96bcb75 - move VM exports to the proper class. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
783d532bbe - moved the script exports to the base class as wello. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
be5d25a7b1 - moved all shareable script sources to their own folder in gzdoom.pk3. 2020-10-31 12:24:13 +01:00
Christoph Oelckers
3f61ab7fbf - moved FormatNumber to the generic base class. 2020-10-31 12:24:13 +01:00
Christoph Oelckers
fd6b7f9274 - split out the generic parts of the crosshair drawer. 2020-10-31 12:24:12 +01:00
alexey.lysiuk
46b980c213 - fixed warnings in image scroller core script
Script warning, "gzdoom.pk3:zscript/ui/menu/imagescroller.zs" line 113:
Truncation of floating point value
Script warning, "gzdoom.pk3:zscript/ui/menu/imagescroller.zs" line 122:
Truncation of floating point value
2020-10-30 14:58:50 +02:00
Christoph Oelckers
f25896021e - added the missing image scroller class.
MENUDEF handling was already present for it but the implementation was not.
2020-10-28 07:23:42 +01:00
nashmuhandes
6e692e5571 Allow retrieval of the custom Crush state in WorldThingGround 2020-10-25 20:10:52 +01:00
nashmuhandes
7285c5aca8 Added WorldThingGround event to hook into the actor at exact moment its corpse spawns gibs upon being crushed. 2020-10-25 20:10:52 +01:00
Christoph Oelckers
f67d5edbbf - fixed option menu positioning.
Calculations are done in screen space, so the clean multiplier here was wrong.
2020-10-25 16:42:03 +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
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
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
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
bc2b0a0252 - added flag option menu item by Accensus. 2020-10-24 17:49:56 +02:00
drfrag
36189027b0 - Fixed wrong number of lines displayed in the menu. 2020-10-24 12:34:49 +02:00
Christoph Oelckers
8901929305 - fixed placement of "PAR" text on statistics screen. 2020-10-24 12:23:54 +02:00
alexey.lysiuk
0b2588190a - fixed floating point value truncation warning
Script warning, "gzdoom.pk3:zscript/ui/menu/messagebox.zs" line 128:
Truncation of floating point value

https://forum.zdoom.org/viewtopic.php?t=70258
2020-10-17 17:47:06 +03:00
Christoph Oelckers
4fdbe81a13 - fixed infinite loop with list menus that have no selectable item. 2020-10-17 15:21:20 +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
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
3b45f1ceb8 - reinstated accidentally deleted AddTranslation declaration. 2020-10-17 11:43:49 +02:00
Major Cooke
60f0d35477 Added ThruBits. 2020-10-17 09:51:24 +02:00
Christoph Oelckers
adf306d5b2 - added a new 'Translate' struct which wraps the native methods of 'Translation'.
This is for use in actors where the name 'Translation' is shadowed by a local member variable.
2020-10-17 09:22:27 +02:00
Christoph Oelckers
34c3a851b7 - fixed some floating point truncation warnings. 2020-10-17 09:09:59 +02:00
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