Commit graph

1326 commits

Author SHA1 Message Date
GenericHeroGuy
f6f43943d7 Networked compatmode 2025-01-24 18:26:49 +01:00
GenericHeroGuy
d67c9862ae Add compatmode flag 2025-01-24 18:04:03 +01:00
Sally Coolatta
713ac093bf devmode cheat online 2025-01-10 11:36:04 -05:00
James R
bfd15082ef Netsync setrings and setlives
- setrings no longer subtracts totalrings
- removed INFLIVES
2025-01-10 11:23:50 -05:00
NepDisk
7948720595 Revert cheats streamine but keep stuff needed for online cheats
cheats 1 is not desired appearently

This reverts commit 9fbe107211.
2025-01-10 11:16:16 -05:00
James R
135dda1312 Let some cheat commands work online
noclip
god
scale
gravflip
hurtme
2025-01-10 10:15:23 -05:00
Sal
9fbe107211 Merge branch 'cheats-streamline' into 'master'
Streamline cheats

See merge request KartKrew/Kart!697
2025-01-10 10:03:52 -05:00
Sally Coolatta
71283a4adb Strip items when using kartgiveitem
Fixes some annoyances I have when using this command
2025-01-10 09:25:39 -05:00
NepDisk
f7ab1af75b Merge pull request 'Port Lua based backwards compat to hardcode.' (#6) from luacompat into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/6
2025-01-09 18:32:28 +00:00
Alug
4cb315bfe7 shut up some compiler warnings 2024-12-31 16:56:35 +01:00
NepDisk
7e2900f868 Merge branch 'ACS2' into luacompat 2024-12-31 10:27:40 -05:00
NepDisk
ac3e8827a7 Rename back to thundershield, update doomdata.h ml_flags, update constants 2024-12-31 01:31:03 -05:00
NepDisk
4fd99ef3ff Multithreaded Software rendering 2024-12-29 14:14:28 -05:00
James R
5cb20f5480 P_TryMove: sweep collided lines to find nearest normal 2024-12-25 13:30:59 -05:00
NepDisk
8dcaba2d43 Basic work to restore the wanted system 2024-12-17 10:54:22 -05:00
NepDisk
4b1324da69 Remove Battle capsule stuff and turn it into Item Breaker
You have to smash every itembox in a map as fast as you can. When you mash you get a pogospring and waiting gives a sneaker
2024-12-17 00:24:20 -05:00
NepDisk
1e678f660f Remove TESTERS and HOSTTESTES and use v1 assets where applicable 2024-12-16 14:23:14 -05:00
NepDisk
b44e97cc21 prevent map command crash from maps with invalid or non existing mapinfo
dba7a7dc3c
2024-10-22 02:45:21 -04:00
NepDisk
cf9f6fc570 Merge branch 'v2dev3' into ACS2 2024-10-21 17:30:55 -04:00
toaster
d2228bf349 Move some command and cvar registering between D_RegisterServerCommands and D_RegisterClientCommands depending on whether a dedicated server needs them or not 2024-10-18 04:29:38 -04:00
NepDisk
af277ad1d9 Split G_ExitLevel into G_BeginLevelExit and G_FinishExitLevel 2024-10-15 16:19:50 -04:00
Sally Coolatta
e23180283a Contain end & size into savebuffer_t
I would've liked to make it use a single allocate function to do this very cleanly, but these cases were very clearly not meant to be standardized and use wildly different methods to allocate & free...
2024-10-15 07:48:51 -04:00
James R
3fb806ed71 Remove global lua_save_p and use savebuffer_t for LUA_Archive / LUA_UnArchive 2024-10-15 07:43:52 -04:00
Sally Coolatta
07cdd2f461 Make save_p / savebuffers not global
This caused some scary issues with P_SaveNetGame the other day, and it's making ACS net sync harder. Let's just cut this off right now.

Also fixed some scary mix-ups in some of the Lua archiving code.
2024-10-15 06:41:25 -04:00
NepDisk
cb9ab1518b Fix default skin colors 2024-10-15 00:22:18 -04:00
NepDisk
92bda9519a Reimplement turn smoothing plus toggle 2024-09-18 10:17:35 -04:00
Wumbo
3ad5d9cd00 Fix follower with ID 0 not appearing on track load 2024-09-14 18:30:06 -04:00
Wumbo
b4ec4ef691 Make first follower selectable again 2024-09-12 13:38:31 -04:00
Wumbo
45304f5c3d Handle follower colors better
- Default color definitions are now parsed properly
- Fallback color value is now default color instead of player color
- Player setup now renders follower with right color

Selecting the first follower in the list is currently broken, will
fix later
2024-09-12 01:34:56 -04:00
NepDisk
1085c6ceb0 Implement blan folder and reimplement walltransfer
Wall transfering can now be used by enabling cvar BG_forcewalltransfer or putting WALLTRANSFER into your map header
2024-09-10 22:36:45 -04:00
toaster
372e655d70 Merge branch 'fix-addfile-double-error' into 'master'
Fix networked addfile command erroring twice for already added files

See merge request KartKrew/Kart!1100
2024-09-07 00:10:33 -04:00
NepDisk
a2fcc4bc20 UDMF cherry-pick cherry-pick 2024-08-20 02:47:00 -04:00
NepDisk
ac27f0438a Port antigrief from SRB2Kart
Ported this one spefically since I prefer how it works
2024-08-18 01:39:26 -04:00
NepDisk
31b6994628 Remove rest pf RingRacers Refs 2024-08-16 12:09:50 -04:00
NepDisk
78f4bdee7a
Merge pull request #3 from WumboSpasm/unrebrand
Restore SRB2Kart branding in source code. Thanks Wumbo!
2024-08-14 01:07:13 -04:00
Wumbo
d1a9080187 Un-rebrand back to SRB2Kart 2024-08-13 21:54:52 -04:00
NepDisk
9ba2140b3d Restore old respawn PT1
All the code from k_respawn.c has been nuked. The gameplay of respawning works but it doesn't currently drop the player in the right spot for both legacy and new waypoints
2024-08-12 14:49:12 -04:00
NepDisk
699e607ec7 Implement controller stuff 2024-08-07 15:27:48 -04:00
toaster
9016f65440 Support alternate gameplay events during GP
- Implementation details:
    - grandprixinfo.eventmode is the reference point
    - All bots have spectator applied and removed at map start depending on eventmode, and I've done my best to guard against side effects of not removing them entirely
    - You shouldn't turn off grandprixinfo.gp when turning on things like specialStage.active or bossinfo.boss when pursuing eventmode behaviour
    - Probably needs to be integrated into XD_MAP for any future netplay support, is currently disabled.
    - You technically don't have to assign a Capsules map to be the bonus and a Special Stage to be the special. A Capsules map can be assigned to a Special Stage too, and a Boss can be assigned to either of them.
    - Special Stages are still just as incomplete as they were before.
- Break the Capsules has special behaviour.
   - Timelimit starts at 20 seconds.
   - Earn 10 seconds (plus a little extra cheaty time) every capsule you destroy.
   - WIN + extra life if you bust all the capsules, COOL if you get some but run out of time, LOSE if you lose your bumper or run out of time without breaking a single capsule.
   - Supposed to also give you rings, but ran into a LOT of difficulty with this and didn't want to commit half-baked stuff, so it'll be a later project.
Also:
- Fix a long standing bug where totalring was reset between maps, preventing the sum from adding up across GP rounds and depriving you of extra lives you were owed.
- Fix an issue where Break the Capsules record attack was KARTSPEED_HARD.
- Send timelimitintics in savegames, since it's handled seperately now.
2024-08-05 00:41:06 -04:00
NepDisk
d7dd4f68e2 rings disable toggle, rebalance rings 2024-08-01 14:06:24 -04:00
NepDisk
608e2b6844 flipcam and encore flipcam 2024-08-01 11:46:59 -04:00
Hanicef
73d324b2a2 Add NameChange lua hook 2024-08-01 02:12:05 -04:00
NepDisk
fb2167d74a default lagless on, default mindelay 0 2024-07-31 04:02:11 -04:00
Oni
fab85e542b Merge branch 'autocope' into 'master'
Offline input delay cvar

See merge request KartKrew/Kart!687
2024-07-31 03:09:10 -04:00
James R
2adeff2488 Merge remote-tracking branch 'origin/cvar-default-ports' 2024-07-31 03:05:44 -04:00
Sal
a4d475dc4c Merge branch 'hostcode' into 'master'
HOSTCODE initial pass

Closes #240

See merge request KartKrew/Kart!615
2024-07-31 03:01:45 -04:00
Sal
23000c7e86 Merge branch 'bbox' into 'master'
renderhitbox command for Software mode

See merge request KartKrew/Kart!672
2024-07-31 02:35:57 -04:00
NepDisk
7530227163 Revert "Add a hitbox renderer to Software mode"
This reverts commit 082d9206e89113533f4f6f7a8798f872e9a1ea39.
2024-07-31 02:33:15 -04:00
James R
45227168b0 Add a hitbox renderer to Software mode
renderhitbox
- Tangible - collision activating objects, minus rings
- All - every object
- Intangible - the opposite of Tangible, also no rings
- Rings - rings
2024-07-31 02:32:57 -04:00
Sal
1d8475a958 Merge branch 'hooklib-port' into 'master'
Hooklib refactor ported and (mostly) squashed

See merge request KartKrew/Kart!662
2024-07-31 02:30:20 -04:00
NepDisk
41e23a24cc Revert "Merge branch 'bbox' into 'master'"
This reverts commit 62dae0d1b6.
2024-07-31 02:11:05 -04:00
Sal
62dae0d1b6 Merge branch 'bbox' into 'master'
renderhitbox command for Software mode

See merge request KartKrew/Kart!672
2024-07-31 02:08:44 -04:00
Sal
8714d0e60b Merge branch 'kill-twod' into 'master'
Kill last of MF2_TWOD

See merge request KartKrew/Kart!716
2024-07-31 01:29:39 -04:00
Sal
1dcaf426ab Merge branch 'refactor-weaponpref' into 'master'
Refactor weapon pref

See merge request KartKrew/Kart!715
2024-07-31 01:27:40 -04:00
Sal
a62d278f19 Merge branch 'you-have-uncommitted-changes' into 'master'
The programmer took a nap. Hold out, programmer!

See merge request KartKrew/Kart!722
2024-07-29 17:17:02 -04:00
NepDisk
64b36b90ae Use kart titlecard, redo fade and fix grow canceling 2024-07-29 15:38:06 -04:00
toaster
1f3ac199ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into 14plus-mergeladder 2022-09-05 15:32:02 +01:00
toaster
1a53836d6a Compilation warning in D_PickVote 2022-08-28 18:34:33 +01:00
JugadorXEI
f17f6b7525 banishing hell map forcing
# Conflicts:
#	src/d_netcmd.c
#	src/y_inter.c
2022-08-28 17:11:19 +01:00
Sally Coolatta
7d67e02ea3 Bot perfstats
Show how long they take to think on all of their main tasks
2022-08-27 00:04:33 -04:00
Sally Coolatta
ebb34ff9d4 Lap based power level 2022-08-14 06:00:37 -04:00
James R
cf10ec1711 Merge branch 'follower-by-name' into 'master'
Always set follower cvar to follower name

Closes #261

See merge request KartKrew/Kart!620
2022-08-01 14:51:45 +00:00
James R
d299afbb2a Use follower name in cv_follower 2022-06-07 01:48:26 -07:00
James R
e2c64699d0 Strip items when spectating 2022-06-07 01:15:22 -07:00
Sal
675cb12dba Merge branch 'tester-text' into 'master'
Tester text

See merge request KartKrew/Kart!603
2022-05-25 07:37:17 +00:00
Sal
e3a0945566 Merge branch 'eggbox-cinders' into 'master'
Eggman Mark cinder fix

See merge request KartKrew/Kart!600
2022-05-25 07:37:08 +00:00
toaster
b9ee6d1f4e * Show version/DEVELOP info on the title screen, not the top-level menu (necessary in advance of new-menus).
* Add TESTER/HOSTTESTER information to `version` command and title screen DEVELOP info.
2022-05-23 23:57:18 +01:00
toaster
17d007d418 * Restore player colour and colorization correctly when the Eggman Mark concludes its effect.
* Allow colorisation types to not completely crowd each other out.
    * For example, it's possible for invincibility + grow to flicker Invincibility, Eggman mark, and grow colours if the conditions for each type of flash are true on different frames!
2022-05-23 22:04:14 +01:00
Sally Coolatta
6e3c4dbc34 > numfollowers-1 -> >= numfollowers 2022-05-23 13:40:51 -04:00
Sally Coolatta
b5334e6b42 Move follower code to its own file 2022-05-23 00:23:46 -04:00
toaster
38e6cba181 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into uncapped-absolution
# Conflicts:
#	src/f_finale.c
#	src/sdl/i_video.c
#	src/st_stuff.c
2022-05-21 13:40:20 +01:00
Sally Coolatta
04aa8259cb Merge branch 'master' into rewrite-lightning 2022-05-21 03:56:12 -04:00
Sal
46b7da8f4b Merge branch 'title-screen' into 'master'
"Dr. Robotnik's Ring Racers" rebranding

See merge request KartKrew/Kart!590
2022-05-21 07:48:30 +00:00
Sally Coolatta
6e8e0ad0f5 Lightning Shield fixs
- Rename to Lightning Shield (it keeps fucking me up when I want to kartgiveitem it to myself)
- Fix inflictors causing damage being considered damage hitlag. Fixes the player using Lightning Shield being in damage hitlag state (most notable in the DI branch because hurting someone with it lets you DI afterwards, which also fucks with your turning)
- Rewrote attack function to use custom blockmap search instead of P_NukeEnemies.
- It can no longer attack below you, only above & around you.
- Increased the attack radius, so that it actually lines up with the sprites...
- Fixed extremely inconsistent ring blockmap search by moving it to playerafterthink (don't ask me why)
- Rings get joulsted by Lightning Shield when you pass by them without
- Added MAXRADIUS to the blockmap checks for lightning shield & mines, to reduce blockmap inconsistencies
2022-05-20 18:12:34 -04:00
Sally Coolatta
852e9b8ce9 Rebrand all console / window stuff 2022-05-19 15:10:47 -04:00
Eidolon
f7ec2f182f Uncapped (squashed v2)
Squashed SRB2 2.2 Public uncapped without UDMF merge

Implement interpolation at the renderer level

Instead of interpolating thinkers, we interpolate mobjs inside the
renderer. Further interpolation is TBI.

Place Frame Interpolation in "Experimental" video options header

This seems like an appropriate way to describe the feature for now.

Add smooth level platter under interpolation, `renderdeltatics`

`renderdeltatics` can be used as a standard delta time in any place,
allowing for smooth menus. It will always be equal to `realtics`
when frame interpolation is turned off, producing consistent
framerate behavior everywhere it is used.

Add smooth rendering to save select screen

Add smooth rendering to Record/NiGHTS Attack, F_SkyScroll

Ensure viewsector is accurate to viewx/viewy

This fixes a potential crash in OpenGL when changing between levels.

Ensure + commands get executed before map start

Always have precise_t defined

Fix misc dropshadow issues

Reset view interpolation on level load

Remove unnecessary precipmobj thinker hack

Add reset interpolation state functions

Reset precip interpolation on snap to ceil

Reset mobj interp state on TeleportMove

Only swap view interp state if a tick is run

Run anti-lag chasecam at tic frequency

Fixes jittery and unstable chasecam in high latency netgames

Homogenize mobj interpolations

Add sector plane level interpolations

Add SectorScroll interpolator

Add SideScroll interpolator

Add Polyobj interpolator

Intialize interpolator list at a better time

Delete interpolators associated with thinkers

Interpolate mobj angles and player drawangle

Interpolate HWR_DrawModel

Add functions to handle interpolation

Much less code duplication

P_InitAngle, to fix angle interpolation on spawning objects

Fully fix drop shadows

It used the thing's floorz / ceilingz directly -- that wouldn't account for interpolated coordinates.

Do not speed up underwater/heatwave effect in OpenGL

Closer OpenGL underwater/heatwave effect to Software

Interpolate from time of previous tic

Previously interpolated from last 35th of a second, which
may be offset from game time due to connection lag.

Consider this the proper fix to 6ecac4159a too.

Calculate FPS stuff even if frame is skipped

I decided ultimately to actually keep the frame skip optimization disabled, because I think it is actually a little bit helpful that you can still get accurate rendering perfstats while paused, however if we decide otherwise then we can have this optimization back without making the game act like it's lagging.

Keep rect in memory

Feel better about this than creating one all da time

Lots of FPS stuff

- Disabled VSync, due to the numerous problems it has.
- Instead, added an FPS cap.
- Frame interpolation is now tied to fpscap != 35.
- By default, the FPS cap is set to the monitor's refresh rate.
- Rewrote the FPS counter.

(This also consolidates several more commits ahead of this
fixing various issues. -eid)

Misc changes after Kart cherry-picks

Fix renderdeltatics with new timing data

Update mobj oldstates before all thinkers

Allow FPS cap values

Adjust how FPS cap is checked to improve FPS stability

Fix precip crash from missing vars

Improve the framerate limiter's timing for extreme stable FPS

Handle the sleep at the end of D_SRB2Loop instead of the start

Simplifies logic in the other parts of the loop, and fixes problems with it frequently waiting too long.

Reset mobj interp state on add

Add mobj interpolator on load netgame

Move mobj interpolators to r_fps

Dynamic slope interpolators

I_GetFrameTime to try and improve frame pace

(It doesn't feel that much better though.)

Move I_FinishUpdate to D_SRB2Loop to sync screen updates with FPS cap, use timestamps in I_FrameCapSleep to simplify the code

Fix plane interpolation light level flickering

Fix flickering plane interpolation for OpenGL in the exact same way

Funny OpenGL renderer being at least 50% copy-pasted Software code :)

P_SetOrigin & P_MoveOrigin to replace P_TeleportMove

Convert P_TeleportMove use to origin funcs

Revert "P_InitAngle, to fix angle interpolation on spawning objects"

This reverts commit a80c98bd164a2748cbbfad9027b34601185d93f5.

Waypoint polyobjects interpolate z & children

Add interpolation to more moving plane types

Adds interpolation to the following:
- Crumbling platforms
- Mario blocks
- Floatbob platforms (this one works really strangely due to two thinkers, maybe double-check this one?)

Reset overlays interp states each TryRunTics

Interpolate model interpolation (lol)

Use interp tracer pos for GL linkdraw

Papersprite angle interpolation

Makes the ending signpost smooth

Move intermission emerald bounce to ticker

Bring back shadows on polyobjects

Also optimizes the method used so rings can show their shadows too. Using just the subsector is a tad bit imprecise admittedly but any more precise methods get really laggy.

Fix a bunch of ticking in hu_ drawing functions

Revert "Reset overlays interp states each TryRunTics"

This reverts commit a71a216faa20e8751b3bd0157354e8d748940c92.

Move intro ticking out of the drawer

Adjust 1up monitor icon z offsets

Fixes interpolation issues with 1up monitors.

Delta time choose player menu animations

Add drawerlib deltaTime function

Interpolate afterimages further back

Use old sleep in dedicated mode

Clamp cechotimer to 0

Fixes issues with cechos staying on-screen and glitching out
(NiGHTS items for example).

Revert "Remove unnecessary precipmobj thinker hack"

This reverts commit 0e38208620d19ec2ab690740438ac2fc7862a49e.

Fix frame pacing when game lags behind

The frame timestamp should've been made at the start of the frame, not the end.

Fix I_FrameCapSleep not respecting cpusleep

Jonathan Joestar bruh

Allow dedicated to use precise sleep timing again

Instead of only using one old sleep, just enforce framerate cap to match TICRATE.

Make Lua TeleportMove call MoveOrigin

Reset Metal fume interp state on appear

Add interpdebug

Put interpdebug stuff in perfstats instead

Add timescale cvar

Slow the game down to debug animations / interpolation problems! Speed it up if you need to get somewhere quickly while mapping!

Enable timescale outside of DEVELOP builds

It has NETVAR, so it should be fine -- put an end to useful debugging features excluded in multiplayer!

Force interpolation when timescale != 1.0

Reset old_z in MT_LOCKON think

Fixes interpolation artifacting due to spawn pos.

Fix cutscenes in interp

Fix boss1 laser in interp

Interpolate mobj scale

Precalculate refresh rate

Slower PCs can have issue querying mode over and over. This might kinda suck for windowed mode if you have different refresh rate displays but oh well

Fix interp scaling crashing software

Reset interp scale when Lua sets .scale

Disable angle interp on fresh mobjs

Fix interp scale crash for hires sprites

Interp shadow scales

Copy interp state in P_SpawnMobjFromMobj

Fix multiplayer character select

Don't interpolate mobj state if frac = 1.0

Fix Mario block item placement

Interpolate spritescale/offset x/y

Fix offset copies for SpawnMobjFromMobj

THANKS SAL

Add Lua HUD drawlists

Buffers draw calls between tics to ensure hooks
run at the originally intended rate.

Rename drawerlib deltaTime to getDeltaTime

Make renderisnewtic is false between tics

I know what I'm doing! I swear

Completely refactor timing system

Time is now tracked internally in the game using I_GetPreciseTime
and I_UpdateTime. I_Time now pulls from this internal timer. The
system code no longer needs to keep track of time itself.

This significantly improves frame and tic timing in interp mode,
resulting in a much smoother image with essentially no judder at
any framerate.

Ensure mobj interpolators reset on level load

Ensure view is not interpolated on first frame

Disable sprite offset interpolation (for now)

Refactor timing code even more

System layer is greatly simplified and framecap
logic has been moved internally. I_Sleep now
takes a sleep duration and I_SleepDuration
generically implements a precise sleep with spin
loop.

Adjust spawned mobj z by gravity inversion

Only check VERTICALFLIP for old_z calc

Fix Marathon Mode menu for uncapped

Move screenshot code before timing

Only play emerald hunt sounds on new tics

Restore deleted zofs (fixes signpost sparkles etc)

Revert to before screenUpdate boolean was added

Was done this way for the sake of an older version of uncapped's timing; now that the new timing is much better, I decided it should remain as close to pre-uncapped as it can be.

Run UpdateLevelInterpolators in preticker

Fixes KartKrew/Kart-Public#10

Run UpdateMobjInterpolators in preticker

Reset view interp in preticker

Add per-split player view resets
2022-05-06 22:47:39 -05:00
Sally Coolatta
b9f91cb7ec Increase bot difficulty range to 13
While I finally pushed to do this because of the epic Blue Sphere reference, I was kinda thinking about doing this for a while, because it gives more room for bots to level up during Hard GP.

I thought about just making the new level cap go up normally, but I decided on keeping the bots' passive buffs (like top speed & ring boosts) go up linearly, while rubberbanding range is kept the same.

I don't think I can properly explain it, but this basically means level 13s are a touch harder than old level 9s before, and new level 9s are touch easier than old level 9s. Basically think of it as more level range than actually making the bots harder.

The expanded range means that Hard GP can start off easier, but end harder. (And of course, Master is even more ridiculous c:)
2022-03-30 15:25:55 -04:00
Sally Coolatta
c0678e5016 Check FPS cap further in the main loop
This allows map changes to properly run. (I also seem to be able to hit the framerate cap slightly more often ... maybe placebo lol)
2022-03-27 13:17:26 -04:00
SteelT
dbdaebbb04 Merge branch 'droptarget' into 'master'
"Drop Target" item

See merge request KartKrew/Kart!562
2022-03-22 03:33:54 +00:00
toaster
52d2472ed7 "Drop Target" item initial commit.
Most of the way there, but still a bit left to do.
2022-03-21 23:40:30 +00:00
toaster
f073218532 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into boss
# Conflicts:
#	src/m_menu.c
2022-03-18 09:07:13 +00:00
James R
821fd41d70 Merge branch 'c99-pedantic' into 'master'
Switch compiler mode C90 to C99; enforce stricter standard conformance

See merge request KartKrew/Kart!554
2022-03-18 02:41:57 +00:00
toaster
8de92e8dca Merge branch 'master' into boss
# Conflicts:
#	src/k_bot.c
2022-03-17 16:58:42 +00:00
toaster
fcb6a4e1ab Disable the vanilla-sourced "keepbody" (rejointimeout) feature. 2022-03-14 16:33:03 +00:00
toaster
31db72256d Merge branch 'master' into boss
# Conflicts:
#	src/y_inter.c
2022-03-12 19:24:23 +00:00
toaster
b3c9b8f94e Merge branch 'votefree' into 'master'
:votefree: (resolves #217)

Closes #217

See merge request KartKrew/Kart!542
2022-03-12 18:49:45 +00:00
toaster
65feacc16c Merge branch 'musicataparty' into 'master'
Music at a party

See merge request KartKrew/Kart!543
2022-03-12 18:40:03 +00:00
toaster
f794908430 Merge branch 'followtweak' into 'master'
Follower adjustments

Closes #202

See merge request KartKrew/Kart!514
2022-03-12 18:37:15 +00:00
toaster
5c77516aab Cleanup of boss info in anticipation of merger.
* Actually add descriptions for the boss-related functions into k_boss.h.
* Introduce K_ResetBossInfo, an internal-only function for handling situations where it needs to be cleared.
* Fix a bug where bossinfo wasn't reset when using the map command to go to a battle map after having been in a boss.
* Fix some bugs where you could provide magnitudes out of the desired range to K_InitBossHealthBar and K_UpdateBossHealthBar.
2022-03-07 13:08:46 +00:00
toaster
dc2936de42 Make the map command from the title screen *actually work*, and make a best-guess attempt at determining the necessary setup to play each particular map in a Single Player context (such as grandprixinfo for TOL_RACE, a little cleanup for TOL_BATTLE, and bossinfo for TOL_BOSS).
This will be necessary when newmenus comes around and it is no longer advantageous to have a menu for testing bosses, given they won't be a headline feature in v2 or accessible via multiplayer at this time.
2022-03-05 22:17:06 +00:00
toaster
17e5f71b5d * Re-enable sphere HUD in bosses.
* Do a little more anti-overtime checking for bosses. (This *really* requires a refactor at some point, but not right now)
2022-02-27 17:48:04 +00:00
toaster
c1f3237157 Boss API + assorted relevant bugfixes, will go over the featureset of this branch with a fine toothed comb when it's time to write the merge request description so this is all you're getting right now 2022-02-24 21:19:03 +00:00
James R
82f4364eb4 pedantic: fix misc leniencies and GNU-isms 2022-02-20 03:28:22 -08:00
toaster
006b6f00ac Rewrite the awayview reset for both Got_Teamchange and P_SpectatorJoinGame. 2022-02-11 12:09:00 +00:00
toaster
7508e0e198 P_IsLocalPlayer changes
This is the function that controls whether a bunch of music-related function (and also whether certain error messages get printed).

* P_IsLocalPlayer now supports party players (currently untested, but the code is pretty airtight).
* P_IsLocalPlayer now always returns false in replays.
* P_IsMachineLocalPlayer now exists for the one situation the game determines local players that actually has a net-related function (kicking illegal character changes).
* Invincibility/grow sfx now operates based on whether the player is NOT local (it used to be whether it was NOT a displayplayer).
* Refactored P_SpectatorJoinGame to make future team support easier, and also reset the relevant camera focus, rather than always the consoleplayer's.
* Fix viewpoints on non-local players having overlapping viewpoint text.
2022-01-24 22:03:40 +00:00
toaster
4b1cef0f20 Merge branch 'testers' into 'master'
Allow TESTERS builds to be made for any branch

See merge request KartKrew/Kart!529
2022-01-23 22:48:48 +00:00
toaster
2df53dd5a5 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into votefree 2022-01-23 22:46:11 +00:00
toaster
f69f002d17 Merge branch 'speedometer-default' into 'master'
Turn on speedometer by default

Closes #218

See merge request KartKrew/Kart!539
2022-01-23 22:43:49 +00:00
AJ Martinez
ef6ff846d3 Merge branch 'master' into 'director-cam'
# Conflicts:
#   src/d_netcmd.h
2022-01-23 15:38:14 -06:00
toaster
1ae256887e Readd CV_SAVE per Oni request in vc (and also my desires)
Made using web IDE
2022-01-23 20:49:29 +00:00
toaster
8c3fad058d * Fix the Z_Free double-free issue (in two different ways, one ifdef'd out) that can sometimes occur on the vote screen.
* Fix a technically invalid read in D_SetupVote.
* If the third map on the voting screen has a different gametype, don't interact with the buffer.
* Fix the inttime 0 setting, since I was in y_inter.c and testing quick map changes.
2022-01-23 20:33:27 +00:00
James R
223ef50acb Enable percentage speedometer by default; do not save 2022-01-20 20:07:52 -08:00
AJ Martinez
24b05451f6 my workflow is beyond your understanding 2022-01-20 03:39:00 -06:00
AJ Martinez
1e4bc482d0 very small tiny fixes 2022-01-20 02:07:48 -06:00
James R
7e709cd018 Fix compiler warning 2022-01-16 17:35:47 -08:00
toaster
4cff27797c Guard IsPlayerAdmin in testers/hosttesters 2022-01-17 01:22:10 +00:00
toaster
6980975f11 Revert "Disable player admins"
This reverts commit 4d2793918c.
2022-01-17 01:19:13 +00:00
Sally Coolatta
c606e1e96b Force shrink can be toggled individually online
In preparation for a "make yourself small by default" cheat on the char select like SMK.
2022-01-09 04:08:26 -05:00
toaster
60f08f2380 Defines per Sal request 2022-01-04 23:02:09 +00:00
toaster
316cd61d9f * Fix follower colour being limited to UINT8.
* Fix follower colour not being set in offline mode (based on Steel's fix but no UINT8).
2022-01-04 22:41:35 +00:00
James R
4d2793918c Disable player admins 2022-01-02 21:58:18 -08:00
James R
72f9121f5d Disable wad loading in TESTERS build 2022-01-02 21:50:23 -08:00
toaster
4108d5acb0 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into namefix 2021-12-10 00:04:37 +00:00
toaster
b716e142a8 Some fixes for bad player info on joining servers.
* Don't overwrite the first player's name when joining with multiple local splitscreen players. (resolves #151)
* The defaults for unprovided names are now consistently "Player A/B/C/D" as opposed to some being letter-based and some being number-based.
* Send local player info once per local splitscreen player, rather than n^2 times (where n is the number of local splitscreen players).
* Since the packet *requires* four names to be sent every time you join a server, send dummy names for local splitscreen players who aren't connecting, instead of your actual cvars (no data leakage you didn't ask for!)
2021-11-30 21:24:00 +00:00
SinnamonLat
f96f7c6ba3 Fix follower colours 'Match' and 'Opposite' not working 2021-09-02 13:34:17 +02:00
SinnamonLat
2df8aa69b7 missing follower check in SendNameAndColor 2021-09-02 08:33:49 +02:00
toaster
00972a83d2 remove the prefix since everything seems to function 2021-04-17 11:30:08 +01:00
toaster
b3d006b093 structs gunched 2021-04-17 00:27:13 +01:00
toaster
b19372944c * Add a new feature - "-nodoubles", which shows only double-defined entries without needing to specify a range (but you still can, afterwards).
* Resolve Sryder's comment about confusing unlabeled iteration variables.
* Fix an issue with out-of-range printing for the end of the range failing.
2021-04-06 17:08:34 +01:00
toaster
15c2d75199 listmapthings
Introduces a new command that lists all mapthings by their doomednum and MT_ constant string.
* Can distinguish between hardcode and freeslots.
* Can detect double definition.
* With single argument, returns messages relating to that single doomednum.
* With two arguments, returns messages for that doomednum range inclusive (can swap if wrong way around).

The below image does not include what happens when it is called without any arguments, as that is long enough to only be legible in the logfile.
https://cdn.discordapp.com/attachments/369137273700089867/829007068333342720/unknown.png
2021-04-06 16:08:54 +01:00
Sally Coolatta
8bb1fa57d4 Merge branch 'master' into 22-merge-again 2021-04-05 01:11:26 -04:00
toaster
c5d842d05e Remove a duplicate call to LUAh_MapChange (which should only fire once, in G_InitNew). 2021-04-03 19:49:07 +01:00
Sally Coolatta
7f912e1558 Remove unused cv_freedemocamera
Not relevant to kart
2021-02-28 21:28:18 -05:00
Sally Coolatta
20e2c78331 Delete seenames code
We had SEENAMES disabled before, and vanilla removed the define, so I went ahead and removed it. Repurposed the old seenames console variable for our nametags.
2021-02-28 21:27:23 -05:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
Sally Coolatta
4b158c44cd Add debug command to show the bot's prediction 2021-02-26 02:41:41 -05:00
toaster
879c821d18 Demo-sync weaponpref data, which just includes kickstartaccel right now. 2021-02-22 12:58:03 +00:00
toaster
08d087c6b5 Acceleration Kickstart, my little hobby project.
It's no secret that holding down a button a lot can fuck with your wrists and fingers. It's too late for me to be damageless, but I can at least create an option to reduce further harm.

This accessibility feature, when enabled (kickstartaccel and kickstartaccel2/3/4 in the console) behaves with the following properties:
* Hold accelerate for 1 second to lock it down.
* Press again to release.
* Short holds/presses do nothing (good for POSITION).
* Continue holding it during the releasing press to re-lock it.
* A small triangular UI element is added next to the speedometer sticker, which displays the current state of the acceleration kickstart for visual feedback. (NO SPLITS SUPPORT YET)

In addition:
* Add PF_ACCELDOWN and PF_BRAKEDOWN, and BT_REALACCELERATE (which ACCELDOWN tracks). Even if this feature never gets merged, BT_REALACCELERATE is required because sneakers and boosters force it on too (extending this is how I implemented it).
* Fix the dehacked playerflag list being out of shape.
* I replaced some existing flags during development of this branch, so their old uses have been whittled away.
2021-02-20 23:10:18 +00:00
toaster
2ec943a214 Several changes to respawning and race start.
* Becoming a spectator is now instant, and leaves no bumpable corpse behind.
* Players will now FAULT if they:
    * change from a spectator into a player after the initial camera turnaround but before the end of POSITION.
    * touch an instant kill FOF or get crushed during POSITION.
    * become a spectator during POSITION. (I might change this later, seems overkill)
* If you respawn during POSITION, the jingle will not restart from the beginning.
* Change the FAULT animation to match spinout/currents.
* Clean up some of the spawning code to not place spectators on the ground.
2021-02-17 21:48:09 +00:00
James R
f0b6045245 DEVELOP: everyone is an admin 2021-01-24 22:51:09 -08:00
Latapostrophe
3cd4c87df5 Weaker tumble, some effects + tumble on spring panel fail 2021-01-09 21:58:35 +01:00
Sally Coolatta
cfda66103d Merge branch 'master' into just-tumble 2021-01-06 23:02:51 -05:00
James R
55bc602dbd Merge branch 'apng-downscale' into 'next'
Add aPNG downscaling

See merge request STJr/SRB2!1197
2020-12-12 17:39:56 -05:00
James R
956fd338f0 Merge branch 'oldguards' into 'next'
Kill remaining HAVE_BLUA and SEENAMES

See merge request STJr/SRB2!1319
2020-12-12 17:34:04 -05:00
James R
20e0d99ea0 Remove trailing whitespace 2020-12-12 02:40:46 -08:00
James R
41f1b3b97c Kill SEENAMES 2020-12-12 02:11:23 -08:00
James R
477ae9d1af Merge branch 'gamequit-argument' into 'next'
Send a `quitting` argument to the GameQuit Lua hook.

See merge request STJr/SRB2!1276
2020-12-10 15:25:52 -05:00
James R
71553a8ad0 Merge branch 'battle-rethink' into 'master'
Battle rethink

See merge request KartKrew/Kart!335
2020-11-29 19:13:38 -05:00
GoldenTails
d8ab3a75ed Remove the rest of the Playing() checks for GameQuit hook 2020-11-29 16:53:29 -06:00
GoldenTails
ded87cb54c Send a quitting argument to the GameQuit Lua hook 2020-11-29 08:30:50 -06:00
James R
d5688f53a0 Don't print W_VerifyFile errors more than once 2020-11-28 20:51:21 -08:00
toaster
f72108c4fa A whole bunch of cleanup to get most record attack/replay stuff reasonably functional.
* Fix the screen being stuck black at the very start of start record attack.
* Bump up the demoversion to 7, because I want all previous v2 demos to be guaranteed kaput (it was previously 4, but 7 is a nice number).
* Fix a ton MORE shitcausing misalignments in the replay system, this time specifically focused on getting ghosts functional.
* Plug a few holes in the "best lap" record implementation that allowed for stupidly easy records due to the way v2's finish lines work.
* Make a few follower-related things sane, to prevent spurious console prints that were getting in the way of my test prints.
2020-11-27 20:30:28 +00:00
James R
e3142663aa Merge branch 'replay-camera-update' into 'next'
Make the replay camera follow the player

See merge request STJr/SRB2!1243
2020-11-22 17:23:38 -05:00
GoldenTails
676f758d39 Add aPNG downscaling, and its associated consvar. 2020-11-19 13:45:04 -06:00
Jaime Ita Passos
be274a4fa9 Merge branch 'next' into spritestuff2 2020-11-19 00:52:43 -03:00
Sally Coolatta
931bcb3c2a Fix laps counter after finishing 2020-11-18 17:10:48 -05:00
Sally Coolatta
e16c7d722f Cherry-pick e1b265df2 2020-11-16 19:55:28 -05:00
Sally Coolatta
56a20d05df Merge branch 'master' into battle-rethink 2020-11-11 00:11:18 -05:00
Sally Coolatta
fc934b38e1 Merge public next 2020-11-10 15:32:48 -05:00
Riku Salminen
0cefac70d3 Declared the cvar in netcmd to get rid of warnings 2020-11-10 13:53:31 +02:00
Riku Salminen
16a4ab37d3 Try to add cvars for old camera 2020-11-10 13:21:34 +02:00
Sally Coolatta
4a9a438270 Dummy out wanted system
- Remove WANTED hud item
- Person in 1st place is the bonus points giver
- Sort players by Emeralds > Bumpers > Points
2020-11-02 03:51:16 -05:00
Sally Coolatta
2509d5a29c Merge branch 'the-scary-22-merge' into battle-rethink 2020-10-24 21:39:32 -04:00
Sally Coolatta
afbbfc9b1f Fix cvars
My wrist burns...
2020-10-24 21:32:07 -04:00
Sally Coolatta
7c2bd0d1c2 Merge remote-tracking branch 'srb2/next' into the-scary-22-merge 2020-10-24 20:50:58 -04:00
Sally Coolatta
9b6aa946ea Merge remote-tracking branch 'srb2/master' into the-scary-22-merge 2020-10-24 19:28:06 -04:00
Sally Coolatta
fda698a290 Merge master 2020-10-24 18:34:07 -04:00
Sally Coolatta
81a3a1c108 Steal bumpers from other players on any hit 2020-10-24 09:18:28 -04:00
Sally Coolatta
7430df5f4f Fix time limit, make overtime kill you instantly and close in faster, remove minimum radius
Radius SHOULD be doubled to 8192 to be reasonable... but something gets severely messed up, makes me MAD
2020-10-22 05:36:36 -04:00
James R
f34a761d48 Merge branch 'perfstats' into 'next'
Performance stats

See merge request STJr/SRB2!1186
2020-10-18 15:33:20 -04:00
James R
4c7400b27e Merge branch 'save-netvars' into 'next'
Save netvars

See merge request STJr/SRB2!1179
2020-10-12 19:03:01 -04:00
James R
975e042d66 Merge branch 'addfile-vararg' into 'next'
Give the addfile command variable argument support.

See merge request STJr/SRB2!1176
2020-10-12 18:32:20 -04:00
GoldenTails
33d026ed5a Futureproof against strict buildbots. 2020-10-12 17:14:32 -05:00
Jaime Passos
b4b4738c94 Changes to sprite rendering:
- Added render flags (see r_defs.h)
- Implemented floor splats
- Drop shadow sprite rendering through render flags
2020-10-12 00:13:22 -03:00
Hannu Hanhi
24ff748c58 Performance stats 2020-10-10 22:12:34 +03:00
James R
b088aad169 Add CV_NETVAR to server affecting cvars
showjoinaddress
maxplayers
joindelay
rejointimeout
resynchattempts
blamecfail
maxsend
noticedownload
downloadspeed
jointimeout
maxping
pingtimeout
servername
2020-10-09 15:23:16 -07:00
James R
e9d8166e3b Add CV_SAVE to netvars
dumpconsistency
allowjoin
joinnextround
restrictskinchange
allowteamchange
startinglives
respawndelay
competitionboxes
allowseenames
matchboxes
specialrings
powerstones
countdowntime
touchtag
hidetime
autobalance
teamscramble
scrambleonchange
friendlyfire
overtime
pointlimit
timelimit
basenumlaps
allowexitlevel
inttime
coopstarposts
cooplives
advancemap
playersforexit
exitmove
pausepermission
respawnitemtime
respawnitem
flagtime

tv_recycler
tv_teleporter
tv_superring
tv_supersneaker
tv_invincibility
tv_jumpshield
tv_watershield
tv_ringshield
tv_forceshield
tv_bombshield
tv_1up
tv_eggmanbox
2020-10-09 15:06:09 -07:00
James R
b7c4a82a0f Replace C90's junk with a modest macro 2020-10-06 23:04:23 -07:00
GoldenTails
3514ecdec8 Update help message to mention supported file extensions, and change the description to "Load add-ons" 2020-10-06 03:37:23 -05:00
GoldenTails
f289999ce3 Add warning when files are skipped due to being previously processed. 2020-10-04 21:03:29 -05:00
GoldenTails
79861c1a98 Give the addfile command variable argument support. 2020-10-04 21:02:20 -05:00
James R
e42eb9aba8 Revert "Warn when going to OpenGL from the menu"
This reverts commit 3883d44bb5.

And one line from 5c1b3baf18.
2020-10-02 15:37:23 -07:00
James R
f7a4667bc3 Use STUN instead of curl to fetch the public IP address for Discord
RFC 5389 is a standard protocol that can be used for this instead of ip4.me.

I may have gone overboard on the CSPRNG... It was fun though.
2020-09-30 03:57:50 -07:00
Sally Coolatta
2f6962c103 Correct player angle when respawning from crushing 2020-09-26 03:12:22 -04:00
Sally Coolatta
285ec3e08c Player death uses damage types
- Fixed last place elimination not working (again)
- Replaces squishing from level geometry with good old fashioned crush death
2020-09-25 16:31:10 -04:00
Sally Coolatta
b5fcd74ef9 Merge master
Slopes in a few maps are really broken ... think it's anchors, I'm gonna leave that to jart :V
2020-09-25 12:00:50 -04:00
James R
c9e3281b99 Merge remote-tracking branch 'origin/master' into tinnitus 2020-09-25 01:57:08 -07:00
James R
c0abb2ca09 Don't let players change their name more than five times per minute
(ported 2948885660 and 4e9d006c37)
2020-09-22 12:04:28 -07:00
toaster
5da7722255 Fix the issue where skincolor and character (and inadvertedly, name changes and followers) would not be sent to the server, leading to the 0,0 Ashura bug. 2020-09-22 19:55:22 +01:00
James R
ef108cbb36 Merge remote-tracking branch 'pub/next' 2020-09-20 14:07:54 -07:00
James R
2948885660 Don't let players change their name more than five times per minute 2020-08-31 20:08:22 -07:00
Sally Coolatta
f11481fbe2 Move to D_RegisterServerCommands 2020-08-30 23:35:41 -04:00
Sally Coolatta
40b0a2479e Wrong file 2020-08-30 23:26:00 -04:00
Sally Coolatta
2d7c835c4d Dedicated servers can change discordinvites without needing RPC support 2020-08-30 23:20:06 -04:00
Sally Coolatta
376a41162b Minor fixes 2020-08-23 14:08:54 -04:00
James R
7194aa9ad6 Skip XD_DISCORD payload in non Discord builds 2020-08-22 16:26:15 -07:00
Sally Coolatta
8c79d62b22 Merge remote-tracking branch 'public/next' into discord-rpc-support 2020-08-22 07:28:21 -04:00
Sally Coolatta
38ec458903 Always have XD_DISCORD defined, so that people compiling without Discord support can connect to servers that do. 2020-08-22 05:03:08 -04:00
Sally Coolatta
b761349076 Add some options, maxplayer/allownewplayer dont need to be netvars anymore 2020-08-22 01:53:27 -04:00
James R
cedb09bd92 Fix pointers on LUA_Archive and LUA_UnArchive
(servers joinable again)
2020-08-21 19:47:53 -07:00
Sally Coolatta
3e446a167c Restructure how damage works in kart COMPLETELY
Instead of doing its best to avoid P_DamageMobj, it embraces it, using the damagetype system to decide how the player takes damage. Overall less stupid.
2020-08-19 00:55:36 -04:00
Sally Coolatta
7419cbde03 Fix Got_NameAndColor 2020-08-18 04:23:08 -04:00
Sally Coolatta
59ebf07dd5 Guard discord.h, add cvar to disable rich presence 2020-08-17 02:25:05 -04:00
Sally Coolatta
632df264a3 Merge remote-tracking branch 'public/next' into discord-rpc-support 2020-08-16 20:57:31 -04:00
Sally Coolatta
8fd64ca607 Fix ring usage & gravity 2020-08-16 02:12:17 -04:00
Sally Coolatta
a251c3909b Lots of little fixes
Gameplay seems to work (besides the addplayer & client config stuff), but visuals (mostly sprites, but a little bit of HUD) are really messed up
2020-08-16 00:29:04 -04:00
Sally Coolatta
a2caa2dc16 Character select can open without crashing 2020-08-15 22:40:49 -04:00
Sally Coolatta
30144d5d06 Things to get it to run
Build is still MASSIVELY broken, you can't even get into a level, still investigating
2020-08-15 20:09:36 -04:00
Sally Coolatta
631f698432 Cleanup
So for whatever reason it's still giving me a warning about functions in i_threads having duplicate definitions, even though they clearly do not.

I'm completely stumped so I'm just gonna mess with my compile setup....... in the mean time, if anyone else could try to compile it, I'd appreciate it, so we know if it's just my end or if its something else
2020-08-15 08:32:56 -04:00
Sally Coolatta
0dc21106e5 Lua stuff is done 2020-08-15 07:47:18 -04:00