Commit graph

416 commits

Author SHA1 Message Date
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
fickleheart
194e77a6f0 Give spindash turn a separate slider 2019-12-10 08:07:41 -06:00
fickleheart
834a3bf334 Port deadzone configuration from Kart
I don't feel like getting out my gamepad, so I'll trust
that this works.
2019-12-09 20:39:05 -06:00
fickleheart
e92d7eca8e Shift camera sideways toward player angle 2019-12-08 15:54:16 -06:00
fickleheart
36fa94a22c Automatically rotate camera to reflect player actions 2019-12-08 14:35:50 -06:00
fickleheart
075f751f67 Add cvar to use abilities in input direction 2019-12-08 14:17:48 -06:00
MascaraSnake
a3549cc8f2 Merge branch 'datestuff' into 'master'
Date stuff

See merge request STJr/SRB2Internal!618
2019-12-06 16:10:36 -05:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
lachwright
8ddfdf2d0f Fix signpost camera for S_SKIN camerascale, exitmove, opposite gravity, and analog mode 2019-12-05 12:36:25 +08:00
toaster
f50feb1639 Change the default value of cv_coopstarposts (as per #321), and make it NOT a cheat to change since the other options are in effect more restrictive. (Leaving cv_cooplives at its current value for now, though.) 2019-11-26 12:37:57 +00:00
toaster
6773b39a40 Woops 2019-11-24 15:19:15 +00:00
toaster
6cc2ca7542 * Resolve #345.
* Prevent skincolours from being reset to the skin's prefcolour, but only for not-always-usable characters.
2019-11-24 13:24:37 +00:00
MascaraSnake
a24949cfa6 Merge branch 'menu-reordering' into 'master'
Menu reordering (also renaming secrets to extras)

See merge request STJr/SRB2Internal!511
2019-11-23 17:51:46 -05:00
sphere
514394a4f3 fuck autocomplete 2019-11-22 04:12:38 +01:00
sphere
9608021824 Rename "secrets" to "extras". 2019-11-21 01:34:32 +01:00
James R
6ffb18c4b1 Warn if gametype number is out of range to map command 2019-11-19 12:32:02 -08:00
James R
9b96964cbb Check for out of range gametype on map change 2019-11-19 12:25:50 -08:00
MascaraSnake
233ff8bd27 Merge branch 'exit-move-lj' into 'master'
Post-exit movement

See merge request STJr/SRB2Internal!486
2019-11-18 15:10:15 -05:00
Steel Titanium
2584241a44
Better ping implementation. 2019-11-17 20:22:47 -05:00
Louis-Antoine
24744d07e4 Disable exitmove by default 2019-11-17 23:52:51 +01:00
MascaraSnake
8adf564c41 Merge branch 'clearer-nodes-command' into 'master'
Make the "nodes" command clearer

See merge request STJr/SRB2Internal!477
2019-11-16 12:53:31 -05:00
James R
82ad6685a6 Remove defaultname, since players are probably sure on their name change 2019-11-15 17:32:43 -08:00
James R
53f5d7ffc3 Don't confuse node with player in commands
(cherry picked from commit 17bdf39dc8372ed9c6c31fa8d00eba03396a55bf)
2019-11-15 16:07:15 -08:00
Louis-Antoine
29501a992b Merge branch 'master' into exit-move-lj 2019-11-15 19:35:47 +01:00
Louis-Antoine
ff62a0732a Let players move after completing the level
This only takes effect in co-op,
and can be disabled with "exitmove off"
2019-11-15 15:35:28 +01:00
MascaraSnake
3d8043ff64 Merge branch 'map-by-name' into 'master'
LJ saved me from self destruction by bad code

See merge request STJr/SRB2Internal!463
2019-11-14 18:06:52 -05:00
Louis-Antoine
ffd9cfebe6 Allow item respawn in co-op again
Why was it even disabled anyway.
2019-11-14 16:37:09 +01:00
James R
7776c59cdd Warn if the gametype is not valid at all! 2019-11-13 14:31:44 -08:00
James R
359d8a2c25 Optimizations from LJ and generic functions 2019-11-13 14:26:28 -08:00
MascaraSnake
510f36fbdf Merge branch 'map-by-name' into 'master'
New map command

See merge request STJr/SRB2Internal!424
2019-11-13 13:45:36 -05:00
MascaraSnake
d591554a5d Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
James R
c9aad2d186 Warn if the first argument is an option 2019-11-12 18:29:42 -08:00
James R
46fbed8b71 Get map name from multiple arguments
(This means you don't need quoting.)
2019-11-12 17:42:54 -08:00
James R
5fd6561d46 So you don't like macros? 2019-11-12 16:10:00 -08:00
Jaime Passos
c6253bb6f9 Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
toaster
5729ba3cd2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into metalrecording
# Conflicts:
#	src/p_user.c
2019-11-12 21:56:46 +00:00
MascaraSnake
66123b8165 Merge branch 'internal-md3-vanilla-c' into 'master'
Internal MD3 merge 2 good riddance glBegin

See merge request STJr/SRB2Internal!362
2019-11-12 15:44:20 -05:00
toaster
5f8671b100 Sound test is cool now!
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif

* Port MUSICDEFs from Kart.
    * Safe to modify without modifying game, so we can put it in music.dta eventually.
    * "Title", "AltTitle", "Authors" fields are self-evident.
    * "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
    * "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
    * Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
    * Now called "V_DrawStretchyFixedPatch".
    * "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
    * Available to Lua under v.drawStretched!
    * Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.

Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
2019-11-05 16:23:46 +00:00
toaster
915e50a1e4 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into internal-md3-vanilla-c
Merge seems fine, but won't compile for some reason.
2019-11-02 18:34:12 +00:00
toaster
1906709cf2 * Improve the Metal Sonic recording/playback system.
* Make the skin to record with Metal rather than Flesh Sonic. (Allowed even if not unlocked!)
    * Make the object that plays back the recording actually use the Metal skin, rather than just a seperate spriteset. (The boss will still need the spriteset, though.)
    * Actively record the player's sprite2, frame, and followmobj, just like regular ghosts do.
    * Disable dashmode while recording, for a fairer race.
    * Fix a probably long-standing bug where, while recording, being "hurt" would get Metal stuck in pain frames until they physically left the area of hurt.
    * Always start Metal recording in wait frames for bonus taunting.

Other relevant changes:
* Increment DEMOVERSION *again*.
* Improve the Record Attack ghost followmobj recording to accomodate Metal's jet.
* Increase the datatype width of spritenum_t read/write for Record Attack ghosts because SUGOI 4: Back With A Revengance will probably also use more than 255 sprites alone.
* Return to standing frames (or prolong them if you're in them, rather than going to wait frames) if the player rotates on the spot with enough force.
    * This was specifically done *for* Metal recording, but I decided it looked good enough to enable all the time.
2019-10-28 22:12:47 +00:00
James R
fb9421893e :oh: 2019-10-27 14:29:13 -07:00
James R
f0e19d1597 Fix minor unnecessary call 2019-10-27 14:25:20 -07:00
James R
70df5242a3 Extend map name text matching code into a function 2019-10-27 14:23:03 -07:00
James R
bb65e8d72f Add support for custom keywords
For now, 32 characters separated by spaces.

Also fixed a SIGSEGV from an empty level title.
2019-10-27 14:10:26 -07:00
James R
6358d839ee Overhaul the map command
Added support for map names, matched by substring and keywords too!
Added support for two digit MAP codes without the MAP part.
Added support for decimal map number. (But who cares.)

Gave a better description of command.
Supported abbreviated optional parameters.

And now REALLY detects incorrect parameters.
2019-10-27 14:02:36 -07:00
toaster
0c52de7a29 Fix bot showing up in NiGHTS stages with a two-pronged approach.
* Sometimes, D_MapChange is passed a mapnum of -1, to complete an existing mapchange. Don't handle botingame checks when that happens.
* Disable charsel on secret level platter when selected map is a NiGHTS stage, since gameplay will be identical across characters (consistent with NiGHTS Attack).

Also:

* Replace IT_DYBIGSPACE hack in M_SetupChoosePlayer, and replace with a more direct workaround system for not being able to select characters before warping.
2019-10-27 12:20:17 +00:00
MascaraSnake
7d69409cf7 Merge branch 'set-name-on-join' into 'master'
Set the player's name as soon as they enter the game

See merge request STJr/SRB2Internal!397
2019-10-25 15:38:21 -04:00
MascaraSnake
2a8e5b7bff Merge branch 'james-kart' into 'master'
My changes to Kart

See merge request STJr/SRB2Internal!406
2019-10-25 15:36:40 -04:00
MascaraSnake
ff061fb813 Merge branch 'kartport_namedvalues' into 'master'
Kart-port - Named cvar values + Improved "HELP" command (round 3)

See merge request STJr/SRB2Internal!388
2019-10-25 15:32:56 -04:00
toaster
527254584d Disable tailsbot in NiGHTS maps, not just Special Stages. (Resolves #261) 2019-10-24 19:16:53 +01:00
James R
5ac8a26814 Miscellaneous window de-focus options
Music pausing is now optional.
Sounds may be paused--on by default.
The game itself being paused in off-line mode is now optional.

(showfocuslost now loads from config.)
2019-10-22 21:15:20 -07:00
James R
29a5999a44 "NEWPING" might as well be the only ping 2019-10-22 19:39:26 -07:00
Louis-Antoine
88d239ac36 Set the player's name as soon as they enter the game 2019-10-19 17:09:18 +02:00
toaster
e3e87d7655 Compile fix. 2019-10-16 17:39:38 +01:00
toaster
77160ae37b Just revert the respawn, retry and suicide stuff cuz it's apparently contentious. Who knew? 2019-10-16 17:38:38 +01:00
toaster
45e5f70eb8 Merge retry and respawn into one command, respawn. 2019-10-16 11:38:09 +01:00
toaster
8f3e59b43d Improved "HELP" command!
Ported from Kart, original commit also by me (toaster).
2019-10-15 13:36:04 +01:00
toaster
3185a66191 Quick macro substitution to make sure MAXSCORE is consistent. 2019-10-15 11:55:40 +01:00
toaster
910df54fb5 Added some examples of cvars that can use named values.
* Pandora's box now has infinite lives show up as "Infinite" instead of "-1".
* `pointlimit None`
* `timelimit None`
* Ported `basenumlaps` (with "Map default" value) from Kart to replace `usemaplaps`, for if Circuit ever gets shown any love ever again.
* `respawndelay Off`
* `resynchattempts Don't`
2019-10-15 11:49:37 +01:00
MascaraSnake
01fbb91f7e Merge branch 'bogus_requestskin' into 'master'
Fix bogus "requested skin not found!" print

Closes #247

See merge request STJr/SRB2Internal!373
2019-10-13 11:07:59 -04:00
toaster
e62d097265 Fix "requested skin not found!" print happening whenever you select an unlockable character.
Also, since I'm less paranoid now - readd the skin number to its print.
2019-10-13 15:10:19 +01:00
toaster
0350262a0f On the recommendation of Sryder, revert everything relating to the cpusleep changes except for the new default value of 1. 2019-10-13 13:12:07 +01:00
toaster
9ca227237a Better cpusleep command. Sal said it better than I can, so in her words:
* Default to 1, which means potential for a 1-frame loss every once in a while but no longer a complete cpu hog
* New minimum is 0, since -1 just did the exact same thing as 0 except slightly more optimized.
2019-10-13 12:05:12 +01:00
Jaime Passos
7746767735 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
Jaime Passos
fe60902df5 Merge remote-tracking branch 'origin/master' into renderswitch 2019-09-27 22:53:57 -03:00
Steel Titanium
6a870b4467
Various of changes
Changed any instance of "joystick" in strings to "gamepad"
Renamed some cvars
Added a define for MAX_JOYSTICK
Added back the missing command line params.
2019-09-23 22:46:44 -04:00
toaster
20d098de8f Merge branch 'betterdirs' into 'master'
Better directory structure

See merge request STJr/SRB2Internal!321
2019-09-20 11:36:56 -04:00
Nev3r
777e7f8760 Merge branch 'deathstuff' into 'master'
Lots of death stuff

Closes #207

See merge request STJr/SRB2Internal!306
2019-09-16 16:32:45 -04:00
toaster
71cc09c8c2 Merge branch 'luabanks' into 'master'
Lua save-banks!

See merge request STJr/SRB2Internal!295
2019-09-16 07:56:49 -04:00
Jaime Passos
db979845e0 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-09-15 16:24:24 -03:00
toaster
2b0344a22f Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into deathstuff 2019-09-09 15:25:48 +01:00
Jaime Passos
2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
Monster Iestyn
c696063260 Merge branch 'mprelated-tweaks' into 'master'
Various improvements and changes to multiplayer menu

See merge request STJr/SRB2Internal!300
2019-09-08 16:45:14 -04:00
toaster
4dc9a95224 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into deathstuff 2019-09-08 18:00:25 +01:00
Steel Titanium
8ee0a9309b
Better directory structure 2019-09-08 01:29:09 -04:00
Steel Titanium
bc52bc83cc
2D toggle command 2019-09-06 20:51:39 -04:00
Jaime Passos
d99026df3b Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-09-02 20:27:50 -03:00
toaster
f07309707d Lots of death stuff.
* Genesis-style love and attention to the death event.
	* Only visibly decrement lives/rings when you're respawning (or game over, see below).
	* Faster no-button-press respawn.
* Game Over specific love.
	* Animation of Level Title font coming in from the sides.
	* https://cdn.discordapp.com/attachments/428262628893261828/617692325438554132/srb20067.gif
	* Change gameovertics to 10 seconds instead of 15.
	* Make the minimum time before you can force going to the Continue screen longer.
* Accomodate death in MP special stages as a form of exit.
	* Don't have your rings or spheres reset when you die in a special stage, so that the stage isn't softlocked with the new harder limits.
* Fix a bug with CoopLives_OnChange where changing to infinite lives didn't force a game-overed player to respawn.

Also, two not-quite death things which nonetheless were relevant to change:

* Fix quitting a special stage having some of the shared spheres/rings disappear into the aether.
* Fix a warning during compilation for the Ring Penalty print.
2019-09-01 15:55:23 +01:00
Steel Titanium
1416312200
Move some cvars out of D_ClientServerInit and save them
Ported over from Kart
2019-08-26 20:38:32 -04:00
toaster
4e256b73b2 Lua save-banks!
* Array of 8 INT32's natively embedded into savedata (net and SP)!
* Initialised to zero whenever a new save (or equivalent) is started, otherwise untouched by the base game.
* Requires reservation to avoid clobber-conflicts.
    * Access via `reserveLuabanks()` - returns a read-write userdata.
    * Assign userdata to local variable or global rawset to use later.

Mostly for future SUGOIlikes, but I'm sure someone could figure out an unrelated usage eventually.
2019-08-24 18:25:27 +01:00
Monster Iestyn
7f5034bb75 Merge branch 'mi-cleanup-returns' into 'master'
MI cleanup returns

See merge request STJr/SRB2Internal!292
2019-08-20 09:35:36 -04:00
Monster Iestyn
f3484f7ded Merge branch 'public_next'
# Conflicts:
#	src/config.h.in
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/doomdef.h
#	src/p_map.c
#	src/p_maputl.c
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
2019-08-20 13:54:48 +01:00
Monster Iestyn
9a4a90c9cb Merge branch 'netcode-exploits' into 'next'
Fix an exploit where players could steal the final hash of a login

See merge request STJr/SRB2!508
2019-08-17 14:05:20 -04:00
James R
9c1fa867fa Include md5.h 2019-08-17 10:34:19 -07:00
James R
19dd9a3c14 Kart discrepancies 2019-08-17 10:33:14 -07:00
Monster Iestyn
0685b9705c Initialise player_names[] in D_RegisterClientCommands such that we don't need to have to manually update it if MAXPLAYERS ever changed 2019-08-12 15:18:36 +01:00
mazmazz
84c9633579 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-08-04 21:33:13 -04:00
James R
91502f1499 Don't send login final hashes to everyone
Someone thought it was a good fucking idea to make logins NetXCmds. NetXCmds
are sent to everyone however. Thankfully logins are two passes. And the second
pass uses a salt based on the playernum. Therefore, in order to actually make
use of the final hash, you'd have to be the same playernum as who originally
sent it. Still a stupid exploit.

P.S. The netcode is LOL XD by VincyTM -Telos
2019-07-15 16:14:00 -07:00
Jonas Sauer
166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
MascaraSnake
e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
mazmazz
dc0a92ea62 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla 2019-06-29 17:51:30 -04:00
mazmazz
654e07e84a Merge branch 'md3-vanilla' into internal-md3-vanilla 2019-06-29 15:02:50 -04:00
mazmazz
521d8fd8c1 Merge remote-tracking branch 'public-gl/master' into md3-vanilla 2019-06-29 15:02:07 -04:00
Monster Iestyn
ce6db1cc9c Merge branch 'public_next' 2019-06-22 22:44:42 +01:00
Monster Iestyn
755e4a8b2c Merge branch 'make-credits-great-again' into 'next'
Prevent just anyone from skipping credits but allow admins

See merge request STJr/SRB2!478
2019-06-22 16:13:04 -04:00
mazmazz
3d90488d17 Merge remote-tracking branch 'public-gl/master' into md3-vanilla 2019-05-02 17:43:40 -04:00
Nev3r
a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
696ccbd943 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r
39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Monster Iestyn
07a66e5355 Merge branch 'public_next' 2019-04-02 15:49:15 +01:00