Commit graph

55 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
d07d08ce9f Add velocity/distance based footsteps 2024-10-21 14:53:53 -03:00
inkoalawetrust
12d1afcc4e
Fixed WalkStepTics & RunStepTics in terrain parser
Fixed the discrepancy where WalkStepTics and RunStepTics were called, well, that. In the terrain struct in both C++ and ZScript. While the terrain parser looked for WALKINGSTEPTIME and RUNNINGSTEPTIME instead.
Also made the parse not multiply these time values by the ticrate to treat them as seconds instead of tics.

Added flags for P_HitWater().

Added optional overridable footsteps for players.

Added an overridable MakeFootsteps() virtual in PlayerPawn. Which allows for adding totally custom footstep logic for players. By default, it comes with a basic footstep system that uses the footstep properties of whatever terrain the pawn is standing on. bMakeFootsteps must be enabled on the pawn for the virtual to run.

Added generic StepSound TERRAIN property.

Added a generic step sound TERRAIN property, for defining foot-agnostic step sounds. Used by the built-in footstep system over the individual foot ones.

Simplified MakeFootsteps().

Also removed a leftover debug message.
2024-10-14 03:47:02 -04:00
Professor Hastig
2decf10863 add missing 'author' and 'label' UMAPINFO fields. 2024-10-01 12:23:27 -04:00
Boondorl
0d43272c8f Allow for Basic and Hexen armor replacing 2024-08-17 01:14:07 -04:00
Boondorl
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Rachael Alexanderson
ef10467ff8
- revert changes in backend code which will not sync properly with raze
This is a combination of 2 commits.

Revert "New API for assigning unique network ids to objects"

This reverts commit e37c19b5b4.

 This is the commit message #2:

Revert "Fix for Morph virtual"

This reverts commit 0ef042562e.
2024-04-17 14:48:02 -04:00
Christoph Oelckers
520b960ca5 Reverted the path node system
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Major Cooke
5abd7e1ebf Comment warning to modders. 2024-03-05 13:44:38 -05:00
Major Cooke
81ebd8c8c4 More progress.
- AMBUSH flag on nodes makes them blind and untargetable when getting `startnode` and `goalnode` for `FindPath()`. This is useful for indicating a node should be skipped when tele/portaling, so the current path can be preserved.
- Setup is simple: place nodes behind lines that tele/portal entities and mark them as AMBUSH.

Other changes:

- Restored global array since blockmap is not a viable option here.
- Added MAPINFO `pathing` flag which enables pathing by default.
- Added NOPATHING flag to disable pathing entirely, useful for maps that have pathing enabled.
- Added `ReachedNode(Actor mo)` virtual, responsible for handling node traversal.
- Nodes now make use of MeleeRange to limit their sight checking functions.
2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
ad52e2cc1e AStar 2024-03-05 13:44:38 -05:00
Major Cooke
b2cb4b0a6d Begin adding PathNodes. 2024-03-05 13:44:38 -05:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Ricardo Luís Vaz Silva
6829a37aa5 Fix structs missing readonly 2024-02-17 07:23:00 +01:00
Ricardo Luís Vaz Silva
bc26c54b15 Fix readonly native structs 2024-02-17 07:23:00 +01:00
Dileep V. Reddy
25f1407228 Cleaning up implementation of isometric camera with optional orthographic projection.
All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone.
A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs

The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h:
	VPSF_ALLOWOUTOFBOUNDS =		1 << 3,			// Allow viewpoint to go out of bounds (hardware renderer only).
	VPSF_ORTHOGRAPHIC =		1 << 4,			// Use orthographic projection.
	VPSF_ISOMETRICSPRITES =		1 << 5,			// Displace sprites towards camera and don't billboard (drawn from isometric perspective).

Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera.
See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file

Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals.
Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.
2024-02-01 08:43:34 -05:00
Dileep V. Reddy
d3405837ce Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 12:13:42 -05:00
Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc5.

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit dc897eacc0.

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit d2c2c93cf1.
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
dc897eacc0 Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 03:34:00 -05:00
Christoph Oelckers
e3d13af33b use FSoundID for script provided sounds instead of FString. 2024-01-05 17:41:58 +01:00
inkoalawetrust
ce2a0c9295 Added LightningSound MAPINFO property.
Also added a tempSound parameter to ForceLightning(). Allowing for changing the specific sound that particular thunderbolt makes when it hits.
2024-01-05 17:35:03 +01:00
inkoalawetrust
ecdf6f7cb2 Expose ForceLightning() to ZScript.
This makes it possible to call the function in ZScript without the Light_ForceLightning special.
2024-01-05 17:35:03 +01:00
Major Cooke
1a860185ee Exposed viewactive, allowing checks for overlay automaps.
- Made `automapactive` UI scoped since checking this on the play side may cause desyncs.
2024-01-04 07:23:57 -05:00
Rachael Alexanderson
fe005b9159 - add two parameters to GetSpriteTexture: spritenum and framenum, since some states are "####" "#" 2024-01-02 20:59:00 +01:00
jekyllgrim
df5dc5ebd8 Moved the enum to doombase.zs 2023-12-17 13:20:08 +01:00
Rachael Alexanderson
4b54aac288 - rename ZSprites to VisualThinkers 2023-11-22 12:11:57 -05:00
Major Cooke
b6b1b25035 Added ZSprites.
- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.

Misc:

- Fixed (Sprite)Offset taking roll into account.

Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
2023-11-17 08:06:11 -05:00
Christoph Oelckers
f0c9b1765e gave translations a dedicated scripted type.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
2023-11-09 23:04:10 +01:00
Ricardo Luís Vaz Silva
d699ba248e warn when fewer returns than expected are given for a function 2023-10-15 18:51:05 +02:00
inkoalawetrust
69e67037f8 Changed the variable type of Crossed3DWater.
Seems like there was some kind of oversight. Crossed3DWater is an F3DFloor pointer, not sector_t.
2023-09-20 18:47:49 +02:00
Boondorl
dd7cb8649f Exported LinePortals
Added helper functions for lines related to portals
2023-01-15 22:01:37 +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
Boondorl
9a1e666303 Exposed Box and PointOnLineSide 2022-12-08 20:33:11 +01:00
Ricardo Luís Vaz Silva
cd46f97dcc Structified A_SpawnParticle/Ex 2022-12-03 23:54:52 +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
Boondorl
fc7bb4a7e6 Exposed LevelLocals' LookupString functionality 2022-11-11 07:32:56 +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
Rachael Alexanderson
8468f712e0 - fix arti teleport and arti teleother not respecting useplayerstartz mapflag 2022-08-26 04:11:29 -04: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
4f0b02b396 Add a 2d drawer to canvas textures 2022-07-25 18:50:16 +02:00
Major Cooke
421c40e929 Replaced GetTerrainDef with the global Terrains array. 2022-02-22 19:35:50 +01: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
Rachael Alexanderson
2ab4539d40 - fix logic error with shader compatibility layer 2022-01-21 16:40:04 -05: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
Marisa Kirisame
a172513535 Expose level_info_t to scripting + helper functions. 2021-04-24 22:37:50 -04: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
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