Commit graph

12862 commits

Author SHA1 Message Date
LJ Sonic
332a0f6b93 Add missing PT_ prefix to a few packet handlers 2023-07-27 15:38:47 +02:00
LJ Sonic
d841bfb236 Move netcode console variables to appropriate files 2023-07-27 15:38:46 +02:00
LJ Sonic
91f9f53cfc Remove unused stuff 2023-07-27 15:38:46 +02:00
LJ Sonic
de46eef068 Move gamestate handling to a new file 2023-07-27 15:38:45 +02:00
LJ Sonic
1a7f42d172 Declare data exchanged through the network to a new file 2023-07-27 15:38:45 +02:00
LJ Sonic
0ade3ae0bc Move tic and net command handling to new files 2023-07-27 15:38:45 +02:00
LJ Sonic
fc41dd78f4 Move server-side connection handling to a new file 2023-07-27 15:38:44 +02:00
LJ Sonic
e090f0e400 Move client connection handling to a new file 2023-07-27 15:38:43 +02:00
LJ Sonic
0b17e3c418 Move netcode files to a new folder 2023-07-27 15:38:42 +02:00
LJ Sonic
07bc922273 Delete netcode
Just kidding, I just deleted NONET
2023-07-27 15:34:05 +02:00
LJ Sonic
1f4c71739a Ignore duplicate PT_CLIENTJOIN packets 2023-07-27 14:45:00 +02:00
LJ Sonic
7b96efc179 Rename ConnectionRefused to be more descriptive 2023-07-27 14:45:00 +02:00
LJ Sonic
d816e4d111 Cleanup HandleConnect 2023-07-27 14:45:00 +02:00
LJ Sonic
b66353932d Remove broken joinnextround console variable 2023-07-27 14:44:59 +02:00
LJ Sonic
f501c4b250 Remove unneeded numplayerswaiting field 2023-07-27 14:44:59 +02:00
LJ Sonic
6ab9b9ae8a Remove useless condition 2023-07-27 14:44:59 +02:00
LJ Sonic
160db6383c Remove useless return value for SV_AddWaitingPlayers 2023-07-27 14:44:58 +02:00
LJ Sonic
394e925c16 Cleanup sphere redistribution 2023-07-27 14:44:58 +02:00
LJ Sonic
0053eaac00 Fix sphere redistribution 2023-07-27 14:44:58 +02:00
LJ Sonic
2de6b623c0 Move sphere redistribution to its own function 2023-07-27 14:44:58 +02:00
LJ Sonic
ecacb14fc1 Move player-node unlinking to a function 2023-07-27 14:44:57 +02:00
LJ Sonic
f1117095b7 Cleanup ResetNode 2023-07-27 14:44:57 +02:00
LJ Sonic
4c0705008e Merge node arrays into a structure 2023-07-27 14:44:57 +02:00
LJ Sonic
27b500ce9a Split packet handling switch into functions 2023-07-27 14:44:57 +02:00
LJ Sonic
60f150a826 Remove snake_ prefix 2023-07-27 14:44:57 +02:00
LJ Sonic
7725315789 Move snake minigame to its own files 2023-07-27 14:44:56 +02:00
LJ Sonic
606797a5a4 Temporarily revert recent netcode changes 2023-07-27 14:41:02 +02:00
Gustaf Alhäll
d01f25d91d
Fix FreeBSD build errors 2023-07-26 23:18:07 +02:00
James R
7261db1eee cmake: fix -DSRB2_CONFIG_ENABLE_TESTS=OFF build 2023-07-26 14:16:15 -04:00
James R
dc103330ac Rename strcasestr to nongnu_strcasestr, macro strcasestr ifndef _GNU_SOURCE
Fix for GCC C++ compiler, which always defines _GNU_SOURCE.
2023-07-26 14:03:55 -04:00
Sally Coolatta
91e915b963 Fix recordscore not including intermission bonuses 2023-07-26 13:44:43 -04:00
Sally Coolatta
42bf107b71 #define BOOL boolean -> #define boolean BOOL 2023-07-26 13:23:48 -04:00
Sal
a7964ffc69 Merge branch 'm-random-take2' into 'next'
New M_Random implementation

See merge request STJr/SRB2!1780
2023-07-26 14:53:01 +00:00
tertu marybig
9e5a828508 New M_Random implementation 2023-07-26 14:53:01 +00:00
Sal
a956aadb15 Merge branch 'forwardmove-rng-what-da-hell' into 'next'
Remove P_RandomFixed call when players are moving

See merge request STJr/SRB2!2057
2023-07-26 14:08:08 +00:00
Sal
03ae681714 Merge branch 'a_scaletoground' into 'next'
Fix A_ConnectToGround's Handling of Scaled Mobjs

Closes #1038

See merge request STJr/SRB2!2029
2023-07-26 12:17:14 +00:00
Sal
31e28bc5a1 Merge branch 'laffytaffy' into 'next'
Warn in console instead of hard erroring when attempting to modify a vanilla skincolor (resolves #1046)

Closes #1046

See merge request STJr/SRB2!2058
2023-07-26 12:14:21 +00:00
katsy
4bbf4c21c2 Warn in console instead of hard erroring when attempting to modify a vanilla skincolor (resolves #1046) 2023-07-26 12:14:21 +00:00
Gustaf Alhäll
9253a8cc54 Fix use-after-free when calling v.drawString in Lua 2023-07-26 08:12:58 -04:00
Sal
f67aea7fc2 Merge branch 'fix-softlock-empty-name' into 'next'
Fix softlocking as Sonic & Tails when Player 2 has no name

See merge request STJr/SRB2!2056
2023-07-26 12:10:24 +00:00
Sal
e96a1630b5 Merge branch 'fix-zmovement-remove-crash' into 'next'
Fix crash when P_ZMovement calls from Lua removes the object

See merge request STJr/SRB2!2054
2023-07-26 12:09:05 +00:00
Sal
99c95e2d7a Merge branch 'fix-mobjcollide-removemobj-segfault' into 'next'
Fix segfault when calling P_RemoveMobj from MobjCollide hook

See merge request STJr/SRB2!2041
2023-07-26 12:03:09 +00:00
Sal
020a7b878e Merge branch 'fix-memory-bloat' into 'next'
Clean up and simplify zone memory allocation

See merge request STJr/SRB2!2059
2023-07-26 12:01:52 +00:00
Sal
a8aee74829 Merge branch 'drawseg-clipping-optimized' into 'next'
Drawseg clipping optimized, from prboom-plus

See merge request STJr/SRB2!2067
2023-07-26 12:00:58 +00:00
Sal
8ed51989e1 Merge branch 'renderhitbox-fix' into 'next'
Small renderhitbox fix

See merge request STJr/SRB2!2068
2023-07-26 12:00:22 +00:00
Sal
7eff445d1f Merge branch 'cmake-clang-tidy' into 'next'
cmake: Add optional clang-tidy integration

See merge request STJr/SRB2!1849
2023-07-26 11:59:02 +00:00
Eidolon
101cdea022 cmake: Add optional clang-tidy integration
clang-tidy performs static analysis over the compilation unit,
producing more comprehensive compile warnings than are normally
generated by the compiler. For example, it will trace branches in a
function to find the exact conditions in which a null dereference
can occur.

Note that this produces an absurd amount of warnings for our existing
C code, and significantly slows compile times. It is pretty effective
at its job though. I think it would be good to turn on by default for
upcoming C++ code.
2023-07-26 07:58:31 -04:00
Eidolon
12b6a7cabf Don't preproc. define inline in C++ 2023-07-26 07:56:22 -04:00
Eidolon
2a8dbed336 Redefine boolean for C++ compatibility 2023-07-26 07:56:22 -04:00
Eidolon
0abe556197 cmake: Enable C++ 17 and C11 2023-07-26 07:55:26 -04:00
Sally Coolatta
dc9346a45d Add forwardmove rng backwards compat with demos 2023-07-26 07:50:47 -04:00
Sally Coolatta
29f7ecd460 Remove P_RandomFixed call when players are moving
"Add some extra randomization" is not how RNG works
2023-07-26 07:46:51 -04:00
Sal
6a0be65315 Merge branch 'brokenrecord' into 'next'
Make reading and writing of all player stats to record attack demos precise (resolves #1048)

Closes #1048

See merge request STJr/SRB2!2045
2023-07-26 11:43:32 +00:00
Sal
5eae98c829 Merge branch 'ra-file-list' into 'next'
Allow Record Attack in modified games

See merge request STJr/SRB2!2064
2023-07-26 11:35:31 +00:00
Lactozilla
e12288be3f Move these two lines after calculating the slopes 2023-07-26 00:19:55 -03:00
Lactozilla
c6c3cc3209 Drawseg clipping optimized, from prboom-plus
Co-authored-by: Sally Coolatta <tehrealsalt@gmail.com>
2023-07-26 00:06:52 -03:00
Sally Coolatta
10a8f2d05e Fix some minor warnings
- Fix `lib_getSkinSprite` overshadowing `sprites` global
- Rename terrible result_e `ok` so it stops overshadowing crap
- Remove inlining from w_wad.c since it reached the inline limit (remember kids, your compiler knows better than you these days whenever or not to inline something)
- Remove unused variable in G_PlayerReborn
2023-07-25 11:32:26 -04:00
Zwip-Zwap Zapony
0e2682d590 Add "drawonlyforplayer" and "dontdrawforviewmobj" 2023-07-25 11:05:29 -04:00
Sally Coolatta
dded352293 Harsher replay menu
Don't allow loading demos with invalid file lists at all. If you insist on doing this, it has to be done from the command line now.
2023-07-25 09:43:10 -04:00
Sally Coolatta
f99cf91d3d Promote file count to UINT16 2023-07-25 09:29:09 -04:00
Sally Coolatta
77576c3c5d Allow Record Attack in modified games
Replays now store & validate the add-on list before loading them. Custom characters can now be allowed in Record Attack.
2023-07-25 08:45:42 -04: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
ee67070547 Merge branch 'fix-no-sdl-build' into 'next'
Fix build errors when building without SDL

See merge request STJr/SRB2!2062
2023-07-25 09:44:33 +00:00
GoldenTails
4212035729 Fix errors due to declaring variables in switch bodies 2023-07-24 21:44:53 -05: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
Sal
2e37995e89 Merge branch 'ping_lua' into 'next'
Port player.ping from SRB2Kart

See merge request STJr/SRB2!2025
2023-07-24 18:00:31 +00:00
Jisk
b36ca89e16 Port player.ping from SRB2Kart 2023-07-24 18:00:31 +00:00
Gustaf Alhäll
8bddf0f097
fixup! fixup! fixup! Fix build errors when building without SDL 2023-07-24 17:12:24 +02:00
Nev3r
4f97b7730b Merge branch '622-teamlives-hud' into 'next'
Resolve "Display lives in the lower left if GTR_TEAMS|GTR_LIVES is set"

Closes #622

See merge request STJr/SRB2!1579
2023-07-24 13:04:21 +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
Nev3r
022ddcf363 Merge branch 'models-plus-final' into 'next'
3D models support for spritexoffset, spriteyoffset, spritexscale, spriteyscale, parity with sprite rollangle

See merge request STJr/SRB2!1840
2023-07-24 12:46:10 +00:00
spherallic
86b4f93610 Allow obtaining ring, time & grade emblems in regular SP gameplay. 2023-07-24 08:34:10 -04:00
Sal
b238a6db50 Merge branch 'shockwave-action' into 'next'
Add a standalone action for shockwaves

See merge request STJr/SRB2!1777
2023-07-24 11:01:41 +00:00
Sal
4ccba2a9d9 Merge branch 'fix-inaccurate-fps-counter' into 'next'
Fix inaccuracies in FPS counter

Closes #1047

See merge request STJr/SRB2!2047
2023-07-24 10:57:27 +00:00
Sal
08c6e76d1c Merge branch 'texnamefornum' into 'next'
Add R_TextureNameForNum and R_CheckTextureNameForNum

See merge request STJr/SRB2!1880
2023-07-24 10:43:52 +00:00
Sal
13c30ace2e Merge branch 'lua-texture-offsets-expose' into 'next'
Exposed floor/ceiling offsets and light reference to Lua.

See merge request STJr/SRB2!1884
2023-07-24 10:42:07 +00:00
Sal
25ef05230e Merge branch 'alias-improvements' into 'next'
Alias improvements

See merge request STJr/SRB2!2055
2023-07-24 10:36:21 +00:00
Sal
34f3b9c06a Merge branch 'os-lib' into 'next'
Paired down OS Lua library

See merge request STJr/SRB2!2060
2023-07-24 10:36:03 +00:00
Sally Coolatta
84e448eb63 Improve handling of team lives labels
The lives counter check is now always run, and team name is displayed in its place when its false.
2023-07-24 06:09:50 -04:00
Shane Ellis
a9d0630b15 Add lives check to Team name HUD 2023-07-24 05:18:55 -04:00
Sal
50d8becf55 Merge branch 'thespikesagaepisode3' into 'next'
Exclude non-solid objects from spike eject (resolves #706)

Closes #706

See merge request STJr/SRB2!1674
2023-07-24 09:17:07 +00:00
Sal
31d26c6f55 Merge branch 'awayview-fix' into 'next'
Call P_ResetCamera Upon Switching To/From an Away View Camera

See merge request STJr/SRB2!2011
2023-07-24 09:15:56 +00:00
Sal
f46e6883ca Merge branch 'fullscreen-toggle' into 'next'
Add fullscreen (and renderer) toggle & make windowed mode use a separate resolution

See merge request STJr/SRB2!1734
2023-07-24 09:14:21 +00:00
Sal
dd0ea188dd Merge branch 'bak2bak' into 'next'
Autobackup old gamedatas (resolves #1031)

Closes #1031

See merge request STJr/SRB2!2030
2023-07-24 09:12:05 +00:00
katsy
516e06bcba Autobackup old gamedatas (resolves #1031) 2023-07-24 09:12:05 +00:00
James R
bc9e7c1461 Disable sprite/model rotation on slopes for now 2023-07-24 05:02:31 -04:00
James R
a71a7f2710 Support spritexoffset/spriteyoffset for 3D models 2023-07-24 05:01:28 -04:00
James R
6d9512d290 Do not factor roll and pitch into model rollangle
Those transformations are applied separately so the model
tilts in 3d space.
2023-07-24 04:57:39 -04:00
James R
c065029b01 Model stretching 2023-07-24 04:53:30 -04:00
James R
7db09b657b Tilt models 2023-07-24 04:48:17 -04:00
Sally Coolatta
b6129a6d42 Add R_SpriteRotationAngle function
Gets the rotation angle for the mobj's sprite. Meant for pitch & roll later, but that part is if'd out currently and just returns mobj->rollangle
2023-07-24 04:47:07 -04:00
Sally Coolatta
7c2a241042 Remove the need for setting rotation axis in spriteinfo for models
Now it just does it like Software
2023-07-24 04:40:15 -04:00
Sally Coolatta
5c23fdda24 Fix incorrect tilts 2023-07-24 04:11:43 -04:00
Sally Coolatta
ae233b000f Remove modeltilt, use roll & pitch instead
Broken currently, about half of the slopes you can go into have the wrong tilt
2023-07-24 04:11:42 -04:00
TehRealSalt
95cbee52c6 Model tilts
- Add modeltilt variable, for more manual control of the model tilting. By default this just copies standingslope, but doesn't get cleared in the air.
- Shadows & trailing bananas now tilt to match the ground they are on.
- Rocket Sneakers & afterimages now tilt to match the player's current orientation.
2023-07-24 04:11:42 -04:00
SMS Alfredo
66f8908b03 Reset Camera only if a new camera is set / Fix Lua jank with setting awayviewmobj or awayviewtics solo 2023-07-22 20:44:22 -05:00
Gustaf Alhäll
4bc7b2da11
fixup! fixup! Fix build errors when building without SDL 2023-07-22 22:59:00 +02:00
Gustaf Alhäll
d42d1e9a45
fixup! Fix build errors when building without SDL 2023-07-22 22:56:17 +02:00
Gustaf Alhäll
69089e0858
Fix build errors when building without SDL 2023-07-22 22:47:52 +02: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
36e6a2001a Paired down OS Lua library
Pretty much removed everything except for time operations. File operations steps on the toes of the IO library, and the others were useless or invasive. The only one I wasn't sure about was `os.tmpname()`, but I think that's something that could be implemented for IO library instead if necessary.

The main reason I want this is because os.time provides an OK way to initially seed RNG on game first boot. But it would also be cute to let Lua modders be able to re-implement Christmas mode / day&night cycles themselves :p
2023-07-20 01:43:10 -04:00
Gustaf Alhäll
cee5eb47b5
Clean up and simplify zone memory allocation 2023-07-19 23:17:21 +02: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
Gustaf Alhäll
ff56d46827
fixup! Fix softlocking as Sonic & Tails when Player 2 has no name 2023-07-17 16:41:22 +02: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
Sally Coolatta
80bf4d6c2d Port SRB2Kart join on intermission fix
All gamestates besides GS_LEVEL are unsupported by the save game functions. This commit forces players joining during these gamestates into GS_WAITINGPLAYERS, which is a basic gamestate that just maintains the connection until we can enter the start of a new one. Also provides an extremely simple drawer for GS_WAITINGPLAYERS so the joining player knows what's going on.
2023-07-16 20:53:28 -04:00
Gustaf Alhäll
1ced8acc6a
Fix softlocking as Sonic & Tails when Player 2 has no name 2023-07-16 23:25:22 +02:00
SteelT
a90151570f Replace the alias if an alias already exists
Reduces wasting memory by having multiple aliases with the same name
2023-07-16 15:44:48 -04:00
SteelT
c55b2f2943 Print list of existing alias commands 2023-07-16 15:34:30 -04:00
Gustaf Alhäll
9a386111e2
Fix crash when P_ZMovement calls from Lua removes the object 2023-07-16 14:19:19 +02:00
SteelT
9a31064c4a Merge branch 'master' into next 2023-07-15 21:04:07 -04:00
katsy
d844c06f9b Fix roll braking assuming player angle is camera angle 2023-07-15 16:24:08 -05: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
Gustaf Alhäll
e3824b9f1b
fixup! Fix inaccuracies in FPS counter 2023-07-15 12:51:07 +02: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
spherallic
009e1ef157 Merge branch 'next' into fullscreen-toggle 2023-07-14 15:30:14 +02: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
spherallic
73ded4787c Fix ammo/panel/emerald hitboxes, add shadows to thrown rings 2023-07-11 19:00:47 +02:00
Gustaf Alhäll
576262f6c5
Fix inaccuracies in FPS counter 2023-07-11 16:37:45 +02:00
AJ Martinez
2ebd3fcca4 Buffer ticcmds when receiving two on same tic 2023-07-10 15:40:20 -07:00
katsy
fa02931f97 actually, make all player stats precise 2023-07-08 16:14:37 -05:00
katsy
8cc0feb21d fix reading and writing of shieldscale and camerascale to record attack demos 2023-07-08 15:17:53 -05: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
Gustaf Alhäll
ecf0c4b45a
Fix segfault when calling P_RemoveMobj from MobjCollide hook 2023-07-07 21:35:41 +02:00
Ace Lite
372bb8b8fc [UDMF] Updated line sloping warning message 2023-07-06 19:27:32 +00:00
Ace Lite
2240742720 Merge branch SRB2:next into lua-texture-offsets-expose 2023-07-06 18:35:00 +00:00
Gustaf Alhäll
8d8257b4a6
Handle missing frames for sprite gracefully 2023-07-06 19:12:29 +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
spherallic
8f75141c07 Give drop shadows to weapon rings & panels 2023-07-06 12:38:02 +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
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
katsy
2c66f2ce27 Fix homing attack and ring attraction math dumbs 2023-07-03 16:27:07 -05: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
SMS Alfredo
ebdc36f56b Merge branch 'next' into awayview-fix 2023-06-30 16:13:15 -05:00
MascaraSnake
8c31d279cf Implement per-texture offsets in UDMF 2023-06-28 01:07:52 +02:00
Zwip-Zwap Zapony
b405f50caa Fix A_ConnectToGround's handling of scaled mobjs 2023-06-24 19:35:57 +02:00
spherallic
867a5e0d47 Correct misplaced comment on NiGHTS link colors 2023-06-20 21:48:26 +02:00
spherallic
1a956667a7 Small tweak to Bubblegum 2023-06-20 20:06:43 +02:00
spherallic
b97f0a8643 Fix MT_NIGHTSCORE color cycling, using link colors 2023-06-20 20:06:43 +02:00
spherallic
73eb8fc358 A couple more changes:
- Swapped invcolors of new character skincolors
- Renamed Stone to Meteorite & changed text color to gray
- Tweaked some colors' invshades
2023-06-20 20:06:43 +02:00
spherallic
1bd593d173 Use extra colors for very high NiGHTS links, plus:
- Replaced Mindaro with Goldenrod
- Changed Topaz, and fixed inconsistency with its placement
- Small tweaks to Kiwi, Seafoam, Noble and Sangria
- Changed other NiGHTS link colors a little (& removed old iterations)
2023-06-20 20:06:43 +02:00
spherallic
70b69552f9 Add toggle for invcolor background, plus:
- Renamed Amethyst to Crystal
- Moved some of the new colors
- Tweaked a couple of invshades
2023-06-20 20:06:42 +02:00
spherallic
5e6850a7f7 Some more color tweaks:
- Added 6 new colors to match Chaos Emeralds
- Changed Taffy & Sapphire (3rd emerald)
- Renamed old Emerald to Shamrock
2023-06-20 20:06:42 +02:00
spherallic
853c9958d7 Remove unfinished sprite rotation 2023-06-20 20:06:42 +02:00
spherallic
c9b6693c76 Allow pausing & rotation of player sprites in player setup 2023-06-20 20:06:02 +02:00
spherallic
766c346df5 Add grid view for skincolors 2023-06-20 20:03:13 +02:00
spherallic
4cd85b5228 Support PgUp/PgDn for color select, similar to sound test & addons menu 2023-06-20 20:03:13 +02:00
spherallic
458b474645 Even more skincolor changes:
- Changed Bronze
- Added Boulder & Volcanic
- Tweaked Galaxy
2023-06-20 20:03:13 +02:00
Lach
647e6aac12 Simplify the way skincolors' invshades are used 2023-06-20 20:03:13 +02:00
spherallic
edbfb92b11 Correct tabs & spacing 2023-06-20 20:03:13 +02:00
spherallic
222e409cde More skincolor changes:
- Tweaked Bubblegum
- Added 8 new colors by Alice
- Added 22 new colors by sphere
2023-06-20 20:03:13 +02:00
Lach
bbe6c12323 Skincolor changes:
- Tweaked Orange and Cobalt
- Added Pepper, Jade, Headlight, Master, Mauve, and Taffy
- Fixed Mario mode invincibility color cycle
(Opposite color shades are placeholder for now)
2023-06-20 20:03:13 +02:00
sphere
f68006dbd3 Merge branch 'optimize-field-lookup' into 'next'
Optimize field lookups in Lua metatables

See merge request STJr/SRB2!2024
2023-06-19 22:41:36 +00:00
Gustaf Alhäll
17356f93bf
Fix segfault when ghost dies from a death pit 2023-06-19 22:19:39 +02:00
Gustaf Alhäll
2f2de7d3d3
Optimize field lookups in Lua metatables 2023-06-18 18:05:16 +02:00
spherallic
056d3dcf31 Actually clear options field properly 2023-06-14 13:19:47 +02:00
spherallic
90d95d1305 Clean options field of binary-converted things 2023-06-14 13:19:47 +02:00
spherallic
f416c6a98d Add absolute Z flag to MAPTHINGFLAG_LIST 2023-06-14 13:19:47 +02:00
spherallic
bed7e434e7 Add absolute z height flag for mapthings in UDMF 2023-06-14 13:19:47 +02:00
Sally Coolatta
5c3f66dc36 Remove "singletics" code in F_WriteText
This was added in 2.1 for whatever reason. All instances of F_WriteText are already capped to the framerate properly by other means; so this code being present just makes timing differences between different netgame clients / other inaccuracies cause the text speed to slow down more than intended.
2023-06-13 21:26:40 -04:00
Zwip-Zwap Zapony
f921a9987d Interpolate models when scaling mobjs 2023-06-13 19:07:03 +02:00
Zwip-Zwap Zapony
4d4910c918 Use 99999999 instead of 86400, make "MIN" 0
Nines might be more pleasing than an exact number for con_hudtime
It'd be bad to make "MIN" in an old config suddenly start displaying lines for con_hudlines
2023-06-13 14:02:19 +02:00
spherallic
37223f13f1 Remove debug print on generic item circle spawn 2023-06-13 10:38:44 +02:00
sphere
b8a25ae53c Add interpolation to hitbox viewer, tweak hitbox colors 2023-06-13 00:05:58 +00:00
spherallic
d8dd988451 Don't cancel P_LinedefExecute early 2023-06-13 02:01:11 +02:00
spherallic
d9937953ad Fix linedef type 319/320 again 2023-06-13 01:54:49 +02:00
spherallic
99f0933986 Change how SR_MainMenu is initialized. 2023-06-13 01:53:50 +02:00
spherallic
1cc870485d Increase unlockable limits:
- MAXUNLOCKABLES from 32 to 80
- MAXEXTRAEMBLEMS from 16 to 48
- COMPAT_GAMEDATA_ID is used to account for the old values to prevent
losing records.
- Also fixes linedef actions 319/320.
2023-06-13 01:53:50 +02:00
sphere
f1106236ad Merge branch 'sphere-fix' into 'next'
Fix Flung Spheres not using the Blue Sphere collection effect

See merge request STJr/SRB2!1995
2023-06-12 23:46:05 +00:00
sphere
9d0389811b Merge branch 'camrea-fiz' into 'next'
Fix Camera Interpolation Never Being Reset (Resolves #1026 and #976)

Closes #976 and #1026

See merge request STJr/SRB2!2008
2023-06-12 23:44:33 +00:00
sphere
c2c27bf356 Merge branch 'ipv6' into 'next'
Fix IPv6

See merge request STJr/SRB2!1612
2023-06-12 23:43:46 +00:00
sphere
5307c1635d Merge branch 'interpolate-maria' into 'next'
Interpolate Shadows when Scaling Mobjs

See merge request STJr/SRB2!1986
2023-06-12 23:39:23 +00:00
sphere
d5a3f10a4d Merge branch 'checksector-refactor' into 'next'
Refactor P_CheckSector

Closes #870

See merge request STJr/SRB2!1946
2023-06-12 23:36:48 +00:00
sphere
0dea372336 Merge branch 'the_elder_skyscroll' into 'next'
Rewrite F_SkyScroll to fix overflows

Closes #1008

See merge request STJr/SRB2!1985
2023-06-12 23:36:37 +00:00
sphere
62bdb7174b Merge branch 'lua-optimized-constants' into 'next'
Hannu's "LUA_EnumLib optimizations for constant value access" with fixed merge conflict

See merge request STJr/SRB2!2017
2023-06-12 23:03:51 +00:00
sphere
f7af77b932 Merge branch 'netgame-gamedata' into 'next'
[SUGOI] Multiplayer emblems

See merge request STJr/SRB2!1756
2023-06-12 22:48:25 +00:00
katsy
ca11180976 Merge remote-tracking branch 'stjr/next' into lua-optimized-constants 2023-06-11 12:36:08 -05:00
sphere
363faed8d7 Merge branch 'sucky-steps' into 'next'
Port increment_move radius clamps from Ring Racers

See merge request STJr/SRB2!2013
2023-06-09 13:07:07 +00:00
sphere
65e1f88c75 Merge branch 'nightspowerhud' into 'next'
Add HUD icons for timed NiGHTS powerups

See merge request STJr/SRB2!1949
2023-06-09 11:34:25 +00:00
sphere
cd1b57a901 Merge branch 'textcolortweaks' into 'next'
Small text colormap tweaks

See merge request STJr/SRB2!1971
2023-06-09 11:33:26 +00:00
Sally Coolatta
7fa7653494 Port increment_move radius clamps from Ring Racers
Fixes inconsistencies with thin players, like with Liftoff Gantry's scale section, and with large characters colliding with steep slopes instead of going up them.
2023-06-05 13:54:09 -04:00
SMS Alfredo
aa43aa7c8c Call P_ResetCamera Upon Switching To/From an Away View Camera 2023-06-03 15:43:58 -05:00
Gustaf Alhäll
7c75f61be7
Fix buffer overflow when displaying a scrolling background 2023-06-03 13:05:33 +02:00
SMS Alfredo
35b676e313 Fix Camera Interpolation Not Being Reset 2023-06-02 19:52:03 -05:00
Sally Coolatta
e06956a53b Fix skin-only emblems on emblem radar 2023-06-02 16:06:51 -04:00
Sally Coolatta
cf228757a1 Emblems disappear on collection again, only for SP 2023-06-02 16:06:50 -04:00
Sally Coolatta
645dd7d662 Stop endlessly chasing NIGHTSPULL emblems 2023-06-02 16:06:50 -04:00
Sally Coolatta
c1e641be43 Improve emblem sharing conditions 2023-06-02 16:06:50 -04:00
Sally Coolatta
29f55471dd Fix instances reverted to old unlocked variable 2023-06-02 16:06:50 -04:00
Sally Coolatta
d751ad5cf2 Remove "Multiplayer games can't unlock extras!" 2023-06-02 16:06:49 -04:00
Sally Coolatta
9cce2195d4 Make ShareEmblems more Top Down style 2023-06-02 16:06:49 -04:00
Sally Coolatta
3b15d9b4fe Make the level select behave more identically to G_LoadGame
Noticed some oddities with D_MapChange here with very rarely not changing player position when the map is loaded.
2023-06-02 16:06:49 -04:00
Sally Coolatta
d8f6ad217c Don't give completion emblems when getting a game over in multiplayer (or any other kind of level reset) 2023-06-02 16:06:48 -04:00
Sally Coolatta
897b81b840 Don't load game from pause level select without save slot 2023-06-02 16:06:48 -04:00
Sally Coolatta
9b6a47783d Show the level select option used to start the level in the pause menu.
Previously, level select only appeared in the SP pause menu if you load a complete save file.

Now, entering the game through an Extras menu level select shows that level select. Simply makes it more convenient, as you don't need to exit to the main menu again whenever you want to get to another level from an unlocked level select.

Tested all ways you can start a new map from the menu that I can think of (New Save File, Complete Save File, Mid-game Save File, several different Level Select types, custom Warp, Record Attack, Marathon, Tutorial), and could not smuggle wrong level selects into any.
2023-06-02 16:06:47 -04:00
Sally Coolatta
903a47966d Swap hints & level select on multiplayer pause menu
This makes it consistent with SP's pause menu order. (Although admittedly I prefer how the other order looks.)
2023-06-02 16:06:47 -04:00
Sally Coolatta
bc00b13358 Fix Emblem Radar detecting already collected emblems 2023-06-02 16:06:47 -04:00
Sally Coolatta
cb54b1e5ce Fix check that does LevelEmblems but not CompletionEmblems on startup 2023-06-02 16:06:46 -04:00
Sally Coolatta
87e468f365 Allow emerald hunt radar to function if emblem radar is on but all emblems have been collected. 2023-06-02 16:06:46 -04:00
Sally Coolatta
fb5b8ce1be Show tab emblems in Coop 2023-06-02 16:06:46 -04:00
Sally Coolatta
122ddade61 Draw level stats on pause & emblem hints menus in multiplayer 2023-06-02 16:06:46 -04:00
Sally Coolatta
ffe591afee Tie emblem spawning to Coop gametypes 2023-06-02 16:06:45 -04:00
Sally Coolatta
ffb76334ff Don't check time attack emblems in multiplayer
(Maybe some day...)
2023-06-02 16:06:45 -04:00
Sally Coolatta
30f6ae6e56 Add read access to shareEmblems (as well as a few other MAINCFG variables that weren't) 2023-06-02 16:06:44 -04:00
Sally Coolatta
d7c5e16f6c Play sound globally if emblems are shared 2023-06-02 16:06:44 -04:00
Sally Coolatta
29c61fac88 Allow completion emblems in multiplayer 2023-06-02 16:06:44 -04: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
SteelT
1d9bcad797 Merge branch 'next' into ipv6 2023-06-02 14:09:13 -04:00
SMS Alfredo
58b3b8e075 Fix Flung Spheres not using the Blue Sphere collection effect 2023-05-31 22:33:16 -05:00
Zwip-Zwap Zapony
05f1a9a2c8 Suppress libdivide warnings in GCC/Clang 2023-05-29 14:38:22 +02:00
sphere
d6d424f102 Merge branch 'fix-remove-facetarget-action' into 'next'
Fix segfault when P_RemoveMobj is called within A_FaceTarget action

See merge request STJr/SRB2!1974
2023-05-26 01:15:40 +00:00
spherallic
264ec02223 Merge branch 'next' into bbox 2023-05-26 03:06:30 +02:00
sphere
369d39a859 Merge branch 'stuckonyou' into 'next'
Allow targeting invulnerable bosses & don't break targeting when they take damage

See merge request STJr/SRB2!1917
2023-05-25 23:48:56 +00:00
sphere
38575f52e6 Merge branch 'scoreattacked' into 'next'
Reallow score chains from rolling

See merge request STJr/SRB2!1833
2023-05-25 22:48:31 +00:00
sphere
c37af2bf78 Merge branch 'uncap-console' into 'next'
Interpolate console animation, Make con_height update on the fly

Closes #905

See merge request STJr/SRB2!1878
2023-05-25 22:36:24 +00:00
sphere
796c06e2f7 Merge branch 'issue834' into 'next'
When attaching to a wall to do a climb, the second sidedef wasn't be handled properly.

Closes #834

See merge request STJr/SRB2!1908
2023-05-25 21:11:25 +00:00
sphere
1043a523d8 Merge branch 'fix-crushclaw-armageddon-hit' into 'next'
Fix segfault when Crushstaceans hit a player with Armageddon shield

See merge request STJr/SRB2!1980
2023-05-25 21:10:45 +00:00
sphere
19de187b02 Merge branch 'fix-getfreemem' into 'next'
Fix I_GetFreeMem for 64-bit platforms

See merge request STJr/SRB2!1982
2023-05-25 21:10:02 +00:00