Commit graph

24251 commits

Author SHA1 Message Date
Eidolon
da32ad1f6a Increase optimization level in default preset 2023-09-18 19:54:24 -05:00
Oni
a6ec0fb0b4 Merge branch 'fix-twerk-penalty' into 'master'
Fastfall/E-Brake consistency and visual polish

Closes #651

See merge request KartKrew/Kart!1508
2023-09-18 23:53:40 +00:00
James R.
307fd0eb71 K_FastFallBounce: use consistent bounce strength, regardless of Shrink/Grow 2023-09-18 11:42:52 -07:00
James R.
37ce3dba27 E-Brake ring: visual consistency and polish
- Always spawns on the ground below the player
- If falling fast enough, spawn afterimages around the
  player like "falling through hoops"
- Also fix scaling to Shrink/Grow
2023-09-18 11:42:52 -07:00
James R.
ea579457bc K_FastFallBounce: trigger bad bounces more often and reduce speed with less jerk 2023-09-18 11:34:21 -07:00
Sal
63db455211 Merge branch 'hyudoro-release-prep' into 'master'
Misc. code changes in preparation for Hyudoro final pass + debugcheese cvar

See merge request KartKrew/Kart!1503
2023-09-18 13:30:54 +00:00
James R.
543fd03b11 Add Obj_EmeraldCanHUDTrack to handle MT_EMERALD being used for Hyudoro orbiting 2023-09-18 04:21:10 -07:00
toaster
89fae24b95 Merge branch 'scroll_silly' into 'master'
Change Scroller Direction (linedef 435): Do not crash on Tag_Find for sidedef scrollers

See merge request KartKrew/Kart!1506
2023-09-18 09:54:18 +00: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
Oni
de84a5e879 Merge branch 'hyudoro-alpha-beta-prerelease-early-access' into 'hyudoro-release-prep'
Hyudoro becomes very real

See merge request KartKrew/Kart!1504
2023-09-18 07:26:52 +00:00
James R.
08056a9ae2 hyudoro_patrol_hit_player: do not make 1st place invisible 2023-09-17 21:59:35 -07:00
James R.
4347af5069 Hyudoro: increase hitbox size 2023-09-17 21:56:20 -07:00
James R.
2fd5ae3cb3 Player hyudorotimer: use modulate blendmode instead of flickering
- Player invisibility is preserved for other players
- Flicker blendmode (and visibility, for other players) at
  beginning and end of hyudorotimer
2023-09-17 21:56:20 -07:00
James R.
6878c7dd90 Apply PF_CASTSHADOW when player touches patrolling Hyudoro's shadow, darken player to pure black 2023-09-17 21:56:20 -07:00
James R.
5c1332f977 Add R_CustomShadowZ, Obj_FakeShadowZ, Obj_HyudoroShadowZ; let Hyudoro shadow float while patrolling 2023-09-17 21:56:19 -07:00
James R.
25837afc8c Hyudoro: use B frame when holding item 2023-09-17 21:56:19 -07:00
James R.
0a6fedc48a Hyudoro: carry item capsule back to player, use MT_EMERALD for collect animation
- Carry back item capsule, painted with the skincolor of
  the player who was stolen from
- Give player item by orbiting and shrinking into the
  player like an emerald
  - Lock player item box while animation plays, draw an
    empty item box on the HUD
  - At end of animation, burst item capsule to place item
    in player's hotbar
- Hyudoros can no longer stack items in the hotbar --
  consistent with item capsules
  - (If you have a Super Ring in your hotbar and Hyudoro
    is holding a Super Ring too, it will wait for you to
    use yours)

---

MT_ITEMCAPSULE changes:

- extravalue2 != 0: use this color on caps
- MF2_STRONGBOX: award items like the roulette
  - Super Ring is placed in the hotbar instead of awarding
    rings directly
  - SPB is placed in the hotbar instead of throwing it
    immediately
- DMG_INSTAKILL: don't respawn
2023-09-17 21:56:19 -07:00
James R.
3eeaaefc5f Hyudoro: stack uses modulate blendmode (with ghost trick) if player is in first place
- If player is in first place, they cannot use the stack
- Use ghost trick to lessen the effect, since modulate
  blendmode cannot be controlled with translucency
2023-09-17 21:56:19 -07:00
James R.
e0d7d08dde Hyudoro: flickering shadows for patrolling and stealing from a player
- Shadow flickers in high contrast colors while patrolling
- Shadow flickers black/white for short time after Hyudoro
  steals from a player
- (Resetting shadow for hovering stack already handled by
  append_hyudoro)
2023-09-17 21:56:19 -07:00
James R.
43ca8a2f4c Hyudoro: toggle shadow in hovering stack so multiple shadows are not rendered 2023-09-17 21:56:19 -07:00
James R.
1cd0781648 Hyudoro: spawn ghost trail, colorized to owner, on return to owner 2023-09-17 21:56:19 -07:00
James R.
4819290ca2 itemroulette_t: add reserved member, block roulette and P_CanPickupItem, draw empty item box in HUD 2023-09-17 21:56:18 -07:00
James R.
d86aaa8c0c Hyudoro: smoothly transition vertical position in hovering stack 2023-09-17 21:56:18 -07:00
James R.
c12a80ef91 MT_ITEMCAPSULE_PART: offset parts by MT_ITEMCAPSULE sprx/y/zoff 2023-09-17 21:56:18 -07:00
James R.
3b19376848 append_hyudoro, pop_hyudoro: fix linked list handling
- Use P_SetTarget to handle reference counting properly
- Properly unlink from the start of the list
2023-09-17 21:56:18 -07:00
James R.
c850248873 PIT_SSMineChecks: do not trip Mine radius if player has hyudorotimer 2023-09-17 21:56:18 -07:00
James R.
7940158d96 K_ApplyTripWire: do not apply hitlag if player has hyudorotimer 2023-09-17 21:56:18 -07:00
James R.
784090ec00 Nullify damaging hitlag for players with hyudorotimer 2023-09-17 21:56:18 -07:00
James R.
39a867b705 Double hyudoro invisibility time 2023-09-17 21:56:18 -07:00
James R.
4c551a03ca project_hyudoro: match Z to slope of center point 2023-09-17 21:56:18 -07:00
James R.
00ea7c62df MT_ITEMCAPSULE: optionally teleport to target, offset by target sprx/y/zoff 2023-09-17 21:56:17 -07:00
James R.
b86ade712a MT_EMERALD: prepartion to let orbiting physics be used in a general-purpose manner
- Add Obj_SetEmeraldAwardee
  - Separate object receiving emerald from object being
    orbited
  - Obj_BeginEmeraldOrbit sets both, if the awardee isn't
    explicitly set
- Don't HUD track emeralds without emerald flag set
2023-09-17 21:56:17 -07:00
James R.
eb477365a4 MT_SHADOW: copy shadowcolor from followed object 2023-09-17 21:56:17 -07:00
James R.
fac5abf69e MT_SHADOW: move code to objects/shadow.cpp; copy whiteshadow from followed object 2023-09-17 21:56:17 -07:00
James R.
72ef1d352b mobj_t: add shadowcolor member to change shadow palette index 2023-09-17 21:56:17 -07:00
James R.
6cab4bca74 PLAYERFLAG_LIST: fix missing and incorrect names 2023-09-17 21:56:17 -07:00
James R.
a6f8f53312 P_IsPickupCheesy: add debugcheese cvar 2023-09-17 19:57:55 -07:00
toaster
9ba5a93407 Merge branch 'spraycans-2' into 'master'
Tutorial Spray Cans

Closes #669

See merge request KartKrew/Kart!1498
2023-09-17 13:17:41 +00:00
toaster
f963926d74 Merge branch 'generate-brightmap-bounds-check' into 'master'
R_GenerateTextureBrightmap: install bounds checking on patch columnofs

See merge request KartKrew/Kart!1478
2023-09-17 13:16:17 +00:00
toaster
815e125188 Disable all g_dialogue-dependent ACS behaviour in netgame conditions
Actual solution to Test Run dialogue in servers
2023-09-17 13:50:32 +01:00
James R.
b84b20510f P_TouchSpecialThing: MT_RANDOMITEM: fix -Wpedantic 2023-09-16 23:12:41 -07:00
Oni
6ccaae4a0c Merge branch 'fix-inside-top-bug' into 'master'
Fix THAT ONE Garden Top bug, which is also a bug with Rocket Sneakers

Closes #610

See merge request KartKrew/Kart!1499
2023-09-17 05:22:48 +00:00
Oni
a0a1ef41e2 Merge branch 'fix-sealed-star-emerald-die' into 'master'
Fix UFO Catcher Emerald dying on death pits -- also a general fix to death pits

Closes #608

See merge request KartKrew/Kart!1497
2023-09-17 05:22:21 +00:00
Oni
35c388c877 Merge branch 'item-pickup-restrictions' into 'master'
Anti item farming

See merge request KartKrew/Kart!1492
2023-09-17 04:55:54 +00:00
Oni
954fb272dd Merge branch 'checkpoint' into 'master'
Checkpoint Star Posts

See merge request KartKrew/Kart!1444
2023-09-17 04:04:34 +00:00
toaster
f9dfdf2152 GTR_CHECKPOINTS when alone: Force a level restart when player has been dead for a second 2023-09-16 23:31:01 +01:00
toaster
467b5f831b Add GTR_CHECKPOINTS
- Prevents Checkpoint from spawning
- Prevents spawnpoint-handling code from occouring
2023-09-16 23:22:59 +01:00
James R
2bbf69ded3 Checkpoints: add respawning behavior for players
- Add checkpointId to player_t and netsave
- checkpointId persists if the map is reloaded, but not if
  the map is changed or if "resetplayers" is ticked
- Players spawn at the last touched checkpoint instead of
  at a player start
- Tether sparkles fly out of the player in a circle
2023-09-16 21:46:22 +01:00
James R
e83923a365 Checkpoints: add object configuration, collision, animations
This commit handles everything except actually respawning
the player at a checkpoint.

- Checkpoints are formed by two checkpoint things (2030):
  - thingarg0 - The ID for the checkpoint. Must be the
                same for these two things, and these two
                things only. ID cannot be 0.
  - angle - The direction the player is intended to face
            after respawning. Must be the same for both
            things.

- Each checkpoint thing is a starpost with a stick and an
  orb at the end.
- By default, the sticks are lowered to horizontal and
  face toward the opposite starpost.
- Rainbow tether sparkles form a field between the two
  starposts.
- When a player crosses between these two starposts, each
  spins in the direction that the player crossed. The
  sparkles also fly out in that direction.
- Over time the sticks pivot upward.
- When the starposts are done spinning, the sticks will be
  pointing straight upward.
- Orb at the end of the stick begins flashing when the
  starpost is done spinnning.

- Players may cross multiple checkpoints.
- When this happens, any previously activated checkpoint
  will have its stick lowered back to horizontal, and its
  orb will stop flashing.
2023-09-16 21:46:22 +01:00
James R
11fee625f5 P_MobjFlip, P_MobjWasRemoved: let mobj be const 2023-09-16 21:45:59 +01:00