Commit graph

1177 commits

Author SHA1 Message Date
Lactozilla
e62c085e19 Custom teams WIP 2023-08-05 05:27:53 -03:00
Lactozilla
08c087f6f6 Make gametype struct and organize gametype data 2023-08-05 01:58:18 -03:00
Sal
f11538c478 Make UDMF scale compatible with ZDoom's spec 2023-08-04 20:05:35 +00:00
Monster Iestyn
77d70aaa1b relocate savedata code from P_LoadLevel to G_InitNew as well
(this doesn't fix !1064 yet, this just makes the code a bit tidier)
2023-07-31 20:06:28 +01:00
Sal
1a209146d6 Merge branch 'spemblems' into 'next'
Allow obtaining ring, time & grade emblems in regular gameplay

See merge request STJr/SRB2!1752
2023-07-25 09:45:12 +00:00
Sal
3a52e6deb2 Merge branch 'waiting-players-intermission' into 'next'
SRB2Kart netcode ports

See merge request STJr/SRB2!2019
2023-07-24 18:03:45 +00: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
spherallic
86b4f93610 Allow obtaining ring, time & grade emblems in regular SP gameplay. 2023-07-24 08:34:10 -04:00
toaster
e914c19e8f P_WriteSfx: Work around the weird case sensitivity in internal instances of get_number by always providing an uppercase prefix on conversion 2023-07-21 14:41:22 +01: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
toaster
dee2489620 P_GetNodeType: Do not dereference invalid pointer for **nodedata parameter 2023-07-20 17:54:47 +01:00
Sally Coolatta
4a735470b9 Even more SRB2Kart netcode improvement ports
- Prevent connection timeout during the waiting gamestate from the last commit.
- Keep client connections alive during fades / other internal loops.
- More consistently timeout clients when they reach the end of BACKUPTICS.
- Dedicated servers will not run any game logic if no nodes are sending packets to it, to reduce CPU usage when there is no one interacting with your server.
  - Unlike SRB2Kart, the amount of time is configurable with the "dedicatedidletime" console variable. Setting this to 0 will disable this feature.
- CL_SendClientCmd uses exact packet types instead of magic number offsets.
2023-07-17 00:44:34 -04: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
Sally Coolatta
303d636f8e Individual emblems mode 2023-06-02 16:06:43 -04:00
Sally Coolatta
49fa46d80e Online emblems
Currently, emblems share with everyone. Will add an option to toggle this.
2023-06-02 16:06:43 -04:00
sphere
cf0c5f9084 Merge branch 'midsave-addons' into 'next'
Allow Cosmetic Add-Ons Mid-Save

Closes #911

See merge request STJr/SRB2!1877
2023-05-25 21:01:30 +00:00
sphere
777a1c6b83 Merge branch 'plane-scroller-tweaks-again' into 'next'
Plane scroller & wind/current/pusher improvements (again)

See merge request STJr/SRB2!1811
2023-05-25 21:00:30 +00:00
MascaraSnake
e4933b3e94 Merge branch 'allow-modified-saving' into 'next'
[SUGOI] Allow saving in modified games.

See merge request STJr/SRB2!1749
2023-05-24 05:04:26 +00:00
spherallic
9499cb5409 Merge branch 'next' into public_next 2023-04-12 19:51:17 +02:00
spherallic
9d6456c326 Merge branch 'next' into public_next 2023-04-02 19:33:16 +02:00
sphere
3f499178b0 Merge branch 'forceverticalflipflag' into 'next'
Add flag to action 433 to force MFE_VERTICALFLIP

See merge request STJr/SRB2!1948
2023-03-31 16:13:23 +00:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
spherallic
540c5d6cc0 Add flag to action 433 to force MFE_VERTICALFLIP 2023-03-20 15:46:15 +01:00
spherallic
a95f5ba7ea Merge branch 'next' into public_next 2023-03-13 12:03:24 +01:00
sphere
b4e1f2d4ff Merge branch 'udmf-defaults' into 'next'
Linedef type 14 UDMF conversion: Don't fill stringargs[0] if toptexture is empty

Closes #973

See merge request STJr/SRB2!1936
2023-02-28 13:59:35 +00:00
sphere
684566ebc4 Merge branch 'emblem-fix' into 'next'
Move emblem float option to args[1], since args[0] is already occupied for NiGHTS emblems

Closes #963

See merge request STJr/SRB2!1935
2023-02-28 13:59:32 +00:00
MascaraSnake
283f7e8919 Linedef type 14 UDMF conversion: Don't fill stringargs[0] if toptexture is empty 2023-02-25 13:24:14 +01:00
MascaraSnake
d58dad7f98 Move emblem float option to args[1], since args[0] is already occupied for NiGHTS emblems 2023-02-25 11:58:12 +01:00
MascaraSnake
aba57612d5 -Only print deprecated map effect warnings once on map load
-Add missing unsupported effect warnings to P_WriteTextmap
-Apply spikes MSF_TRIGGERSPECIAL_TOUCH hack in UDMF too
2023-02-19 07:27:16 +01:00
spherallic
4a1e99729b Merge branch 'next' into public_next 2023-01-31 15:47:11 +01:00
MascaraSnake
6055b1490b Merge branch 'udmf-triggerer' into 'next'
UDMF: Use string values for the sector "triggerer" field

See merge request STJr/SRB2!1902
2023-01-28 06:32:29 +00:00
LJ Sonic
379cc4207a Revert "Merge branch 'netcode-refactor' into merging"
This reverts merge request !1920
2023-01-15 17:57:23 +00:00
LJ Sonic
41fb0c8943 Merge branch 'netcode-refactor' into merging 2023-01-15 17:45:06 +01:00
sphere
cdf896b22f Merge branch 'nightshoopsanity' into 'next'
Allow setting NiGHTS hoop pitch & yaw in degrees (in binary map format)

See merge request STJr/SRB2!1892
2023-01-06 23:54:26 +00:00
LJ Sonic
7c2fe20cd5 Move tic and net command handling to new files 2023-01-05 22:51:17 +01:00
MascaraSnake
ca039ad49b Merge branch 'node-shit' into 'next'
Fix a few rendering errors

See merge request STJr/SRB2!1901
2022-12-31 08:52:36 +00:00
MascaraSnake
6bbb032581 UDMF: Use string values for the sector "triggerer" field 2022-12-30 11:19:29 +01:00
MascaraSnake
0a0da81007 Fix typo 2022-12-30 07:52:19 +01: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
Eidolon
4c72154d4f Merge remote-tracking branch 'local-SRB2/next' into public_next 2022-12-08 21:26:28 -06:00
Eidolon
d98d59494f Add missing level-load view reset from RR 2022-12-08 18:21:37 -06:00
spherallic
d0a91646ef Allow setting hoop pitch/yaw in degrees (binary) 2022-12-07 12:34:35 +01:00
Eidolon
aac04b818c Merge branch '22-safe-addfolder' into 'public_next'
Path security checks for addfile, addfolder and exec

See merge request STJr/SRB2Internal!633
2022-12-07 00:43:31 +00:00
Ace Lite
3217984f55 c-side offset/angle variable renamed 2022-11-25 23:01:27 +00:00
Zwip-Zwap Zapony
969dc4813a Allow cosmetic add-ons mid-save 2022-11-19 19:57:08 +01:00
Sally Coolatta
a22fa1c455 Compromise on cheats setting modified game
Instead of modifying the game, cheats now set a separate "cheats were used in this session" variable, which returns some of the old behavior.

HOWEVER, cheats will STILL allow spawning / collecting emblems & unlocking unlockables. Cheats will purely prevent saving progress. (It was always frustrating that devmode would make debugging unlockable features harder...)

Lastly, the function to set no-saving was exposed to Lua (`G_SetUsedCheats(silent)`). Just thought it'd be useful for large-scale gamedata-using mods that want to add their own cheat commands.
2022-11-16 11:14:31 -05:00
Sally Coolatta
1b43cdddd5 Allow saving in modified games. 2022-11-16 11:14:29 -05:00
Eidolon
9a88c9ea47 Merge branch 'gravityflipping' into 'next'
Gravity flip bugfixes & additions

Closes #378, #661, and #430

See merge request STJr/SRB2!1808
2022-11-12 23:33:07 +00:00
Eidolon
f3830b2934 Merge branch 'pandoras-letter' into 'next'
Fix hidden 100% completion reward actually being obtained at 50% completion

See merge request STJr/SRB2!1842
2022-11-11 23:00:24 -06:00