Commit Graph

4692 Commits

Author SHA1 Message Date
Major Cooke 0c9bd9282c Added GetName(UI/Data) to Service class. 2023-07-17 22:51:04 +02:00
Ricardo Luís Vaz Silva 99850ea216 fix the ammocount parameter in Weapon.CheckAmmo 2023-07-09 10:47:39 +02:00
Ricardo Luís Vaz Silva 677b084064 Fill in ECompatFlags 2023-05-14 08:14:47 +02:00
Ricardo Luís Vaz Silva 1589afb46e Add Voodoo Zombie Compatflag 2023-05-14 08:14:47 +02:00
Rachael Alexanderson 39cea95dba - fix language grammar in `language.def` 2023-04-30 10:54:51 -04:00
Rachael Alexanderson e5fcb331df - remove `vid_gpuswitch` and all its handling; it is only as of now useful in old unsupported versions of Windows 7/8/10 which are no longer supported 2023-04-30 10:38:46 -04:00
Christoph Oelckers 993d44c33b - deduplication of text content.
This mainly maps the item tags to other available text with the same content.
2023-04-30 08:43:35 +02:00
Blue Shadow 40cb7f14d0 - added `MaxEffectTics` field to `Powerup` 2023-04-12 16:25:15 +02:00
Christoph Oelckers 61d9156184 - text update 2023-04-05 18:58:38 +02:00
Rachael Alexanderson 9c3907136d - update some copyright years 2023-03-25 08:06:23 -04:00
Rachael Alexanderson 1f2809244d
Update service.zs
remove erroneous semicolon
2023-02-19 10:14:36 -05:00
Christoph Oelckers fb97a97086 - remapped a few duplicate strings. 2023-02-19 12:49:13 +01:00
Ricardo Luís Vaz Silva d6e72b5264 Add data-scoped getters for Services 2023-02-19 08:11:08 +01:00
Ricardo Luís Vaz Silva 590475a8e3 Improve Services 2023-02-19 08:11:08 +01:00
Ricardo Luís Vaz Silva c8f3aa3fd1 ZScript Custom CVars -- ONLY WORKS FROM THE CONSOLE 2023-01-29 14:42:20 -05:00
Boondorl 2d94321887 Added OnEngineInitialize() for static event handlers 2023-01-25 17:41:48 -05:00
Ricardo Luís Vaz Silva 4c7e9c6193 Change `CheckValue` to multi-return, due to unsupported out int/bool 2023-01-25 17:32:54 +01:00
Christoph Oelckers d7e2a82ded - Greek characters for Heretic's BigFont 2023-01-24 19:12:15 +01:00
Christoph Oelckers 33fd8270b1 - text update 2023-01-22 20:19:21 +01:00
Hugo Locurcio 2fa88aa5a7 Implement antialiasing for automap lines
This implements a bruteforce approach for 2D line antialiasing.
It's not perfect by any means, but it seems to do its job well enough.
Since it draws 9 lines instead of 1 line per segment, it's significantly
more expensive but should still be usable on modern hardware (except
on very complex maps).

Automap line antialiasing is disabled by default and can be enabled
with the `am_lineantialiasing 1` cvar.
2023-01-21 11:40:25 -05:00
Ricardo Luís Vaz Silva 698bd251ea Mark non-modifying map functions as const 2023-01-21 16:40:47 +01:00
Ricardo Luís Vaz Silva decba68225 Map::GetIfExists and Map::CheckValue 2023-01-21 16:40:47 +01:00
Blue Shadow 4c0b5cbb32 - alt HUD: use `NewSmallFont` for drawing player's coordinates if `ui_generic` is enabled 2023-01-18 18:18:13 +01:00
Hugo Locurcio bf39002515 Increase slider precision for mouse sensitivity settings
On mice with high DPI settings, low values such as 0.1-0.3 typically
need to be used to get a comfortable effective mouse sensitivity.
2023-01-16 16:54:25 +01:00
Hugo Locurcio 1c45890c5a Use a slider to allow specifying max FPS with more precision
The minimum value was increased from 30 to 35 to reflect the lowest
value you can actually use in `vid_maxfps`. Values lower than 35
are silently clamped to 35.

The maximum value is chosen to cater to the fastest commercially
available display as of writing (500 Hz).

Being able to specify maximum FPS with a more precise slider has
several benefits:

- This adds support for monitors with less common refresh rates
  (138 Hz, 165 Hz, ...).
- This adds support for monitors with very high refresh rates
  (240 Hz or more).
- This allows catering to variable refresh rate setups with a FPS cap
  chosen to avoid V-Sync input lag, while also avoiding tearing.
  For example, choosing a FPS cap of 117 on a 120 Hz display will prevent
  the display from reaching its maximum refresh rate.
  More information: https://blurbusters.com/howto-low-lag-vsync-on/
- The value no longer displays a "Unknown" if customized in the console
  using the `vid_maxfps` cvar.
2023-01-16 16:53:59 +01:00
Boondorl dd7cb8649f Exported LinePortals
Added helper functions for lines related to portals
2023-01-15 22:01:37 +01:00
Christoph Oelckers 5b7826f68b - set lightblendmode to 0 when setting up a 2D viewpoint.
2D never uses dynamic lights so this should always be 0 - and eliminates another place in the backend referencing game data.
2023-01-15 09:21:01 +01:00
Christoph Oelckers 34e2e77f9e - tab cleanup in shader code. 2023-01-15 08:54:54 +01:00
Ricardo Luís Vaz Silva 5e464d3e93 expose WallMask and ignore actor, allow disabling Actor Tracing for LineTracer::Trace 2023-01-14 11:33:22 -05:00
inkoalawetrust 458142eb8b Added flags to SetPlayerProperty.
Added all of the missing player cheats to the SetPlayerProperty special.
2023-01-14 11:32:21 -05:00
Major Cooke aed72f58f3 Converted A_Quake(Ex) intensity parameters from ints to doubles. 2023-01-14 11:30:00 -05:00
Ricardo Luís Vaz Silva 8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Boondorl 3dce874621 Exported bounce functions 2023-01-12 17:44:28 +01:00
nashmuhandes 2fa2533982 - enable DM support for sv_noplayerclip
- fixed voodoo dolls with sv_noplayerclip
- fixed autoaim working incorrectly with sv_noplayerclip
2023-01-08 22:55:10 +08:00
nashmuhandes 3d6cc47dc1 Add sv_noplayerclip to allow players to walk through and shoot each other (only in coop) 2023-01-08 19:10:49 +08:00
Boondorl 0d23816179 Added FlyBob Multiplier for Player 2023-01-02 08:14:24 +01:00
Boondorl 73159dac3e Added WaterClimbSpeed Property to Players 2023-01-02 08:13:13 +01:00
Magnus Norddahl 8bcdbc230d Adds soft shadows to vk_raytrace 2022-12-31 03:51:33 -05:00
Marisa the Magician 6f8901ea87 Rename ValidLock to IsLockDefined (more descriptive). 2022-12-23 22:48:01 +01:00
Marisa the Magician b85add01c7 Additional lock-related ZScript functions.
* Key.ValidLock: returns whether a lock number is valid (can be unlocked) or belongs to a "does not work" door.
* Key.GetMapColorForLock: returns the automap color for a lock number (or -1 if the lock isn't valid).
* Key.GetMapColorForKey: likewise, but for a specific key.
2022-12-23 17:47:31 +01:00
Rachael Alexanderson f816eb68ae - fix linedef index for heretic e2m7 fix 2022-12-19 15:55:52 -05:00
Ricardo Luís Vaz Silva 43880bbbe1 Expose StripLeft and StripLeftRight to ZScript 2022-12-19 14:00:09 +01:00
Boondorl 0d4d5587b5 Added FOV Interpolation 2022-12-18 08:23:19 +01:00
Rachael Alexanderson a0cd1ba04a - move flight viewbob to misc menu 2022-12-17 01:23:22 -05:00
Rachael Alexanderson b08295e7e1 - fix spacing 2022-12-16 20:40:05 -05:00
CandiceJoy 0fdb740ac7
Added toggle control for weapon bob while flying 2022-12-16 17:12:03 -06:00
Ricardo Luís Vaz Silva de65d1b96f Misc Fixes for BobWeapon3D
- Fix inverted Y axis for offset/old BobWeapon
- finish adding PSPF_MIRROR
- fix missing pivot
2022-12-12 15:23:12 +01:00
Ricardo Luís Vaz Silva 46d36cf5c7 add BobWeapon3D 2022-12-09 21:49:38 +01:00
Boondorl 9a1e666303 Exposed Box and PointOnLineSide 2022-12-08 20:33:11 +01:00
Boondorl b1cb044a15 Fixed IsActorPlayingSound's default argument
Now properly passes the invalid sound id.
2022-12-06 12:16:29 +01:00
Magnus Norddahl 6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Christoph Oelckers 5b3f597438 - text update. 2022-12-04 15:34:47 +01:00
Mitchell Richters 6629944d39 - Make the new scaled angle changes at frame rate opt-in behind new flag `SPF_SCALEDNOLERP`.
* This will still test whether the game needs to lerp and will force `SPF_INTERPOLATE` if needed.
2022-12-04 15:11:17 +01:00
Mitchell Richters 9f9c1eb18a - Make view angles interpolate on a separate flag to the one that forces interpolation for the entire frame.
* As view angles are an offset, there's no reason why these cannot lerp separately.
2022-12-04 15:11:17 +01:00
Ricardo Luís Vaz Silva 8b6a714d41 Map<K,V> and MapIterator<K,V> for ZScript 2022-12-04 15:11:00 +01:00
Christoph Oelckers 1e5e65546d Revert "- add support for not localizing some text functions, and modify menu text fields to use this"
This reverts commit 91d3c4b606.

This completely breaks the menus, so it needs to go.
2022-12-04 08:13:04 +01:00
Ricardo Luís Vaz Silva cd46f97dcc Structified A_SpawnParticle/Ex 2022-12-03 23:54:52 +01:00
Gutawer 91d3c4b606 - add support for not localizing some text functions, and modify menu text fields to use this 2022-12-03 23:30:38 +01:00
Ricardo Luís Vaz Silva f666edc60c Allow Disabling of XY Billboard for Particles 2022-12-03 23:27:46 +01:00
Boondorl 964534f4b0 Added Method For Getting Portal Group Count 2022-12-03 23:27:01 +01:00
Boondorl ad80593cb7 Allow Getting Portal Group Offsets 2022-12-03 23:27:01 +01:00
Ricardo Luís Vaz Silva 58a64e4f5d Remove leftover variable in CustomMessageBox 2022-11-25 00:39:35 +01:00
Boondorl f322792783 Added animation support for OptionMenus
Adds Animated and AnimatedTransition MENUDEF instructions for OptionMenus. Added DontDim and DontBlur MENUDEF instructions for all menus.
2022-11-25 00:39:05 +01:00
Christoph Oelckers 419e593a4c - allow SNDINFO to declare sound mappings by using 'sounda = soundfle'.
This works similar to MAPINFO: The first definition in a file declares the format, all later ones must be the same.
This change in syntax increases robustness significantly because it avoids the problems with the original syntax not being able to detect badly formatted names.
2022-11-24 23:52:51 +01:00
Gutawer 9f0c518be9 - add remaining quaternion function implementations 2022-11-21 07:20:43 +01:00
RaveYard 540f778047 Quaternion structure and math ops 2022-11-21 07:20:43 +01:00
Boondorl d3bcc769f5 Clearscoped getters for map data 2022-11-19 09:16:24 +01:00
Ricardo Luís Vaz Silva 0f7e7744b0 CustomMessageBox Formatting 2022-11-18 07:42:45 +01:00
Ricardo Luís Vaz Silva 724b89bb1d CustomMessageBox 2022-11-18 07:42:45 +01:00
Boondorl ef456a4901 Added PitchTo Function 2022-11-18 07:41:04 +01:00
Christoph Oelckers 29b4418c3a - added 'foreach' loop to ZScript.
Syntax:

foreach(variable : array)
{
}

the variable's type is automatically deducted.
2022-11-15 21:34:45 +01:00
Emile Belanger f41f393e91 GLES: Added IQM bone support. 2022-11-13 21:19:54 +01:00
Boondorl 7517b64aee Updated to Interface Event
Changed SendConsoleEvent to SendInterfaceEvent to make functionality clearer. Added InterfaceProcess virtual to EventHandlers. Added CCMD for sending interface events.
2022-11-13 21:04:38 +01:00
Boondorl b4a8b1278f SendConsoleEvent function for EventHandlers 2022-11-13 21:04:38 +01:00
UnizoneDev a21d0c70e4 Mark the PushSound property as meta 2022-11-13 07:38:07 +01:00
UnizoneDev 9af664d117 Add PushSound property and Slide state
First Commit, hip hip hooray!
2022-11-13 07:38:07 +01:00
Major Cooke 2a9e28d949 Added PS_REPLACE flag for A_SpawnParticle(Ex).
- When used, new particles that spawn when the limit is reached will replace the oldest particle.
2022-11-12 09:13:37 +01:00
Rachael Alexanderson d388d19793 - fix uncaught exception that rarely occurred with the intermission screen that would vm-abort out from any attempt to enter a level 2022-11-12 00:46:43 -05:00
Boondorl fc7bb4a7e6 Exposed LevelLocals' LookupString functionality 2022-11-11 07:32:56 +01:00
Christoph Oelckers dab61709f8 - added a compile option to fully disable the software renderer.
This is mainly for new games which have been designed for hardware rendering.
Note that this does not remove the software renderer's code - all it does is to disable the vid_rendermode CVAR by turning it into a static constant with the value 4.
2022-11-08 11:24:35 +01:00
Christoph Oelckers fdeec5e0a5 - fixed bad index check in CanWipe.
This can be called with index == -1, which should check the first element of the intermission.
2022-11-06 23:23:31 +01:00
Christoph Oelckers 7e10138993 - added characters U-0404 and U-0490 for Ukrainian language support.
A translation was started so ensure it will work.
U-0403 was a mistake but the already finished characters were added anyway.
2022-11-06 14:55:30 +01:00
Christoph Oelckers 2207c4ebf8 - we have no coronas for the time being. 2022-11-05 13:23:28 +01:00
Christoph Oelckers a7c54579f6 - language update. 2022-11-05 13:22:41 +01:00
Christoph Oelckers 72aa6fe3b8 - did some cleanup on p_mobj.cpp
* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
2022-11-05 12:00:43 +01:00
Christoph Oelckers d4df121053 - added target check to A_MaulerTorpedoWave. 2022-11-05 10:22:19 +01:00
Christoph Oelckers 435e7dddcd - fixed: P_SpawnMapThing may not call playsim code.
There was one special case allowing to let an actor die on spawn, but this could call script code on an incompletely set up map which resulted in crashes.
2022-11-05 09:43:06 +01:00
Ricardo Luís Vaz Silva 7d81417829 Particle Rolling 2022-11-01 22:30:16 +01:00
Ricardo Luís Vaz Silva b6202ffc4c Add Textured Particles 2022-11-01 21:25:31 +01:00
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 7f99c61f24 - removed softpoly setting from the menu 2022-10-27 18:09:19 +02: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
Christoph Oelckers 55402ff734 - added 'rebuildnodes' for tnt2fix2.wad map01 2022-10-20 17:12:43 +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 7972afc350 Revert "Before moving boneSelector from unsigned complete"
This reverts commit 8f2b8fa878.
2022-10-19 22:48:57 +02:00
Shiny Metagross ee7c467a17 Before moving boneSelector from unsigned complete
- boneSelector being unsigned might be the reason why gles is having a hard time. Just stashing this commit here as a bookmark in case I need it
2022-10-19 22:48:57 +02:00
Shiny Metagross cd4345373d Fixed improper casting
- Made a mistake on the casting in the shader that only worked for Intel
2022-10-19 22:48:57 +02:00
Shiny Metagross a8bab6a21d Intel fix
- GZDoom can launch for Intel users - IQMs work for Intel too
2022-10-19 22:48:57 +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
Shiny Metagross 08f520f1c6 IQM Support Implemented
More info to come
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
Magnus Norddahl 37039721bd Fix washed out colors in Vulkan HDR mode 2022-10-11 00:10:02 +02: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
Christoph Oelckers 283c5d688c Merge branch 'master' of https://github.com/coelckers/gzdoom 2022-08-11 22:39:53 +02:00
nashmuhandes 50d16c75d9 Add corona actor 2022-08-11 20:38:24 +08:00
Rachael Alexanderson f2df781b76 - add menu entries 2022-08-10 13:10:13 -04: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
Rachael Alexanderson f4f701a45c - add longsavemessages to simple menu. set longsavemessages default to false. 2022-07-21 13:22:52 -04: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 d310487ad4 - text update 2022-07-15 08:48:18 +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
Rachael Alexanderson fae4166fae - add a few njdoom maps to the rebuildnodes comptibility block 2022-07-07 08:59:13 -04:00
Christoph Oelckers a4aca9bd9c - force node rebuild for Plutonia MAP25. 2022-07-02 10:30:03 +02:00
Christoph Oelckers abaa0f2178 - ENDOOM is not Windows only anymore. 2022-06-29 10:12:55 +02:00
Christoph Oelckers 5cf6a5ab1a - text update 2022-06-29 08:36:01 +02:00
Rachael Alexanderson 00af521846 - add a few maps to the rebuildnodes compatibility block 2022-06-28 22:32:42 -04:00
Magnus Norddahl 0f08a0f511 Re-enable ray query in the shader 2022-06-22 07:55:19 +02:00
Magnus Norddahl 5cc21c5a4a Upgrade glslang to 11.10.0 2022-06-22 07:55:19 +02:00
Magnus Norddahl 821bd3b460 Adjust some init/deinit code and rename some things 2022-06-22 07:55:19 +02:00
Magnus Norddahl 0c1aab074c Hook up the acceleration structure to the shader and start shooting some rays! 2022-06-22 07:55:19 +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
Rachael Alexanderson f1dec835d7 - add `i_pauseinbackground` to the menu. note: please pull the language file for this 2022-06-09 04:13:55 -04:00
Christoph Oelckers eb56eb380e - reinstated con_scale. 2022-06-08 16:42:32 +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
Christoph Oelckers a59436c4c2 - fixed auto-scaling for console. 2022-06-05 12:34:22 +02:00
Christoph Oelckers e619e40f92 - text update. 2022-06-03 23:56:08 +02:00
Player701 b91f87e4ed - Rebuild nodes for 1024.wad MAP02 to fix invisible obstacle near the exit area 2022-06-03 19:43:50 +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
Rachael Alexanderson 0c3840fe62 - remove m_filter from the menu as well 2022-05-29 17:58:06 +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
Rachael Alexanderson 7652fd7ee0 Revert "- model normals fix"
This worked in some instances but it also broke attenuated lights in other instances, and also caused the shaders to fail to compile on Mac.

This reverts commit 679518f8e5.
2022-05-08 07:07:54 -04: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
Christoph Oelckers c12c4444e4 - removed compat_soundcutoff from the menu
Handling for this was removed 14 years ago when ZDoom transitioned to FModEx 4.x
2022-05-06 10:11:48 +02:00
Christoph Oelckers 517e803b3e - activate Hungarian in the menu 2022-05-05 07:51:20 +02:00
Christoph Oelckers a8acbced42 - text update for enabling Hungarian translation. 2022-05-04 14:14:50 +02:00
Marisa Kirisame 6e544a1d41 Fix co-op softlock in Heretic E4M8 due to multiplayer teleporter. 2022-05-04 05:50:48 -04:00
Rachael Alexanderson 679518f8e5 - model normals fix 2022-05-03 23:39:40 -04:00
Christoph Oelckers 7832ada2fc - use the hex font for the Heretic/Endoom text screens. 2022-05-01 13:41:03 +02: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 ee109e0bd5 - we do not need ‚corpsegibs‘. in compatibility.txt anymore. 2022-04-29 00:25:41 +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 7b59293995 - properly deal with 'gototitle'. 2022-04-26 20:50:36 +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 339419240c - added compat_nombf21 for cchest2.wad, map 19. 2022-04-25 20:52:24 +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
Christoph Oelckers d24f41a595 - Remain 3, MAP11 also needs compat_nombf21. 2022-04-15 23:20:37 +02:00
Christoph Oelckers 446a24d095 - added nombf21 compat setting for Heroes Tales MAP31 2022-04-15 23:01:58 +02:00
Emile Belanger 3724f8a67c GLES: Fix blend flags 2022-04-15 21:06:27 +02:00
Christoph Oelckers 8b1d671f6b - fixed y-offsets of bal7scr* decal images. 2022-04-13 08:10:20 +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 af957b438a reverted language change 2022-04-09 22:46:20 +02:00
Lippeth 9de7721e62 reverted language change 2022-04-09 22:46:20 +02:00
Lippeth 7830033722 - added vertical bullet spread relative to ssg 2022-04-09 22:46:20 +02:00
Emanuele Disco 71dedf6c87 Fixed GUS Emulation with DMXGUS(C) lump conf.
- changed default value for midi_config to empty string since gus is not working with sf2 file
- fixed SetupDMXGUS not loading lump correctly, wrong use of CheckNumForFullName
- midi_config default to empty string, since lzdoom.sf2 doesn't seem supported (distorted sound)
- added absolute paths to FZipPatReader so we can add custom patches to resource files by using gus_patchdir and/or ULTRADIR variable (some custom maps has custom patches that can be added this way without putting them inside the resource file or in the same folder of the configuration file)
- set timidity_reverb_level min value to 0 in menudef.txt, set to 9 by mistake?
2022-04-09 22:45:31 +02:00
Gibbon 4d3f767f47 typo 'Yea' instead of 'Yes' 2022-04-02 19:21:37 +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
Christoph Oelckers c98c93914d - text update 2022-03-18 18:17:02 +01:00
Rachael Alexanderson 6cc03aba16 - add gl_satformula == 2 - an optional 'more accurate' desaturation 2022-03-16 13:33:29 -04:00
Christoph Oelckers a20d519488 - text update. 2022-03-09 22:16:53 +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
Christoph Oelckers c48de5d8d3 - added a 'no MBF21' compatibility flag.
Turns out that there's a few old maps that have the extended line flags set but not the guard bit that forces their clearance.
Astrostein 1's first map is an example for this.
2022-02-14 20:00:06 +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