Commit graph

22880 commits

Author SHA1 Message Date
James R
9e59bd6d67 cmake: add SRB2_CONFIG_ASAN, enable AddressSanitizer 2023-04-22 18:35:22 -07: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
AJ Martinez
4b9b10c096 Don't apply handling boost if you're not alive 2023-04-21 17:27:31 -07:00
toaster
5c60a0958f Versus roulette: Speed up based on boss healthbar (destination) fill % 2023-04-22 00:35:11 +01: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
fdd5ee8dfc K_KArtItemReelBoss: Adjust significantly
- Have two loop arounds with varying quantities of orbinauts between gachaboms
    - Removes all bananas
    - Makes mashing for an item never give you something which can't attack a stationary target
    - Prevents complete autopilot timing
2023-04-21 18:15:14 +01:00
toaster
3b595b0055 Replace TOL_BOSS with TOL_VERSUS
Matches gametype name
2023-04-21 17:51:30 +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
toaster
9b0c82d5dc Got_MapQueuecmd: Add a success message for adding a map to the round queue (visible only to admins) 2023-04-17 20:16:30 +01:00
toaster
2d46112c58 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into round-queue
# Conflicts:
#	src/d_netcmd.h
2023-04-17 20:08:37 +01:00
Sal
eaf11a1d13 Merge branch 'ringshooter' into 'master'
Ring Shooter (Manual Respawn)

See merge request KartKrew/Kart!690
2023-04-17 04:34:29 +00:00
toaster
03ef0b4e75 No Ring Shooters before the start of the level in general, not just in Race/GTR_CIRCUIT 2023-04-17 00:23:14 -04:00