Commit graph

1313 commits

Author SHA1 Message Date
toaster
15a87a8a77 P_DoQuakeOffset: Prevent two calls to FixedDiv 2023-09-26 21:34:08 +01:00
James R.
c743af4d77 P_SpawnMapThing, P_RaiseTaggedThingsToFakeFloor: save raised Z position for respawning later
P_RespawnSpecials just calls P_SpawnMapThing again, so
this works.
2023-09-24 15:36:46 -07:00
Sally Coolatta
ca0b5902ba Fix use of easing functions, add distance buffer 2023-09-23 07:57:54 -04:00
Sally Coolatta
e6a19362fc Center mobj quake on the z axis 2023-09-23 07:57:54 -04:00
Sally Coolatta
2230c855ae Some quake improvements
- Use easing functions for quake intensity
- Camera distance takes Z height into account
2023-09-23 07:57:54 -04:00
James R.
472f7d060c Kill HW3SOUND related code (in files that are actually used) 2023-09-22 02:00:42 -07:00
toaster
35a06ed175 P_SetupSignObject: Set old_z to fix interp on spawning 2023-09-19 22:40:12 +01:00
toaster
036577402d Change Scroller Direction (linedef 435): Do not crash on Tag_Find for sidedef scrollers 2023-09-18 10:22:44 +01:00
AJ Martinez
882deda563 Do pusher drawangle changes in demos 2023-09-14 16:03:41 -07:00
AJ Martinez
54dc82452c Wind/current uses drawangle 2023-09-14 15:52:42 -07:00
Sal
0675a4e527 Tally screen 2023-09-09 05:27:55 +00:00
toaster
1d3a7c717e Merge branch 'let-release-build' into 'master'
Various fixes to let release builds compile

See merge request KartKrew/Kart!1448
2023-09-01 20:45:54 +00:00
VelocitOni
8845700c06 Starpost Gentrification
Replaced all mentions of starpostnum and Starpost w/ cheatchecknum and CheatCheck (so Ivo can stop asking why we still need it when its going to save our asses on release patches)
2023-09-01 00:31:49 -04:00
James R
95ae37fa0a Various fixes to let release builds compile
- Fixed followers.pk3 asset hash checking.
- Moved asset hashes from config.h to d_main.c directly.
  - Changes to config.h.in require building the game twice
    and having it in d_main.c is just more contained.
- Removed old reset on holepunchserver if it was set to
  the wrong address. This was only relevant for a short
  period of time during development.
- Fixed cv_kartencoremap being used outside of DEVELOP.
- Fixed unused variable warning in GotOurIP.
2023-08-31 18:15:52 -07:00
toaster
79699f47d5 Sealed Star finish cleanup
- No FINISH text
- No voices
- Warp sound on crossing the line, not any other stuff
2023-08-26 23:48:18 +01:00
James R
5d8efb66a4 Sealed Stars: show text on the screen for loss conditions
Player dies:

    FALL OUT!

Player finishes before collecting the emerald:

     EMPTY
    HANDED?

UFO finishes before player:

    TOO LATE...
2023-08-26 21:39:18 +01:00
Sally Coolatta
3c14931764 Merge master 2023-08-25 18:39:01 -04:00
Sally Coolatta
3c8eb505cc Merge branch 'master' into thing-script-args 2023-08-25 18:32:55 -04:00
Sally Coolatta
ffda097421 Fix no control toggle 2023-08-25 05:05:51 -04:00
Sally Coolatta
16e6aa423e Dialogue 2 2023-08-24 17:28:53 -04:00
James R
5f9f573f20 Remove all code related to linedef 413, Change music 2023-08-21 00:44:27 -07:00
Sally Coolatta
9d940ed654 Separate script args from mapthing args
SRB2 uses a LOT of mapthing args compared to Hexen (which has none) and ZDoom (which only has them on objects that will never ever activate scripts). So we really badly needed to separate the two if we want attaching scripts to things to be useful.
2023-08-21 03:33:04 -04:00
Oni
aeb6d6740f Merge branch 'encore-directional-lighting' into 'master'
Add encore variants of LightContrast, LightAngle and SpriteBacklight to level header

Closes #593

See merge request KartKrew/Kart!1388
2023-08-13 06:21:12 +00:00
James R
ee7a29dc62 T_Pusher: do not apply upward wind if fastfalling 2023-08-11 21:41:38 -07:00
James R
ebba7c327c Add encore variants of LightContrast, LightAngle and SpriteBacklight to level header 2023-08-11 20:30:30 -07:00
James R
39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07:00
James R
092bfd475e P_ProcessSpecial: fix ring drain sign 2023-07-26 18:05:44 -07:00
toaster
63450740ba Linedef type 460: Don't do anything in Spheres gametypes 2023-07-19 22:54:20 +01:00
toaster
c404e704c2 Linedef type 460: ACTUALLY don't push your rings below baseline 2023-07-19 22:54:05 +01:00
toaster
2e395c8b0f Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into more-conversions 2023-07-18 10:52:09 +01:00
toaster
36e0a23c09 Remove console script support from maps
The linedef's behaviour was broken horribly by long map names, and it's not worth the effort to fix it for the following reasons.
- It was considered a security vulnerability to have free access to the console when it was written.
- The game literally had a cvar to disable running console scripts. That's "I am willingly distributing ActiveX Word Documents in 2023" levels of foolhardery.
- Anything GOOD it can do, both Lua and ACS can do better.
2023-07-12 16:32:23 +01:00
toaster
c5c78df946 Linedef Action 460 (Award Rings) now supports negative ring counts
UDMF now has a native ring drainer effect.

Also fixes the WriteTextmap warning for the deprecated sector effect, which should have been encouraging you to use this action, not action 462!?
2023-07-12 13:17:09 +01:00
toaster
a536f884ce V_ALLOWLOWERCASE --> V_FORCEUPPERCASE
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.

Simple inversion on the face of things, but with a long tail of consequences, including 19 changed files.

Forced uppercase has been applied in a handful of locations where it was aesthetically imperative. Most menus will follow in another commit, so that that may be reverted if we change the default menu font.
2023-07-12 09:00:29 +01:00
toaster
ed8158c00c P_SetupSignExit: Bail early if gametype has GTR_SPECIALSTART 2023-06-25 23:49:18 +01:00
James R
6b125ea575 Sprite directional lighting, add SpriteBacklight option to level header
- Sprites have directional lighting, like walls
- For normal sprites: contrast is much stronger than walls
- Papersprites look the same as walls

- SpriteBacklight option in level header weakens the contrast for sprites only
  - SpriteBacklight subtracts from LightContrast
  - E.g. SpriteBacklight = 0 would let it match LightContrast
  - E.g. SpriteBacklight = 60 would make the contrast much weaker
  - Negative values make the contrast stronger
2023-06-14 19:56:16 -07:00
Sal
7b98752b67 Merge branch 'refactor-mapthing' into 'master'
Read-only mapthing_t

See merge request KartKrew/Kart!1252
2023-06-14 00:07:42 +00:00
toaster
36d81d7996 Final lack of smoothness in camera cutaway killed: A one-frame window where focus angle/pitch was incorrect due to not having thunk yet 2023-05-30 01:12:59 +01:00
toaster
f24df4f38d Remove the interp-caused jitter from cutaway camera behaviour
It is preferable that smash cuts reset view interpolation IMO
2023-05-30 01:05:20 +01:00
Sally Coolatta
9d80323a3a Read-only mapthing_t
Map things are writeable in Lua, which I am pretty certain is a mistake because mapthings are not sent over the network at all. I considered making them net-synced (it would be relatively easy), but it also aligns with another, more "philosophical" issue: Doom generally copies over properties from mapthing_t into mobj_t, and then only refers to it again when needing to respawn an object -- mapthing_t is not really intended to be referred to very often at runtime. At best it's slightly annoying since some objects rely on a spawnpoint for behavior changes, at worst it may make ACS more confusing in the future since Thing and Mobj tags are mixed together or less useful since they wouldn't be able to modify behaviors of objects that are based on args.

So I decided to solve these two issues at the same time; just treat mapthing_t as something to copy values from, like OG Doom does it. This basically just means that special and args are also part of the mobj now instead of the mapthing, which should fill any desire to edit this stuff from Lua, and reduces the number of instances where objects need to check for their spawnpoint to function properly.
2023-05-25 14:40:55 -04:00
Oni
5c5157bce5 Merge branch 'finish-jingles-tidy' into 'master'
Finish Jingles Tidy

See merge request KartKrew/Kart!1217
2023-05-10 06:42:54 +00:00
Oni
348549a1cb Merge branch 'quake-crash' into 'master'
P_StartQuake: Use PushQuake (resolves #543)

Closes #543

See merge request KartKrew/Kart!1223
2023-05-05 13:14:23 +00:00
toaster
ca416a3b7f P_StartQuake: Use PushQuake
- Consistency
- Prevents memory corruption when the quakes list is empty
2023-05-05 13:23:27 +01:00
Sal
69b9805d5b Merge branch 'acs-fix-fof-trigger' into 'master'
ACS: Fix "on enter" triggers on intangible FOFs

See merge request KartKrew/Kart!1221
2023-05-04 15:57:43 +00:00
Sally Coolatta
a7d22f8468 ACS: Fix floor & ceiling FOF triggers 2023-05-03 19:11:08 -04:00
Sally Coolatta
ce712ae68d ACS: Fix enter triggers on intangible FOFs 2023-05-03 18:40:23 -04:00
Sally Coolatta
f56504e0d4 ACS: Prevent spectators from using sector actions 2023-05-03 09:37:48 -04:00
toaster
12ecb1f7a4 P_DoPlayerExit changes
- Add flag application in function signature
    - Consistent gating of extra PF_NOCONTEST application behind not already exiting
        - This should fix dying after winning in K_Cooperative gametypes breaking things
- P_DoAllPlayersExit
    - Consistent condition of playeringame, spectator, exiting, etc checks
    - Also could force-give a life (for Battle Prisons)
2023-05-02 18:16:26 +01:00
Sally Coolatta
60e80d876d Improve quake effects
- Quake epicenter + radius now work.
- Since quake epicenter works, removed the display player check on all of the quakes, so other players can feel them.
- Multiple quake effects are stored in a linked list and dynamically created/freed, so they can stack together.
- Made in china
- Made the quake effects only work on the z axis.
- Quakes now alternate their intensity and dampen it over time, instead of randomly picking values.
- Added quake effects for offroad and stair-jank
- Disabled quakes in reducevfx
- Removed actionmovie and windowquake (sorry jartha)
2023-05-01 14:24:32 -04:00
James R
11242527ed 412 teleport: correctly update interpolation state
- Fixes relative teleport not updating floorz/ceilingz,
  causing camera to potentially get clipped by old
  position

- Fixes absolute teleport not resetting viewpoint
  interpolation
2023-04-22 20:49:19 -07:00
Oni
d6d8cf548a Merge branch 'optimize-precip-think' into 'master'
Optimize precipitation by eliminating the thinker entirely

See merge request KartKrew/Kart!1157
2023-04-09 05:31:31 +00:00