Commit graph

19 commits

Author SHA1 Message Date
Sally Coolatta
7dfa597c7d SRB2 -> DRRR copyright in src, acs, android folder
Be consistent with toaster's recent changes to copyright
2024-04-05 02:08:23 -04:00
Sally Coolatta
f02e6dbe3c Final thing args code cleanup
- Fix the last few bugs I could find with thing args
- Move version update code
- Rename internal variables to `thing_[string]args` to make older code merge issues more obvious
2023-08-22 02:14:09 -04:00
Sally Coolatta
ccad5bba12 Small bird slope improvements
- Bird slopes can be made from UDMF sectors
- Group is now argument 3 on the line/sector action and argument 1 on the anchor, instead of using tags.
- The terminology no longer swaps between "tag" and "paramater" -- it's just called "group" now.
2023-06-14 07:58:41 -04:00
Sally Coolatta
9d80323a3a Read-only mapthing_t
Map things are writeable in Lua, which I am pretty certain is a mistake because mapthings are not sent over the network at all. I considered making them net-synced (it would be relatively easy), but it also aligns with another, more "philosophical" issue: Doom generally copies over properties from mapthing_t into mobj_t, and then only refers to it again when needing to respawn an object -- mapthing_t is not really intended to be referred to very often at runtime. At best it's slightly annoying since some objects rely on a spawnpoint for behavior changes, at worst it may make ACS more confusing in the future since Thing and Mobj tags are mixed together or less useful since they wouldn't be able to modify behaviors of objects that are based on args.

So I decided to solve these two issues at the same time; just treat mapthing_t as something to copy values from, like OG Doom does it. This basically just means that special and args are also part of the mobj now instead of the mapthing, which should fill any desire to edit this stuff from Lua, and reduces the number of instances where objects need to check for their spawnpoint to function properly.
2023-05-25 14:40:55 -04:00
James R
8a8126567b Fix -Wformat 2022-10-16 16:50:13 -07:00
Sally Coolatta
983304f361 Update birdslopes to use args 2022-10-10 10:16:40 -04:00
Sally Coolatta
df3c077bf1 Block Monsters is a flag again 2022-10-10 01:51:42 -04:00
Sally Coolatta
caa5314866 Get past some taglist stuff 2021-02-28 22:58:30 -05:00
James R
139253a8c2 Offset slope anchors from regular slopes 2020-10-16 16:40:57 -07:00
Sally Coolatta
857f295836 Fix instances of things still using (options >> ZSHIFT) 2020-09-27 04:22:09 -04: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
James R
3d6ed19d55 oops 2020-09-24 12:20:32 -07:00
James R
efbec2c252 Line special 777/778: No Knuckles to mirror slope on opposite plane 2020-09-24 12:19:19 -07:00
James R
1403c49f50 Use Parameter on slope anchors as a tag
This makes FOF sloping over other slopes possible!

Had to remove the absolute height function though.
2020-09-24 03:20:22 -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
b35e2ac9b3 Use the closest of three slope anchors to their respective vertices
Previously it just used the first three anchors that had snapped to a vertex
in the sector.

btw fuck DOOM
2020-09-23 23:17:05 -07:00
James R
ff7813ef38 Use sector lines when snapping anchor to point
Sometimes segs skip a point!
2020-09-22 01:30:59 -07:00
James R
0999fa7096 Fix vertex iteration and Not Dynamic flag 2020-09-21 19:35:49 -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