Commit graph

334 commits

Author SHA1 Message Date
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
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
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
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