Commit graph

153 commits

Author SHA1 Message Date
GenericHeroGuy
1b0ea34476 Add No Spread flag for patch finish lines 2025-06-03 01:10:11 +02:00
NepDisk
e78e49e3c1 Texture precaching
A simple port from saturn
2025-05-29 12:06:51 -04:00
NepDisk
c7cbc27efb completly borked remove flats port
Completey fucked color and brightmap handling for floors.
2025-05-24 23:41:33 -04:00
GenericHeroGuy
20396e14cb Operation: Save Megablock Castle
Two new finish line flags:
Single-Use, to make a finish line that only works on lap 0 and nowhere else
Require Sector Special, for the maps with FOF finish lines

For waypoints, the "flip finish line" flag on arg0 has been removed.
Instead, arg4 is now dedicated to holding flags applied to the finish line.
2025-05-06 20:43:31 +02:00
James R
67888c237d Activate sector each time / once actions when mobj touches the ground
Before

- Each time / once only activates when the mobj's sector
  changes
- The activation may depend on the mobj touching the floor
- If the mobj is in the air when the sector changes, the
  action will never be activated

After

- Each time / once actions that require floor touching
  also activate every time the mobj lands on the ground
  from the air (regardless of whether the sector changed)
2025-05-06 19:07:53 +02:00
GenericHeroGuy
54a628bdfd Enable waypoints for patched maps 2025-05-03 18:09:40 +02:00
NepDisk
af06da6560 Port v1 objects pt 6: Port 2.1 bosses 2025-04-13 17:39:35 -04:00
NepDisk
4b1324da69 Remove Battle capsule stuff and turn it into Item Breaker
You have to smash every itembox in a map as fast as you can. When you mash you get a pogospring and waiting gives a sneaker
2024-12-17 00:24:20 -05:00
Sally Coolatta
d29e3f2f6f Implement thing special
Executes when an object is killed.
2024-10-15 21:57:27 -04:00
Sally Coolatta
7aac06b96e Add equivalent of "Each Time" triggers for ACS 2024-10-15 15:25:06 -04:00
Sally Coolatta
a12ad40610 Add CameraWait ACS function
Pauses a script until the tagged camera has no more waypoints to follow.
2024-10-15 15:17:15 -04:00
Eidolon
d08b923f06 Merge branch 'extern-c-everything' into 'master'
Add extern "C" in C++ to all headers

See merge request KartKrew/Kart!842
2024-10-15 14:14:43 -04:00
Sally Coolatta
8637dc3ce3 Fully port the ACS integration to C++ and make it build 2024-10-15 06:01:14 -04:00
James R
9e801c66d5 Merge branch 'universal-typedef' into 'master'
Move all typedef into one file

See merge request KartKrew/Kart!791
2024-10-15 04:16:58 -04:00
Oni
4c994de722 Merge branch 'loops' into 'master'
Sonic Loops

See merge request KartKrew/Kart!991
2024-09-12 12:10:40 -04:00
NepDisk
84f4ce5510 Fix crushers on anicent tomb in the uglyist way possible
yes duplicate code but can't be arsed to fix new code for now
2024-09-12 00:19:39 -04:00
NepDisk
0ef46ec9e2 add back P_ThingOnSpecial3DFloor for back compat with older scripts 2024-09-10 18:08:35 -04:00
NepDisk
6df955cdc3 Revert Track skybox within player struct
This was done to make lua scripts that change the skybox work again!

This reverts commit 196dc77e6faafe41203ef132580c3178ad4562de.
2024-09-10 14:43:00 -04:00
Sally Coolatta
dec51a3b25 Add sector action
Linedef actions, but on sectors. Including args, stringargs, and unique activator flags.
2024-09-03 16:53:54 -04:00
NepDisk
3aab5834fc d5155e3d83411be7e71953e2f8e8fdc52818b36d 2024-09-03 16:39:02 -04:00
Sally Coolatta
420e25eba0 Update executors 400, 403, 405, and 429 for ACS 2024-09-03 15:27:17 -04:00
Sally Coolatta
106fc14e25 Split EV_DoFloor, EV_DoCeiling, and EV_DoCrush
And remove their dependency on a line_t existing.

One step towards implementing linedef executor functions into ACS.
2024-09-03 15:13:34 -04:00
NepDisk
c6d57ac423 use og fraction value 2024-09-02 22:56:54 -04:00
toaster
3422236b8e Cleaner reference handling for the following extern-scope netsynced mobj_t*.
- `skyboxcenterpnts` and `skyboxviewpnts`
    - P_InitSkyboxPoint`, which calls `P_SetTarget`
- `waypoint->mobj`
    - Make sure NULL before using `P_SetTarget` on
- `tubewaypoints`
    - Use `P_SetTarget`
    - Use `UINT32_MAX` for the invalid mobjnum, since 0 is a valid one.
- `waypointcap` and `kitemcap`
    - NULL before reset

Our international nightmare is over.
2024-09-02 05:52:27 -04:00
Sally Coolatta
14ea4495e1 Egg Capsules use args + optimized tube waypoints 2024-09-02 05:26:21 -04:00
Sally Coolatta
c5f8eb94a6 Make MT_WAYPOINT fully use args
All of its special flags are contained on args[2] now.
2024-09-02 05:24:58 -04:00
NepDisk
a2fcc4bc20 UDMF cherry-pick cherry-pick 2024-08-20 02:47:00 -04:00
NepDisk
f2f1a0aa66 Remove ebrake, spindash and fastfall. cleanup unused states and sprites 2024-07-31 12:46:03 -04:00
James R
6bc1d65442 Merge branch 'custom-weather' into 'master'
Allow freesloting & editing precipprops

See merge request KartKrew/Kart!612
2022-06-11 03:05:37 +00:00
James R
70e55a0911 Run line 80 (raise things to FOF) after things spawn
Blame 3cad7398f0
2022-06-07 00:56:56 -07:00
Sally Coolatta
4c3f89cdf7 Allow freesloting & editing precipprops
Allows for custom weather types.

In SOC:
```Freeslot
PRECIP_GROOVY

Weather PRECIP_GROOVY
Type = MT_PARTICLE
Effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING```

In Lua:
```freeslot("PRECIP_GROOVY")

precipprops[PRECIP_GROOVY] = {
    type = MT_PARTICLE,
    effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING
}```

Then in level header, simply set `Weather = PRECIP_GROOVY`.

Other properties are part of the object itself:
- Falling speed is set as the object's speed
- Sound ID is set via the object's SeeSound
- Sound frequency is set by the object's Mass.
2022-05-31 09:03:06 -04:00
toaster
78b8def506 Allow fromnetsave to be used in P_SpawnSpecialsThatRequireObjects (missed element of the level load executor fix). 2022-03-18 19:59:28 +00:00
James R
d06355018d Track skybox within player struct
TODO: Lua

Splitscreen and change viewpoint uses the proper skyboxes!
2022-01-17 22:46:01 -08:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
James R
3cad7398f0 Fix slope spawning; let polyobjects spawn again
Move P_SpawnMapThings before P_SpawnSpecialsThatRequireObjects.

Do not remove special from lines with ML_NETONLY or ML_NONET until after
slopes are spawned.
2020-09-25 13:35:56 -07:00
Sally Coolatta
b5fcd74ef9 Merge master
Slopes in a few maps are really broken ... think it's anchors, I'm gonna leave that to jart :V
2020-09-25 12:00:50 -04:00
Sally Coolatta
672c4fb763 Make aiming relative too 2020-09-25 02:06:37 -04:00
James R
0d573b514e Stupid polyobjects require things to be spawned >:( 2020-09-24 15:10:07 -07:00
James R
388d56a5f8 Search FOF target sectors for slope anchors
Requires spawning fake floors before slopes, and therefore before things,
basically before everything. Hopefully nothing breaks!
2020-09-24 01:56:38 -07:00
James R
ce7161e81d Check out this massive slopes
Line specials 777 - slope floor by anchors, 778 - slope ceiling by anchors,
779 - slope floor and ceiling by anchors.

Thing types 777 - floor anchors, 778 - ceiling anchors.

Summary.

These line specials slope the front or back sector's floor/ceiling by 'anchor'
things. Anchors are floor or ceiling specific and snap to the nearest vertex.
Using this method it is possible to create seamless slopes, without even
tagging.

Details.

Normal slope flags apply. To slope the backside sector, set No Climb on the
line. An anchor each is required to be near three of a sector's vertices in
order to slope it. More may be present but the order is undefined.
2020-09-21 19:35:49 -07:00
Sally Coolatta
68f9edf86b Merge p_spec.c/h 2020-08-09 15:31:23 -04:00
Nev3r
ebe16a66d9 Merge branch 'udmf-next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_ceilng.c
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_mobj.h
#	src/p_polyobj.c
#	src/p_saveg.c
#	src/p_setup.c
#	src/p_spec.c
#	src/p_spec.h
#	src/p_user.c
#	src/r_bsp.c
#	src/r_defs.h
2020-07-10 18:18:07 +02:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Latapostrophe
fc789790bb Create a quick P_StartQuake without epicenter/radius support and clean up the grand total of 4 earthquake uses in the code 2020-05-14 17:28:33 +02:00
MascaraSnake
58508e199d Make the laser thinker find the FOF itself instead of storing it in the thinker struct 2020-05-02 10:03:16 +02:00
MascaraSnake
238513ffd6 Merge branch 'find-sector-from-tag' into 'next'
Remove P_FindSectorFromLineTag and P_FindLineFromLineTag

See merge request STJr/SRB2!901
2020-05-01 05:49:52 -04:00
MascaraSnake
e967c32a10 Merge branch 'more-thinker-refactor' into 'next'
More thinker refactoring

See merge request STJr/SRB2!900
2020-05-01 05:47:14 -04:00
MascaraSnake
5cf3fd0074 Merge branch 'next' into elevator-cleanup
# Conflicts:
#	src/p_saveg.c
2020-05-01 11:42:05 +02:00
MascaraSnake
c2cf8d57d0 Remove P_FindSectorFromLineTag 2020-04-27 14:31:37 +02:00
MascaraSnake
398ee65646 Store "no bosses" setting for lasers in thinker instead of checking sourceline. 2020-04-27 13:09:57 +02:00