Commit graph

24217 commits

Author SHA1 Message Date
Sally Coolatta
d3ee4d631a Add "Freeze" ACS function 2023-09-23 15:54:01 -04:00
Sally Coolatta
0211dc4f34 Reset freeze on level load 2023-09-23 15:51:33 -04:00
Sally Coolatta
c9291b0f61 Mobj thinker freeze condition rework
- There's a freeze cheat bool to freeze everything except for players.
- There's a level freeze bool to freeze literally everything.
- There's a frozen bool on mobj_t to explicitly control freeze status on an object.
2023-09-18 03:24:58 -04: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
James R.
591a2d94f5 k_drawKartHUD: disable HUD tracking with cv_drawpickups 2023-09-13 00:40:25 -07:00
James R.
0cd4ceec01 R_ThingVisible: hide Spraycans with cv_drawpickups 2023-09-13 00:40:05 -07:00
James R.
635d9dca3e R_FindPlane: fix offsets rotation overflow for non-sloped planes 2023-09-13 00:27:06 -07:00
James R.
5abd0f7a6c UFOMove: check playeringame cv_ufo_follow 2023-09-12 18:22:53 -07:00
AJ Martinez
562da2b376 Anti item farming: item box clarity 2023-09-12 16:26:40 -07:00
AJ Martinez
e71e194ddf Anti item farming: edge case fixups 2023-09-12 16:18:50 -07:00
James R.
3cdfa86b11 Make timing of level fade-in consistent, relative to title card 2023-09-12 05:19:27 -07:00
AJ Martinez
c1ab333b27 Anti farming: having a stroke and can't read GitLab UI 2023-09-12 04:19:57 -07:00
AJ Martinez
785928c339 Anti farming: push the actual fucking code please 2023-09-12 04:14:49 -07:00
James R.
d9d6a0da18 Add ufo_health cheat, set UFO Catcher health 2023-09-12 03:04:51 -07:00
James R.
21e8431e1a Add ufo_follow cheat, teleport UFO Catcher to player 2023-09-12 03:04:28 -07:00
AJ Martinez
34061869c7 Anti item farming 2023-09-11 23:51:13 -07:00
Oni
9e283a4993 Merge branch 'swag-fade-returns' into 'master'
Move V_DrawCustomFadeScreen to D_Display

See merge request KartKrew/Kart!1480
2023-09-12 04:46:47 +00:00