Commit graph

1845 commits

Author SHA1 Message Date
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