Commit graph

22734 commits

Author SHA1 Message Date
James R
56dcfaedf8 Respawning: set MF2_OBJECTFLIP directly in P_GetMobjGravity
K_RespawnOffset is called before the player is actually at
the waypoint's position, so even if P_GetMobjGravity is
called there to check, it reflects the player's current
sector, which may not necessarily be the waypoint's
sector.
2023-04-24 18:13:37 -07:00
toaster
b0cb804fe4 Merge branch 'faster-cam-z' into 'master'
Improve camera Z following

See merge request KartKrew/Kart!1197
2023-04-24 22:35:09 +00:00
toaster
3d0abdd74a Merge branch 'follower-audience' into 'master'
Follower Audience

Closes #498 and #325

See merge request KartKrew/Kart!1185
2023-04-24 21:49:34 +00:00
Sally Coolatta
85eaf2eeea Make camera follow platform momentum 2023-04-23 14:51:29 -04:00
Sally Coolatta
57022fafe5 Move camera Z slightly faster
RR has more & taller slopes than SRB2K, so the old values were a bit jarring (you go off-screen a LOT more often)
2023-04-23 14:47:47 -04:00
Sal
35728a00e3 Merge branch 'z-voting' into 'master'
Z Voting

Closes #265

See merge request KartKrew/Kart!1184
2023-04-23 05:12:47 +00:00
Sally Coolatta
a631376f1f Z Voting: Undo victim thing 2023-04-23 01:12:19 -04:00
Sally Coolatta
f86030fcda Z Voting: More voting conditions
- Attempt to make Z votes draw if spectator
- Don't show kick votes to the victim
- Fix required vote count when in 1P
2023-04-23 01:04:57 -04:00
Sally Coolatta
e112e1f0dc Reduce length & delay 2023-04-23 00:40:31 -04:00
Sal
81b1cc8492 Merge branch 'fix-combiring-bounds-error' into 'master'
K_DrawDraftCombiring: do not read outside of colors array

See merge request KartKrew/Kart!1189
2023-04-23 00:26:56 +00:00
Sal
344f51d384 Merge branch 'warn-invalid-texture-data' into 'master'
Single-patch textures: print an error if patch header is missing, cease memory errors

See merge request KartKrew/Kart!1190
2023-04-23 00:24:43 +00:00
James R
0da18745d9 K_DrawDraftCombiring: do not read outside of colors array 2023-04-22 15:22:38 -07:00
James R
47411735d0 Single-patch textures: print an error if patch header is missing, cease memory errors 2023-04-22 15:21:23 -07:00
toaster
3dd44961a0 Obj_AudienceInit: Improve follower name processing
- Convert underscores to spaces for string comparison
- Report typoes to the user
2023-04-21 21:07:14 +01:00
toaster
c7cc730c35 Obj_AudienceInit: Improve color handling
- Catch all invalid colors with default randomisation
- Catch invalid colors more thoroughly
- Report typos to the user
2023-04-21 21:06:21 +01:00
toaster
2f8b8cf532 Follower lists: Fix typing
Should consistently be signed INT16, not unsigned UINT16
2023-04-21 20:52:13 +01:00
toaster
98288fd289 Obj_AudienceInit: Incorporate follower scale into multipliciation 2023-04-21 20:20:51 +01:00
toaster
a4a5752df0 Obj_AudienceThink: Ease the angle change 2023-04-21 18:24:51 +01:00
toaster
91f4169212 Follower-mimicing emblems: Permit them to just sit there if their defined bobamp is 0
This is unlike audience members, which have a minimum jump height
2023-04-21 17:42:44 +01:00
toaster
af288571bd P_SetupEmblem: Correct flags *before* Obj_AudienceInit 2023-04-21 17:37:26 +01:00
toaster
945a00df6e Permit emblem pickups that take on the visage of a Follower
- If Global-type map emblem has GE_FOLLOWER, attempt to take on the appearance of the follower specified by var2.
    - Unlike MT_RANDOMAUDIENCE, this picks whether the object should be floating or hopping based on the specified mode of the source Follower.
    - Always chooses to face the nearest player.
- Rearrange some properties affected by Obj_Audience/audience.c to not conflict with MT_EMBLEM
2023-04-21 15:17:43 +01:00
toaster
8878bf8465 P_SetupEmblem: Only call Tag_FGet once, and store the result for loop iteration/error messages 2023-04-21 15:12:06 +01:00
toaster
66d8d8757e emblem_t: Add var2/stringVar2 2023-04-21 15:09:49 +01:00
toaster
1e5fadc901 Audience-related functions: Rename + adjust
- Since they're not necessarily going to be randomised, make the prefix Obj_Audience instead of Obj_RandomAudience.
- Externalise some properties that we may not want affecting all hypothetical uses.
    - Flag auto-application should be done externally, since this won't be general.
    - Focusing on player should be controlled by the function call, not an ambiguous flag.
2023-04-21 15:09:07 +01:00
James R
d9b406f4d0 Add TIMER_FONT, rename V_DrawKartString to V_DrawTimerString
Separates timer and FREE PLAY fonts.
2023-04-21 00:34:06 -07:00
Sal
5085bdfdd8 Merge branch 'defer-map-load-scripts' into 'master'
Move level load scripting to P_PostLoadLevel

See merge request KartKrew/Kart!1181
2023-04-21 01:12:56 +00:00
Sally Coolatta
68916559aa Z Voting: Kick handling improvements
- If a player being voted against leaves before it finishes, then properly activate their penalty.
    - This is handled with a special case for MVT_KICK (let's not even attempt to SendKick(self) during Got_Kick :p), but any possible future vote types that use a victim will simply call K_MidVoteSuccess.
- Actually define behavior for KICK_MSG_VOTE_KICK.
- Default kicktime is now 20 minutes instead of 10.
- Read custom reasons before possibly overriding msg type. Prevents a rare invalid read pointer.
2023-04-20 21:11:25 -04:00
Sally Coolatta
49b1ecddff Z Voting: Address toaster review 2023-04-20 20:49:39 -04:00
toaster
d7547edf05 P_SetDefaultHeaderFollowers: Add Motobuddy to the list as Eggman deserves his homies 2023-04-20 23:22:35 +01:00
toaster
178fe3052d Obj_RandomAudienceInit: Increase the scale to 3x instead of 2x 2023-04-20 23:22:03 +01:00
toaster
a74b7995c9 Implement Follower Audience object
- Replaces Chao audience entirely
    - Convenient, because one of the two default follower types used in the audience is Chao
- Can provide one follower, or a list of followers, on the stringarg1 (seperated by spaces/commas) and it'll pick randomly between them
    - If not provided, uses the mapheader follower list
- Can provide one skincolor, or a list of skincolors, on the stringarg2 (seperated by spaces/commas) and it'll pick randomly between them
    - If not provided, uses the follower's default color
    - If the follower's default color is Match/Opposite or the user provides "Random" in stringarg2, pick a random skincolor
- If arg3 is set, floats in the air
    - MTF_OBJECTSPECIAL in binary format
- If arg4 is set, faces the closest player
    - MTF_AMBUSH in binary format
    - Uses some funny mathematical tricks to avoid checking on the same frame as every other audience member at once
2023-04-20 23:15:56 +01:00
toaster
5f15736626 Mapheader Followers system
Replaces Flicky List system from 2.2.
Specify a list of comma-seperated Followers.
Not used by any systems in this commit, but important to store the data for later.
2023-04-20 23:01:13 +01:00
toaster
9eacdb4be4 P_SetupSpawnedMapThing: Catch more P_MobjWasRemoved 2023-04-20 22:58:50 +01:00
toaster
3612c1afa8 K_HandleFollower: Add newlines to improve readability of sine bobbing 2023-04-20 22:57:41 +01:00
toaster
ea8573a70a ParseTextmapThingParameter: Tidier, more explicit guarantees for null-terminated stringarg handling 2023-04-20 22:57:03 +01:00
Sally Coolatta
65d6877283 Z Voting: Remove debug prints 2023-04-20 16:00:38 -04:00
Sally Coolatta
996ca9adad Z Voting 2023-04-20 15:55:38 -04:00
toaster
e1d6455446 Instantiate Followers earlier in load process
Surprise tool that will help us later
2023-04-19 12:11:36 +01:00
toaster
4b1de10627 Merge branch 'textures-split' into 'master'
Load split textures pk3s

See merge request KartKrew/Kart!1183
2023-04-19 10:52:12 +00:00
toaster
03f074a200 Missed typos 2023-04-19 11:39:32 +01:00
Sal
e7c9ac1937 Merge branch 'round-queue-print' into 'master'
Got_MapQueuecmd: Fix message handling

See merge request KartKrew/Kart!1182
2023-04-19 01:46:34 +00:00
Sally Coolatta
e86dd38e24 Load split textures pk3s 2023-04-18 14:02:01 +01:00
toaster
9c17ea0d28 Got_MapQueuecmd: Fix message handling
- Used Admin status of sender rather than local player to obstruct or hide
- Servers are not admins, they just sidestep many authoriative checks
- Server returned early before any chance of printing
- Slightly cleaner message
2023-04-18 12:32:58 +01:00
Sal
e0901ed7a7 Merge branch 'round-queue' into 'master'
roundqueue

See merge request KartKrew/Kart!1156
2023-04-18 09:31:26 +00:00
Sally Coolatta
77a0e77bf6 Move level load scripting to P_PostLoadLevel
Means these scripts get to have an accurate count of the number of players.
2023-04-18 05:29:58 -04:00
toaster
c48283bd24 Fix showing ROUND with invalid number for queueing a map during voting 2023-04-18 09:56:14 +01:00
Sal
563e2f2ffd Merge branch 'fix-2p-splitscreen-viewports' into 'master'
Fix 2P splitscreen viewports being out of order

See merge request KartKrew/Kart!1180
2023-04-18 08:49:04 +00:00
James R
d78b17170c get_screen_viewport: fix 2P splitscreen viewport order 2023-04-18 01:46:00 -07:00
AJ Martinez
d18bc306b6 Merge branch 'fix-tester-compile' into 'master'
Fix TESTERS build creation by not including GotOurIP, which is never called in those

See merge request KartKrew/Kart!1179
2023-04-18 08:44:48 +00:00
toaster
1d8b33833e Fix TESTERS build creation by not including GotOurIP, which is never called in those 2023-04-17 20:59:30 +01:00