Commit graph

24230 commits

Author SHA1 Message Date
James R.
d86aaa8c0c Hyudoro: smoothly transition vertical position in hovering stack 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.
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.
c12a80ef91 MT_ITEMCAPSULE_PART: offset parts by MT_ITEMCAPSULE sprx/y/zoff 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
James R
02b6ac0b70 Checkpoints: add states
Duplicating S_SIGNSPARK1-11 because FUCK.
2023-09-16 21:45:59 +01:00
toaster
e351f07e4e Merge branch 'fix-plane-offsets' into 'master'
R_FindPlane: fix offsets rotation overflow for non-sloped planes

Closes #676

See merge request KartKrew/Kart!1495
2023-09-16 20:28:19 +00:00
toaster
e1a4f615b9 P_CheckDeathPitCollide: Use P_GetSpecialBottomZ/P_GetSpecialTopZ instead of floorz, ceilingz
Fixes a nasty ledge/FOF touch oversight
2023-09-16 21:05:14 +01:00
James R.
2fd9976102 MT_EMERALD: do not check death pit if MF_NOCLIPHEIGHT 2023-09-16 21:05:13 +01:00
James R.
0bfee3176f P_CheckDeathPitCollide: handle slopes 2023-09-16 21:05:13 +01:00
toaster
b71a8bc5b4 Merge branch 'drawangle-wind' into 'master'
Wind/current uses drawangle (resolves #683)

Closes #683

See merge request KartKrew/Kart!1500
2023-09-16 19:32:56 +00:00
toaster
8eb5115b8e Merge branch 'ufo-health-fix' into 'master'
Sealed Stars: fix UFODebugSetHealth always running

Closes #686

See merge request KartKrew/Kart!1501
2023-09-16 19:32:21 +00:00
SteelT
52e920e874 Sealed Stars: fix UFODebugSetHealth always running
Resolves #686
2023-09-16 14:58:53 -04:00
Eidolon
1e9d0edca2 Add missing include in HWR2 header
Fixes macOS compilation
2023-09-16 11:30:53 -05: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
James R.
a392996a54 P_RemoveMobj: only repair hnext linked list is object is a part of the list
This indirectly fixes a bug with Rocket Sneakers:

- Give yourself Rocket Sneakers, use them up completely.
- Instantly give yourself and deploy Orbinauts (may want
  to use a bind for this, since it has to be quick).
- Wait a moment for the exploded Rocket Sneakers to fall
  to the ground. When this happens, the Orbinauts will
  stop following the player -- they will enter a buggy
  state.

So many items uses hnext/hprev, that I decided to make
a general fix that probably covers most bugs that could
arise from poor handling of hnext/hprev.
2023-09-14 04:03:50 -07:00
James R.
c8cf6a4621 Obj_GardenTopThrow: reset item and shield even if Top object is missing 2023-09-14 04:03:50 -07:00
James R.
a455822790 Garden Top: track inexplicable changes in mobj pointers to avoid Top entering buggy state 2023-09-14 04:03:50 -07:00
James R
bdc564b989 Merge branch 'ufo-debug' into 'master'
ufo_follow and ufo_health cheats

See merge request KartKrew/Kart!1493
2023-09-14 05:16:37 +00:00
James R
88a0b181db Merge branch 'title-card-fade-consistent' into 'master'
Make timing of level fade-in consistent, relative to title card

See merge request KartKrew/Kart!1494
2023-09-14 05:16:20 +00:00
toaster
e854ce53f5 Add "GetGrabbedSprayCan" to ACS
- If netgame or no Spray Can has been grabbed on this map, return 0
- If all Spray Cans have been grabbed in other maps, return "_Completed"
- Otherwise, return the name for the Spray Can color attached to this map
2023-09-13 18:10:08 +01:00
toaster
ce86ebbd52 Add "GrandPrix" check function to ACS
Resolves #669
Done in this branch to keep ACS changes together
2023-09-13 18:06:15 +01:00
toaster
753b733f7e Permit multiple Spray Cans in one map
- Up to 255
- Each Spray Can placed does, in order, the postion in the list from the current head
    - So if there were 3 cans, and your can list was Red Yellow Blue Green, then Red, Yellow, and Blue would be in the level.
- Grabbing the nth colour in the list will swap that colour to the current head of the list
- However, the game will print to the console if you do this outside of GS_TUTORIAL.
2023-09-13 18:02:43 +01:00
toaster
8326a2d588 Dialogue::WriteText improvements
- Only have a long delay between symbols if the current character is std::ispunct() and the NEXT character is std::isspace
- Add native color code support
    - Requires string concatenation to actually use it, though, which I don't know how to do in ACS
2023-09-13 17:53:07 +01:00
toaster
753c6f414d Merge branch 'drawpickups-spraycans' into 'master'
drawpickups: hide Spraycans, disable HUD tracking

Closes #680

See merge request KartKrew/Kart!1496
2023-09-13 10:03:25 +00:00