Commit graph

150 commits

Author SHA1 Message Date
James R
8bd83b69c3 Spawn MT_LOOPENDPOINT and MT_LOOPCENTERPOINT mapthings 2023-02-28 20:27:11 -08:00
Sally Coolatta
5b147f59ed Add sector action
Linedef actions, but on sectors. Including args, stringargs, and unique activator flags.
2023-01-06 05:31:53 -05:00
Sally Coolatta
75658fd469 Implement thing special
Executes when an object is killed.
2023-01-05 23:58:48 -05:00
Sally Coolatta
1caf255f5c Merge branch 'master' into acs 2023-01-05 22:23:51 -05:00
toaster
724c9b774e 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.
2023-01-05 23:32:12 +00:00
Sally Coolatta
a0adb05c9b Merge branch 'master' into acs 2022-12-31 15:04:51 -05:00
Sally Coolatta
d5155e3d83 Add Hexen line activation flags
- Lines can be set to activate when crossing or bumping into them, with distinctions for players, enemies, and missiles+items.
- A new flag has been added to determine if a line special can activate more than once.
- Finish Line + Respawn Line are now handled like other specials. This means that:
    - They follow the new line activation rules (so you can potentially have a finish line that you have to bump instead of cross)
    - More importantly, they can be called as functions in ACS. (Player_FinishLine and Player_Respawn)
- Fixed linedef flags not being saved in save games.
2022-12-31 13:41:17 -05:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
Sally Coolatta
f8874f3460 Split up EV_DoElevator 2022-12-27 08:27:09 -05:00
Sally Coolatta
7d177a9157 Update executors 400, 403, 405, and 429 for ACS 2022-12-27 07:43:12 -05:00
Sally Coolatta
8eef5efa95 Fully port the ACS integration to C++ 2022-12-23 04:38:05 -05:00
Sally Coolatta
2a790d10da Merge branch 'master' into acs 2022-12-22 08:24:21 -05:00
James R
b5310a1f68 Add typedef.h
All typedefs for structs that were present in other header
files have been moved to here. (Except node_t because the
renderer and netcode both define node_t LOL.)
2022-11-27 17:21:40 -08:00
Sally Coolatta
62bda51d89 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.
2022-11-14 13:51:46 -05:00
Sally Coolatta
4896a9c843 MT_MAYONAKAARROW uses args 2022-10-10 10:36:59 -04:00
Sally Coolatta
1ab2b4a897 Bot Controller uses args 2022-10-10 10:26:25 -04:00
Sally Coolatta
983304f361 Update birdslopes to use args 2022-10-10 10:16:40 -04:00
Sally Coolatta
6fb56cc940 Finish line + respawn line use args 2022-10-10 09:12:41 -04:00
Sally Coolatta
aa7e26e40e Fix credit on ChangeMusic, use args 2022-10-10 08:03:41 -04:00
Sally Coolatta
77ec64497c Item Capsules use args 2022-10-10 07:58:28 -04:00
Sally Coolatta
c1581d0f75 Egg Capsules use args + optimized tube waypoints 2022-10-10 07:48:55 -04:00
Sally Coolatta
436c763a02 Make MT_WAYPOINT fully use args
All of its special flags are contained on args[2] now.
2022-10-10 07:22:42 -04:00
Sally Coolatta
a8ac5a9922 Make Kart Z FOF Thwomp delay use args 2022-10-10 07:00:08 -04:00
MascaraSnake
3b971835ee Add Lua backwards compatibility for FOF flags 2022-10-09 01:56:50 -04:00
Nev3r
5c9599f0a9 "UDMF: The whole thing" merged
See merge request STJr/SRB2!1714

Barely any RR features reimplemented
2022-10-09 01:13:37 -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
MascaraSnake
40d0fb714d Store tag instead of sourceline in raise thinker 2020-04-27 12:54:08 +02:00
MascaraSnake
bd40d8df9e Remove obsolete stuff from elevator_t 2020-04-26 18:38:45 +02:00
MascaraSnake
38a3be00d0 T_StartCrumble refactoring, part 1 2020-04-26 16:51:14 +02:00