Commit graph

212 commits

Author SHA1 Message Date
Lactozilla
2f25102b79 Make num_posts unsigned
size_t was a bit overkill for that.
2023-09-03 13:27:49 -03:00
Lactozilla
0c664681cd Mask the sprite patch column in R_DrawVisSprite 2023-09-03 12:57:11 -03:00
Lactozilla
649669c217 Merge remote-tracking branch 'stjr/next' into patch-refactor 2023-09-03 12:41:08 -03:00
Lactozilla
821460d208 Patch refactor 2023-07-30 20:56:28 -03:00
Lactozilla
97311dc5b0 Use separate table for maskedtexturecol 2023-07-27 19:15:35 -03:00
Nev3r
3338d7ca74 Merge branch 'conversion-context-drift' into 'next'
UDMF context drift fixes

See merge request STJr/SRB2!2061
2023-07-24 12:49:14 +00:00
toaster
66dd952fdd Tidier conversion of string properties on linedefs to UDMF
Previously, many concatenated texture field strings were turned to text, then had that string run through get_number, then had it converted back into a string to become a stringarg.

Now, the concatenated string is copied directly to the relevant stringarg, with no intermediary steps.

This fixes an issue where a map with object or state properties would have "context drift" - breaking when the object or state list changed, due to differently ordered freeslots, or new hardcoded objects.

Affected types:
- doomednum 1110/Action 9 (Custom Mace/Chain)
- doomednum 700 and those immediately following (Ambient Sound)
- Action 4 and 414 (dash pad, play sound effect)
- Action 14 (bustable block parameters)
- Action 434 (Award Power)
- doomednum 757/Action 15 (fan particle generator)
- doomednum 1202 (bumpable hazard rock/apple spawner)
    - This one has undefined behaviour in the binary map format which was not previously forbidden. This undefined behaviour is EXTREMELY vulnerable to context drift, and so it's simply not worth creating a system to write numerical values into object types - we write an explicit name only for the intended range, and otherwise report the threat of context drift when converting.

In addition, to reduce duplicated zone memory, (sidedef_t).text and (linedef_t).text have been removed from all but the Lua API. In Lua, in binary maps, they point to the host line's stringargs - the line's text and a frontside's text will return stringargs[0], while a backside's text will return stringargs[1]. I've done my best to match the previous API as closely possible, to the point of reporting false nils if the line didn't previously have text available.

However, there are four linedef Actions for which the sidedef text will be different between builds containing and not containing this commit - 331, 332, 333 (the Character-specific linedef executors), and 443 (Call Lua Script), and only if the text is long enough to go over two lines. Given that both halves would be incomplete nonsense in this case, I'm willing to wager this minor point of discrepancy is not a breaking issue.
2023-07-20 19:42:21 +01:00
Ace Lite
2240742720 Merge branch SRB2:next into lua-texture-offsets-expose 2023-07-06 18:35:00 +00:00
MascaraSnake
8c31d279cf Implement per-texture offsets in UDMF 2023-06-28 01:07:52 +02:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
LJ Sonic
c8e579618a Fix maps with more than 65535 segs not working correctly
This renders the "quadrant hack" and ZenNode largely useless
2022-12-27 20:29:15 +01:00
Ace Lite
3217984f55 c-side offset/angle variable renamed 2022-11-25 23:01:27 +00:00
spherallic
f37d466343 Merge branch 'next' into gravityflipping 2022-09-29 19:27:00 +02:00
spherallic
0ee81a1cc3 Support gravity override flag in UDMF 2022-09-11 19:46:57 +02:00
spherallic
1f73c9cf99 Add flag to per-sector gravity for overriding MF2_OBJECTFLIP 2022-09-11 16:15:50 +02:00
spherallic
9fabddd4bb Add sector type that flips gravity upon jumping 2022-09-08 16:56:35 +02:00
MascaraSnake
8d4baace53 Add Lua backwards compatibility for FOF flags 2022-07-31 12:04:42 +02:00
MascaraSnake
fc4b79c0de Fix custom FOF flag conversion in binary maps 2022-06-04 10:59:42 +02:00
MascaraSnake
faa7d89e3e Merge branch 'udmf-more-linedef-types' into udmf-sector-fields 2022-04-20 21:01:16 +02:00
MascaraSnake
2e56c3de35 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-04-19 22:18:30 +02:00
MascaraSnake
0b4bbacec0 Merge branch 'next' into udmf-fofs-mkii 2022-04-19 21:59:31 +02:00
sphere
55854410ac Merge branch 'line-angle' into 'next'
Add angle field to linedef_t

See merge request STJr/SRB2!1602
2022-03-22 09:09:40 +00:00
MascaraSnake
a78e4e553c Merge branch 'next' into udmf-fofs-mkii 2022-03-18 07:29:02 +01:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
MascaraSnake
13b8d1cf7e Merge branch 'udmf-more-linedef-types' into udmf-sector-fields 2022-01-14 21:09:11 +01:00
MascaraSnake
79cf2f53e8 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-01-14 20:24:51 +01:00
MascaraSnake
323cfaace9 Add blendmode support to FOFs 2022-01-14 19:40:45 +01:00
MascaraSnake
6bb6dc88ca Merge branch 'next' into udmf-fofs-mkii
# Conflicts:
#	src/hardware/hw_main.c
#	src/lua_maplib.c
#	src/p_spec.c
#	src/p_user.c
2022-01-14 07:24:05 +01:00
MascaraSnake
577ae68d6d Make sector friction a floating-point field 2022-01-04 21:25:34 +01:00
MascaraSnake
2886a277d8 Turn the fog wall linedef type into a blendmode 2021-12-31 15:00:27 +01:00
MascaraSnake
2b4d32b372 Turn solid lava into a damagetype 2021-12-31 12:15:01 +01:00
MascaraSnake
208395214a Implement sector fields for linedef executor triggering 2021-12-31 11:39:34 +01:00
MascaraSnake
b3be8d1f44 Implement sector damagetype field 2021-12-31 08:53:00 +01:00
MascaraSnake
feaa4f1273 Replace most sector specials with sector special flags 2021-12-31 00:03:24 +01:00
MascaraSnake
570a6ab395 Turn "intangible to camera" sector special into a sector flag 2021-12-30 20:37:57 +01:00
MascaraSnake
b3863c57be Replace verticalflip in sector_t with a sector flag that's accessible via Lua and UDMF 2021-12-30 18:50:02 +01:00
MascaraSnake
86e2fefcac Add sector gravity field for UDMF 2021-12-30 18:19:42 +01:00
MascaraSnake
e3d41e0bda Adapt linedef type 540 to UDMF 2021-12-30 15:32:28 +01:00
MascaraSnake
f30b97ba93 Adapt heat wave effect to UDMF 2021-12-30 14:48:40 +01:00
MascaraSnake
2fd6eafbcf Expose sector flags to Lua and UDMF 2021-12-30 14:16:00 +01:00
MascaraSnake
c1e22c4bb6 Add two more linedef/thing args because the maces need them 2021-12-14 06:43:06 +01:00
sphere
7601afb6c1 blentran part 3: Wall & plane blendmodes. 2021-12-05 00:48:21 +01:00
sphere
3802f601a9 blentran part 1: Flag changes & semibright support. 2021-12-05 00:48:21 +01:00
MascaraSnake
f5cda9f64c Merge branch 'udmf-lighting' into udmf-linedef-executors 2021-12-03 19:23:24 +01:00
MascaraSnake
aee4996eba Merge branch 'udmf-polyobjects' into udmf-lighting 2021-12-03 19:22:37 +01:00
MascaraSnake
6dc49042de Port katsy's bouncy FOF cleanup 2021-12-03 18:48:16 +01:00
MascaraSnake
03c1c592ab I surrender - we need more linedef args (also adapt the remaining linedef executors to UDMF) 2021-09-22 08:57:48 +02:00
MascaraSnake
e15c160773 Implement per-sector floor/ceiling lighting 2021-09-19 08:58:21 +02:00
GoldenTails
72bf2a9897 Add angle field to linedef_t 2021-08-24 03:13:18 -05:00
MascaraSnake
23efeeed8e Merge branch 'next' into udmf-fofs-mkii 2021-06-23 19:48:26 +02:00