Commit graph

14011 commits

Author SHA1 Message Date
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
toaster
dee2489620 P_GetNodeType: Do not dereference invalid pointer for **nodedata parameter 2023-07-20 17:54:47 +01:00
sphere
a752e6c8e4 Merge branch 'kredits' into 'next'
Fix inconsistency with title card patch coloring (color the title card patch used in the credits to skin)

See merge request STJr/SRB2!1746
2023-07-19 19:43:15 +00:00
katsy
8cf65e8301 Fix inconsistency with title card patch coloring (color the title card patch used in the credits to skin) 2023-07-19 19:43:15 +00:00
sphere
5c87dd52ec Merge branch 'action-super-fix' into 'next'
Make A_Action super act as expected

Closes #718

See merge request STJr/SRB2!1737
2023-07-19 19:40:42 +00:00
sphere
9ea387acc0 Merge branch 'plinedefexectutefix' into 'next'
Don't cancel P_LinedefExecute early

Closes #988

See merge request STJr/SRB2!1944
2023-07-19 19:40:20 +00:00
sphere
b1e3589210 Merge branch 'hudlines-hudtime-fix' into 'next'
Fix con_hudlines being off by one, Fix con_hudtime overflow

See merge request STJr/SRB2!1931
2023-07-18 19:47:21 +00:00
SteelT
9a31064c4a Merge branch 'master' into next 2023-07-15 21:04:07 -04:00
sphere
9b16c21517 Merge branch 'net-timing' into 'next'
Prevent dropped ticcmds due to interp timing jutter

See merge request STJr/SRB2!2046
2023-07-15 17:45:00 +00:00
sphere
c29999aea7 Merge branch 'suppress-warnings' into 'master'
Suppress libdivide warnings in GCC/Clang

See merge request STJr/SRB2!1991
2023-07-15 17:38:19 +00:00
sphere
5da5b6dd86 Merge branch 'fix-exotic-prids' into 'master'
Fix PRIdS define for Windows MINGW64

See merge request STJr/SRB2!1367
2023-07-15 17:38:12 +00:00
sphere
7aac6a01e4 Merge branch 'better-crashes' into 'next'
Better signal handler messages

See merge request STJr/SRB2!2042
2023-07-14 22:48:26 +00:00
sphere
860767aa65 Merge branch 'increasemaxunlockables' into 'next'
Increase maximum unlockables

Closes #770

See merge request STJr/SRB2!1988
2023-07-14 22:47:37 +00:00
sphere
54d5e8154b Merge branch 'cv-truefalse' into 'next'
Add CV_TrueFalse as possible value types for console variables

See merge request STJr/SRB2!2049
2023-07-14 22:47:09 +00:00
sphere
858c9ef0b2 Merge branch 'align-memory-addresses' into 'next'
Make sure all allocations are properly aligned

See merge request STJr/SRB2!2050
2023-07-14 22:46:39 +00:00
sphere
bf5c4a1b0d Merge branch 'handle-missing-frame-gracefully' into 'next'
Handle missing frames for sprites gracefully

See merge request STJr/SRB2!2039
2023-07-14 13:24:53 +00:00
sphere
610ddc034c Merge branch 'removetwohundredandsixty' into 'next'
Remove generalized FOF type

Closes #1011

See merge request STJr/SRB2!2038
2023-07-14 13:17:51 +00:00
sphere
47436ee495 Merge branch 'bosszero' into 'next'
Do not consider 0 a valid executor tag for bosses

Closes #1017

See merge request STJr/SRB2!2037
2023-07-14 13:17:48 +00:00
sphere
93fa653f80 Merge branch 'fishjumpbinaryfix' into 'next'
Fix A_FishJump for custom objects in binary maps

Closes #1019

See merge request STJr/SRB2!2035
2023-07-14 13:16:55 +00:00
sphere
59685937da Merge branch 'fix-exit-automap-segfault' into 'next'
Fix segfault when exiting game with automap open

Closes #1049

See merge request STJr/SRB2!2044
2023-07-14 13:15:56 +00:00
sphere
2e2ec145dd Merge branch 'fading-callback-thread-fix' into 'next'
Do music fade callback on main thread (resolves #975)

Closes #975

See merge request STJr/SRB2!2043
2023-07-14 13:15:37 +00:00
sphere
f428759150 Merge branch 'bbox' into 'next'
Hitbox Renderer

See merge request STJr/SRB2!1838
2023-07-14 13:14:56 +00:00
spherallic
34ce172a90 Allow toggling PF_NoDepthTest for OpenGL hitboxes 2023-07-14 15:03:43 +02:00
Zwip-Zwap Zapony
8b931da6f3 Draw hitboxes last in OpenGL 2023-07-14 12:51:16 +00:00
Gustaf Alhäll
bfbbaf9f56
Make sure all allocations are properly aligned 2023-07-14 13:25:09 +02:00
AJ Martinez
8755582901 Don't submit future ticcmds if they could overwrite a needed ticcmd 2023-07-14 02:33:33 -07:00
SteelT
464110ed81 Add CV_TrueFalse as possible value types for console variables
This also adds support for using true/false as value aliases for On/Off, Yes/No or 1/0
2023-07-13 01:02:15 -04:00
AJ Martinez
2ebd3fcca4 Buffer ticcmds when receiving two on same tic 2023-07-10 15:40:20 -07:00
Gustaf Alhäll
281e6012f3
Fix segfault when exiting game with automap open 2023-07-08 14:02:32 +02:00
Lactozilla
0aa763df85 Do music fade callback on main thread 2023-07-08 00:53:28 -03:00
Tatsuru
3ff9e908fe Signal handler minor refactor 2023-07-07 18:13:44 -03:00
sphere
3af1074e17 Merge branch 'next' into 'next'
[UDMF] Updated line sloping warning message

See merge request STJr/SRB2!2040
2023-07-06 19:27:32 +00:00
Ace Lite
372bb8b8fc [UDMF] Updated line sloping warning message 2023-07-06 19:27:32 +00:00
Gustaf Alhäll
8d8257b4a6
Handle missing frames for sprite gracefully 2023-07-06 19:12:29 +02:00
spherallic
29703f8d6a Remove action 260 from the UDMF config 2023-07-06 18:26:30 +02:00
spherallic
49528c1558 Remove generalized FOF type (linedef action 260) 2023-07-06 18:11:52 +02:00
spherallic
a4bcf4e2ce Do not consider 0 a valid executor tag for bosses 2023-07-06 18:06:23 +02:00
MIDIMan
4342dacbdf Fix A_FishJump for custom objects in binary maps 2023-07-05 14:25:10 -04:00
sphere
d7a84b967c Merge branch 'strongpower' into 'next'
Add player->powers[pw_strong], refactor attacks and busting conditions, and allow breaking floors and ceilings separately

See merge request STJr/SRB2!1366
2023-07-05 17:05:47 +00:00
katsy
f261b9f0e1 Add player->powers[pw_strong], refactor attacks and busting conditions, and allow breaking floors and ceilings separately 2023-07-05 17:05:47 +00:00
sphere
94f6fb03ca Merge branch 'cutscene-fix' into 'next'
[SUGOI] Remove "singletics" code in F_WriteText (resolves #1033)

Closes #1033

See merge request STJr/SRB2!2022
2023-07-05 11:41:21 +00:00
spherallic
ff7a24df09 Rename Kiwi skincolor to Pear 2023-07-05 12:10:30 +02:00
sphere
f13fddaf58 Merge branch 'fix-mobjinfo-custom-field' into 'next'
Fix Lua warning when accessing custom field on mobjinfo

Closes #1043

See merge request STJr/SRB2!2034
2023-07-04 21:03:53 +00:00
sphere
d0dbe10d08 Merge branch 'fix-segfault-noset-field' into 'next'
Fix segfault when trying to set a read-only field on player_t

Closes #1041

See merge request STJr/SRB2!2032
2023-07-04 21:03:46 +00:00
Gustaf Alhäll
09b9adc806
Fix Lua warning when accessing custom field on mobjinfo 2023-07-04 18:46:49 +02:00
Gustaf Alhäll
beda6109b2
Fix segfault when trying to set a read-only field on player_t 2023-07-03 23:30:49 +02:00
sphere
8ce0328423 Merge branch 'colors-ultimate' into 'next'
Colors Ultimate

Closes #745 and #496

See merge request STJr/SRB2!2027
2023-07-03 14:00:10 +00:00
sphere
6f74123c7d Merge branch 'udmf-texture-offsets' into 'next'
Implement per-texture offsets in UDMF

See merge request STJr/SRB2!2018
2023-06-27 23:09:03 +00:00
MascaraSnake
8c31d279cf Implement per-texture offsets in UDMF 2023-06-28 01:07:52 +02:00
spherallic
e88b3542c7 Update UZB/UDMF configuration files 2023-06-22 14:02:31 +02:00