Commit graph

209 commits

Author SHA1 Message Date
Sally Coolatta
59add5abd4 Merge branch 'master' into trick-panels 2020-06-14 20:46:01 -04:00
Latapostrophe
cab9c2a139 Merge branch 'v2-master' into followme-internal 2020-06-07 23:56:32 +02:00
Sally Coolatta
b7a8c1f128 Merge branch 'master' into trick-panels 2020-06-05 18:41:21 -04:00
Latapostrophe
f33e4d62a0 Sort conflicts, fix misordered follower bubble states in dehacked 2020-06-05 02:33:39 +02:00
Sally Coolatta
f4c0011a76 Merge branch 'master' into grand-pricks 2020-06-04 14:41:56 -04:00
Latapostrophe
6ac63cca7a Merge branch 'v2-master' into followme-internal 2020-06-02 22:21:16 +02:00
Sally Coolatta
086ea73c2f Merge branch 'master' into respawn-updates 2020-06-01 15:49:30 -04:00
Sally Coolatta
ede66a6632 Trick panels 2020-05-31 21:23:22 -04:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Sally Coolatta
0879459142 Add distance based on air time
Using the respawn command gives you barely any distance, while flying off huge  MGZ pits gives you a bunch.
2020-05-29 10:37:34 -04:00
Sally Coolatta
d062a35a3a Huge respawn overhaul
- Moved respawn code to its own file
- Reorganized a lot of the code related to respawning
- As a result of the massive reorganization, I squashed several bugs. Most notably: mid-game joiners having weird spawns, being able to skip laps by respawning.
- Respawn lightsnake no longer takes you straight to your nextwaypoint -- it now has a minimum distance forward that it tries to put you at when you respawn.
2020-05-29 01:04:51 -04:00
SwitchKaze
58cac1fd73 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
SwitchKaze
afe56667b8 Update to 2.2.4 2020-05-22 16:47:51 -05:00
Sal
ddef9829da Merge branch 'displayplayer-gonna-getcha' into 'next'
displayplayers.iterate crashes in replays, is that based?

See merge request KartKrew/Kart-Public!171
2020-05-19 17:28:14 -04:00
Sally Coolatta
0282615c38 Merge branch 'master' into pet-robo 2020-05-18 15:18:37 -04:00
Sally Coolatta
e425eabf04 Merge branch 'master' into grand-pricks 2020-05-17 11:39:39 -04:00
James R
1f74d7533e Properly bound lua displayplayers and displayplayers.iterate to splitscreen
This is fixes crashes in replays because splitscreen displayplayers are
initialized to INT32_MAX there.
2020-05-15 14:21:25 -07:00
James R
6e3a92ed52 player.ping for the ping in milliseconds of the player 2020-05-13 16:17:40 -07:00
Sally Coolatta
fa5fccffc5 Implement lives system
Lose a life & restart the current race if you place below the top half. Lose all of your lives, and you get kicked to the title screen.
2020-05-13 02:14:39 -04:00
Sally Coolatta
1788d29263 Merge branch 'master' into pet-robo 2020-05-12 22:38:23 -04:00
Latapostrophe
766f7f035f Let followers change colour separatly from players 2020-05-04 18:08:41 +02:00
Sally Cochenour
751fd9ad1b Start on bots, doesn't work 2020-03-27 23:51:49 -04:00
Louis-Antoine
46df2b9551 Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Latapostrophe
d7146021c1 Push consoleplayer and displayplayers to Lua 2020-03-10 11:53:28 +01:00
SwitchKaze
9508b23d85 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-29 23:41:16 -05:00
LJ Sonic
9a23fface3 Merge branch 'realmo' into 'next'
Let Lua access spectator mobjs

See merge request STJr/SRB2!756
2020-02-25 15:06:29 -05:00
SwitchKaze
99a1840101 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00
James Hale
51137837c4 Custom skincolors 2020-02-21 21:56:39 -05:00
Steel Titanium
fc042e90f0 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Louis-Antoine
c0e0721421 Let Lua access spectators mobjs 2020-02-03 19:42:37 +01:00
fickleheart
62c75c0c81 Merge remote-tracking branch 'upstream/next' into viewroll 2020-01-26 18:01:58 -06:00
Louis-Antoine
c2682ac1b6 Let clients rejoin the server without losing their status
This is accomplished by simply preserving
the player's body after disconnecting.

Bodies will despawn after the number of minutes
specified by the "rejointimeout" console variable (float).
A value of 0 disables the feature completely.

Clients rejoining are identified by their IP address,
and may rejoin even if the server is full or joins are disabled,
for as long as their body remains.

From a technical standpoint, when the user disconnects,
the player they were controlling does not leave,
the underlying player_t just keeps working normally,
except it does not receive any input anymore.
When the user reconnects, they are simply "relinked"
to their player_t.

Those "soulless" players can be identified through
their "quittime" field, which is the number of tics
elapsed since the user disconnected, or zero
if still connected. "quittime" is exposed to Lua.
2020-01-22 03:05:08 +01:00
fickleheart
6a80bf2629 wip viewroll stuff 2020-01-14 23:29:56 -06:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Steel Titanium
dc9a09f837 Merge branch 'public_next' into 'master' 2019-11-18 15:39:41 -05:00
Steel Titanium
3c71434a02 Allow access to players userdata outside levels.
In exchange for preventing access to any mobj_t userdata outside levels, including player's own mobj_t.
2019-10-14 22:12:26 -04:00
toaster
09f7dc1350 * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
James R
d51b516446 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
toaster
3b99335605 * Strip the word "function" from INLEVEL error messages, since they're now shared between access and function cases.
* Move it into lua_script.h, so it's available to everything that needs it.
2019-07-30 17:57:57 +01:00
toaster
c659e3f26b Fix lua scripts erroring on the title screen because they're run there but it's not counted as GS_LEVEL (aka #168). 2019-07-30 17:48:13 +01:00
toaster
2fbb0bbb52 I know this isn't my branch, but found several reference haemmoragers and figured it'd be appropriate to commit here. 2019-07-13 13:43:22 +01:00
Latapostrophe
c83127293b resolve conflict in m_menu 2019-05-12 10:48:54 +02:00
wolfy852
7dff052a64 Expose followerready, match d_player.h organization 2019-05-11 02:13:31 -05:00
TehRealSalt
f48a08cd53 Merge v1 2019-05-06 21:23:29 -04:00
TehRealSalt
e59a7175be Fix skin shit 2019-05-02 00:39:49 -04:00
TehRealSalt
089be795a2 Huge splitscreen refactor
Did not get to finish all refactoring or even compile this, I'll continue later
2019-04-18 03:08:11 -04:00
Wolfy
2c21b62f65 Merge remote-tracking branch 'remotes/public/master' into followme 2019-04-06 13:48:46 -05:00
fickleheart
272640f49a Allow reading ticcmd latency 2019-03-16 02:19:43 -05:00
Latapostrophe
169ec43eec add some Lua support, hit confirm animations and fix some stuff 2019-03-04 21:35:58 +01:00
James R
f8928300ec Rename splitscreen member to something more meaningful 2019-02-22 15:57:44 -08:00
james
76f2df2c40 Expose splitscreenplayer (from Got_AddPlayer) as splitscreen in player_t 2019-02-16 23:25:50 -08:00
Latapostrophe
62f1ac6ef6 Expose some more Kart functions, freeplay and rankings bumpers are now hud stuff you can toggle, + experimental playercmd hook 2019-01-13 14:40:48 +01:00
mazmazz
81352aece1 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
TehRealSalt
668efe9105 Require 3/5ths of checkpoints instead of 1/2
This broke MKSC in a minor way if you skip a specific item set and then take the big cut... I'll let it go anyway since its an improvement everywhere else.
2018-11-27 14:28:11 -05:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
mazmazz
56d9522a62 Merge branch 'master' into nights-dronebox 2018-09-07 09:06:32 -04:00
mazmazz
d24de8bc2f totalmarescore player variable for NiGHTS scoring
# Conflicts:
#	src/p_setup.c
2018-08-12 19:59:34 -04:00
mazmazz
9a9a2d94cc totalmarelap and totalmarebonuslap player variables 2018-08-12 19:57:33 -04:00
mazmazz
269c1a70ba Add lapbegunat and lapstartedtime player variables
There is no lapfinishedtime because [mare]finishedtime refers to when Egg Capsule is destroyed. That concept does not apply to laps.
2018-08-12 14:21:26 -04:00
mazmazz
c5d6dd55d5 player->oldscale var for pre-Nightserize scale 2018-08-11 00:49:28 -04:00
mazmazz
60f6792ad0 Basic implementation for player position correction to Drone center
* player->drone mobj variable
* P_MoveNiGHTSToDrone, will change later
2018-08-10 19:25:49 -04:00
mazmazz
2f5186d014 Add lastmarelap and lastmarebonuslap player variables 2018-08-10 16:30:49 -04:00
mazmazz
79d5c553c3 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 15:10:26 -04:00
mazmazz
052bd347bb Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_setup.c
2018-08-10 13:35:59 -04:00
mazmazz
f8a3343500 Track player's previous mare rings with player->finishedrings.
There may not be a point to this, other than to be consistent with how spheres are tracked. If non-special stage NiGHTS should tally a ring bonus, this may be useful.
2018-08-10 04:05:20 -04:00
TehRealSalt
23d83423cc Lots of cmd restructuring.
- cmd->driftturn exists now, for figuring out how far you're turning. Added to prevent analog sticks from being able to get drift sparks faster.
- Feather bounce strafing moved to use cmd->sidemove, which means it also supports analog now.
- Braking now waits a few tics for you to be stopped for a few tics before it lets you go in reverse, as per Sev's request.
- Removed a lot of unused/redundant/commented out control code, and reorganized some of the existing code.
2018-06-05 17:12:42 -04:00
toaster
849eeae3b9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
mazmazz
02d525ae15 Add player_t marelap and marebonuslap, with logic 2018-03-30 20:28:27 -04:00
TehRealSalt
b225d48caf Camera adjustin's
- Look backward button works
- Increased default cam_speed, from 0.3 to 0.45. This is the highest
value that I think doesn't look overly stiff.
- Removed bobbing in first person
I was trying to do the camera angle thing that we've been talking about
for a while, but I can't get it to work well.
2018-01-22 17:08:31 -05:00
TehRealSalt
fc9d426660 More stuuuuff 2017-12-17 01:21:24 -05:00
TehRealSalt
198685582f Previous EXE: The Better Edition
- Improve balloon-based items. Much more distinguished differences
between the different ranks
- Reverted Feather strafing. You can now just... properly move in the
air, if you're using a Feather or a Bounce Pad.
- Bounce pads are now stronger while using speed items.
- Fixed the long standing bug about offroad & ziplines working when
you're on FOFs above them. This is a tricky subject, so please report
any issues you may come across related to this.
- Shells should no longer travel to Mars, nor will they  when using
bounce pads. They should now do a gentle hop.
- :WIP: new MP Player Setup screen, now shows character stats. Will
later feature the list of characters in a row of icons, and a backported
2.2 color selector with toast's permission
- Renamed "Match" to "Battle" :p
- Yet MORE minor cases where kartspeed & kartweight were being read as
fixed_t when they're freakin' UINT8's, people!
2017-11-28 01:13:23 -05:00
TehRealSalt
888515331f More lenient checkpoints
Doesn't really belong in this branch but shut up! I'm lazy :p
2017-11-20 02:00:19 -05:00
TehRealSalt
a2767fe341 Some more minor comeback tweaks
- Comeback players are now 1 speed with -20 friction
- Bombing gives 2 karma now
- Item players should no longer be able to be hit
- Attempted to fix instances of trying to bomb someone while they can't
be touched causing you to lose all your karma and start a console
message saying you're back in the game, despite not rewarding a balloon
- Fixed a few places where kartspeed & kartweight were being read as
fixed point numbers, despite being UINT8's
- Fixed up kartstuff Lua support more, functions properly now
2017-11-19 19:39:40 -05:00
TehRealSalt
d3e888cc44 Merge remote-tracking branch 'refs/remotes/origin/master' into battle
# Conflicts:
#	src/d_player.h
#	src/k_kart.c
#	src/k_kart.h
#	src/lua_playerlib.c
2017-11-05 02:16:39 -05:00
Sryder13
81a077b9af New player frameangle used instead of mobj angle for players
Set to mobj angle except when spinning where it's set to spin
Only 1 spin frame needed now
2017-11-04 14:07:53 +00:00
Sryder13
e60b3e1b88 Move Player collision check into the regular collision checking 2017-11-01 18:40:32 +00:00
toasterbabe
844416855f Smiles follow-mobj initial support! Still using a Lua hook to follow closely behind, but now it doesn't need to be a generic thinkframe. Woo! 2017-10-02 14:08:58 +01:00
toasterbabe
2e6c09a636 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/hardware/hw_main.c
2017-08-16 21:40:32 +01:00
toasterbabe
1a7a0662ba * Set player->outofcoop to false if it's not a coop gametype.
* Expose player->outofcoop to Lua.
2017-07-06 14:53:52 +01:00
ZTsukei
cfdb127630 v1.3.04 - The Bouncy One
--------
Hardcoded Collide.lua.
Added player boolean array "Collide", used by Collide.lua.
Walls are now bouncy by default again, like they were in 1.09.
Buffed Orange Drift sparks, the boost now lasts 60 frames up from 40.
2017-04-17 13:20:52 -04:00
toasterbabe
61b19aff58 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/p_user.c
2017-04-05 16:01:02 +01:00
toasterbabe
ddf8db12af Big commit, sorry. I broke several things trying to get other things to work and it's only now that all the code that worked yesterday works today!
*P_LookForEnemies is now side-effect-less and only provides a pointer to the found mobj
*player-jumping is dead, long live PF_STARTJUMP
*per Mystic's request, CA2_GUNSLINGER has a targeting icon. It also has a more restricted vertical aiming range.
*mobj for this is in the game as requested
*fast teetering animation flag
*general code cleanup
2017-03-22 18:51:30 +00:00
ZTsukei
5d0b9ef551 Friction updated. Added KARTSTUFF to lua. Added ->kartstuff to network syncing stuff (surprised it even worked before now???), also maybe items correctly reset at the end of level now. 2017-02-27 17:55:26 -05:00
ZTsukei
580f909c6c Added Accelcode, start boosting, reverted drifting, etc. 2017-02-07 17:19:58 -05:00
toasterbabe
260b461c39 Drawangle.
Mystic wanted it, just play it - too busy to give proper commit description. Will outline everything it is in the merge request when that happens.
2017-02-05 18:15:20 +00:00
Monster Iestyn
2ac3f68438 Added in-level checks to a lot of these functions and tables for Lua use
This makes it less likely for the game to crash when stuff is used outside a level when they shouldn't be
2017-01-18 22:02:28 +00:00
Monster Iestyn
0fb89c620d Merge branch 'master' into damage-control 2016-09-30 21:05:44 +01:00
toasterbabe
be0e898bae * Skin-controlled radius is no longer set each tic, only on skin change and player spawn.
* Camerascale, shieldscale, height and spinheight are now player attributes which are set to the skin attribute on skin change, not read directly from the skin.
* P_GetPlayerHeight and P_GetPlayerSpinHeight are now macros instead of functions.
* Extra protection against switching to a locked skin.
2016-09-25 18:21:52 +01:00
toasterbabe
2cee8c1a8d SORRY, I SHOULDN'T HAVE PUSHED THE PREVIOUS THING
Revert "Revert "Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead.""

This reverts commit 58f815ddbc.
2016-09-03 16:05:58 +01:00
toasterbabe
58f815ddbc Revert "Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead."
This reverts commit 0852a20014.
2016-09-03 15:51:38 +01:00
toasterbabe
0852a20014 Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead. 2016-09-02 18:12:46 +01:00
toasterbabe
64ef2798a2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into dashmode
# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
2016-07-07 01:08:51 +01:00
ZTsukei
e4a970f894 Starting from scratch. SRB2 v2.1.15 2016-07-06 00:10:19 -04:00
Monster Iestyn
9007904a72 Merge branch 'master' into damage-control
# Conflicts:
#	src/p_inter.c
#	src/p_mobj.c
2016-05-25 15:33:09 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Monster Iestyn
f579a12d2c Fix up more Lua error messages to be more meaningful (and work properly, in some cases) 2016-05-14 23:52:40 +01:00
Monster Iestyn
2ddde83601 General improvements to Lua error messages for out-of-bounds stuff.
The idea is for the layman Lua user to understand better what range of values to use for mobj types, states, sfxs, player #s etc. Additionally, mobjinfo/states/sfxinfo/hudinfo tables all now have actual bound checks when accessing/editing them. Yikes, why didn't they have any before?!
2016-05-01 22:14:42 +01:00
wolfy852
6fcb6d27fe Fix Lua not having access to timeshit
Fixes http://mb.srb2.org/showthread.php?t=41403. Not sure why nobody noticed this earlier.
2016-04-30 03:19:00 -05:00
Monster Iestyn
67b92d7273 Went and fixed the dashmode variable hack nonsense once and for all myself
would have gone for "dashtime", but then I was reminded that was already a name for something to do with spindash. Oh well
2016-01-25 11:47:33 +00:00
Monster Iestyn
6bc1a5fdef Okay, major overhaul time!
*player->health (formerly the "HUD" health) is now to be known as player->rings, and now acts as the player's actual ring count
*player->mo->health (formerly rings + 1) is now always 1 when alive, regardless of ring count; if player with rings is damaged, this is untouched

Damage in normal SP/Coop gameplay has been tested and still works fine; still a lot of mess to clear up though

Tag damaging probably is broken now, I'll fix this later
2015-08-15 21:07:16 +01:00
JTE
ef0e61fc33 Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.

I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
2015-05-20 23:54:04 -04:00
Alam Ed Arias
7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Ed Arias
c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Alam Ed Arias
8a9759a3e4 SRB2 2.1.8 release 2014-04-19 13:41:29 -04:00
Alam Ed Arias
ed72bd8fa1 SRB2 2.1.4 release 2014-03-21 19:21:06 +00:00
Alam Ed Arias
2fed5d1270 SRB2 2.1.3 release 2014-03-18 13:56:54 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00