Commit graph

14198 commits

Author SHA1 Message Date
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