Commit graph

430 commits

Author SHA1 Message Date
Sryder
b17bf5d836 Use Scaled Radial Deadzones, instead of Axial deadzones.
Additionally fixes some weird padscale 0 stuff that was flipped.
This does have gameplay implications in both NiGHTS and regular gameplay. Notably you won't feel like you're locked into up/down left/right when you want to turn, but this can make running perfectly straight a little bit more tricky.
2019-12-15 14:37:30 +00:00
Jaime Passos
43946d9826 Merge remote-tracking branch 'origin/master' into wipes2 2019-12-11 12:57:59 -03:00
James R
4f9e227830 Cvar and menu option to let user increase turn speed
cam_turnmultiplier and cam2_turnmultiplier.

"Camera Speed" has been renamed to "Camera Spacial Speed" in the menu. "Camera
Turning Speed" is now an option.
2019-12-09 16:30:03 -08:00
MascaraSnake
a3549cc8f2 Merge branch 'datestuff' into 'master'
Date stuff

See merge request STJr/SRB2Internal!618
2019-12-06 16:10:36 -05:00
Jaime Passos
d7bfe7d652 Merge branch 'lt-extraneous-parameters' into 'master'
Remove unnecessary function parameters from title card code

See merge request STJr/SRB2Internal!603
2019-12-06 14:22:39 -05:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
ed34cb8d79 Change st_overlay to cv_showhud.value 2019-12-05 16:25:19 -03:00
toaster
2b5957fd1c Fix #457 and another bug I just realised in one fell swoop.
That is to say, MV_PERFECT can be applied in singleplayer, but that doesn't update your best rings on the map in record attack, so the thing being yellow doesn't make sense if your rings are (none). Therefore, make it a two-flag, two-bit process.
2019-12-05 09:47:29 +00:00
Jaime Passos
13c6b38b13 Merge remote-tracking branch 'origin/lt-extraneous-parameters' into wipes2 2019-12-05 02:03:09 -03:00
Jaime Passos
c0cc742fb8 Remove unnecessary function parameters from title card code 2019-12-05 01:58:19 -03:00
Jaime Passos
6adb957f0f Slap colormap fades everywhere 2019-12-04 19:25:39 -03:00
toaster
cbc49882bc Fix screen buffer not being cleared if a map command is used during the intermission. 2019-11-29 15:25:55 +00:00
Louis-Antoine
ec69195fc9 Keep counting players as finished even after dying 2019-11-27 17:32:02 +01:00
toaster
f1387a07a1 Instead of making conditions which check for death individually check for special stages to prevent lives loss, just set G_GametypeUsesLives to false in a special stage. 2019-11-26 12:30:32 +00:00
MascaraSnake
bdc0075ee0 Merge branch 'speclook' into 'master'
Speclook (resolves #340).

Closes #340

See merge request STJr/SRB2Internal!529
2019-11-25 13:20:00 -05:00
LJ Sonic
9541137f5e Merge branch 'join-bug-fix' into 'master'
Fix for the join bug

Closes #302, #338, and #347

See merge request STJr/SRB2Internal!545
2019-11-25 12:58:48 -05:00
toaster
71e74ca363 Fix a bunch of shit with MP special stages!
* Prevent an infinite quantity of Emeralds being spawned when P_GiveEmerald is called while a MP Special Stage is in session (resolves #347).
* Fix FuriousFox's ridiculous timer on special stage spawn (mentioned in the comments of the previous issue) by correctly marking spectator players in special stages as finished, and preventing the underflow.
2019-11-25 14:33:15 +00:00
Louis-Antoine
74ae5819c4 Account for exiting but non-finished players in G_EnoughPlayersFinished 2019-11-24 23:40:40 +01:00
toaster
fcfbd403f0 Make mouselook follow the first-person option when a spectator, even when other variables assume you're in third person (resolves #340). 2019-11-24 13:30:49 +00:00
Jaime Passos
e850d42bc2 fix RA fade 2019-11-23 18:15:09 -03:00
Jaime Passos
faa305a2f2 Fix crossfades
Fixes NoReload using the wrong wipestyle.
Also fixes non-titlemap title screen wipes using the wrong wipestyle.
2019-11-22 17:44:42 -03:00
MascaraSnake
f7c4ec1965 Merge branch 'mapvisitedupdate' into 'master'
Intermission fixes/cleanup

See merge request STJr/SRB2Internal!509
2019-11-22 14:11:31 -05:00
MascaraSnake
18babe3268 Merge branch 'followghost' into 'master'
Followmobj Record Attack fix (resolves #322).

Closes #322

See merge request STJr/SRB2Internal!510
2019-11-22 14:10:59 -05:00
MascaraSnake
a3a7dc6bed Merge branch 'remove-unused-levelwipes' into 'master'
(Cleanup) Remove unused levelwipes

See merge request STJr/SRB2Internal!507
2019-11-22 09:21:17 -05:00
toaster
143d4aa053 Move all the visitation/emblems/record attack update stuff into a single function, and call that function in two different places depending on whether the tally screen is visited or not. 2019-11-21 23:38:33 +00:00
toaster
990d9ed40c Correct location of followmobj scale write to match read (resolves #322).
Requires deleting all of RC1's Record Attack replays with followmobj characters, but I think you'll agree that's a reasonable price to pay.
2019-11-21 22:50:04 +00:00
toaster
7ff616b26e Do a whole bunch of cleanup for mapvisited and intermission related things.
* Move the visitation flags, Record Attack/NiGHTS Attack data, and emblem checking to outside of Y_StartIntermission.
* Y_CleanupScreenBuffer never got called for maps which skip the intermission, leading to a small memory leak; this is now fixed by moving it to G_AfterIntermission.
* Y_FollowIntermission was just G_AfterIntermission with modeattacking specific behaviour, but this is desired for all places where G_AfterIntermission is called, so just merge this into G_AfterIntermission.

Notably, these changes are necessary because there are now three maps in the main SP campaign which do not end with traditional intermissions. As a result, this fixes an issue where Black Core's tracks are not available in the Sound Test (due to MV_BEATEN never being applied).

Also, since I was here: Remove "gotperfect" from recorddata_t. This is a duplicate of `mapvisited[gamemap-1] & MV_PERFECT` which uses more memory. I have kept the new spacing in the gamedata for compatibility with RC1 savedatas, but moved it across to the original method everywhere else.
2019-11-21 16:10:28 +00:00
Jaime Passos
248306ccb0 Remove D_ProcessEvents call in G_PreLevelTitleCard 2019-11-21 02:16:09 -03:00
Jaime Passos
1e4060af8c remove unused levelwipes 2019-11-18 19:22:46 -03:00
Jaime Passos
8a05afa1aa Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-18 18:48:19 -03:00
Jaime Passos
aa659836ee Merge remote-tracking branch 'origin/master' into titlecards 2019-11-18 17:55:47 -03: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
MascaraSnake
5649365c19 Merge branch 'titlecard-lowercase-support' into 'master'
Lowercase support in titlecards

See merge request STJr/SRB2Internal!481
2019-11-18 15:05:02 -05:00
Jaime Passos
6920d20a0f map header option 2019-11-18 14:08:47 -03:00
Jaime Passos
e40bf85a6f lua 2019-11-18 13:50:44 -03:00
Jaime Passos
4ea3513076 Organize 2019-11-18 12:56:41 -03:00
Jaime Passos
6c98dde736 stuff 2019-11-18 11:39:54 -03:00
Nev3r
5dc494da16
Mapname lowercase support (#146)
*  Moved levelname parsing to before where uppercase conversion occurs.
*  Extended titlecard font range.
*  Replaced misc. "ZONE" strings with "Zone" for titlecard purposes.
*  Don't convert to uppercase when rendering the titlecard name.


Signed-off-by: Nev3r <apophycens@gmail.com>
2019-11-16 20:36:25 -05: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
toaster
d91d07da5b Fix Metal Sonic not correctly flipping with gravity. (Doesn't require a new Metal recording.) 2019-11-15 13:10:41 +00:00
MascaraSnake
031a352f72 Merge branch 'titleflash' into 'master'
Improved title screen flashes

See merge request STJr/SRB2Internal!462
2019-11-14 18:07:05 -05:00
MascaraSnake
8f6890025c Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
toaster
da1b4f2277 Disable menu input on the title screen for the first second (ie, before the flash), to guarantee people won't start the menu the very first tic after the fade and ruin the animation. (Console and gif/screenshot recording still works, for the impatient.) 2019-11-14 12:52:34 +00: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
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
MascaraSnake
aa5a3a46e8 Merge branch 'gamedata-param' into 'master'
Custom gamedata parameter

See merge request STJr/SRB2Internal!423
2019-11-11 11:36:53 -05:00
Louis-Antoine
068c712824 Shut up 2019-11-09 17:24:10 +01:00
Louis-Antoine
aa20e304cf Fix silly typo :P 2019-11-09 15:46:34 +01: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
fc22d1adc3 * Restart Metal recording from beginning if retry is used.
* Disable lives when Metal recording (and have a big flashing REC instead, because I'm a riot).
* Correct some minor directionchar issues (some introduced in this branch, some not).
2019-11-02 11:56:51 +00:00
toaster
67f5b2245f Secret stuff. (I intend to keep candid discussion of this outside of any commits; you'll see me write up a comment describing what's going on here soon.) 2019-11-01 15:48:50 +00:00
toaster
56d095e39f Finish the Metal demo if the Metal playback object is dead. 2019-10-29 18:17:04 +00:00
toaster
2d1a574e09 * Add a death animation for killing the Metal object, in case somebody wants to Lua up a Sonic CD style race finish for the Metal object, or in case of the following...
* Add an alternate DEMOMARKER for ending the Metal Recording on death, which kills the Metal object as well.
* Add some more relevant exceptions to the "most objects are removed when touching a deathpit" thing, primarily for the sake of ghosts and Metal playback.
2019-10-29 17:38:14 +00:00
toaster
d7ea986d7b I was right on the money - SendWeaponPref seems to have been delayed compared to earlier in development. Doesn't matter a lick for regular gameplay (net or otherwise), but absolutely mandatory to get it sorted ASAP in Record Attack. 2019-10-29 15:59:59 +00:00
toaster
f0f8b544de * Add thok auras to Metal playback.
* Add height changes to demos and Metal playback (to properly place thok aura relative to object).
* Fix followmobj recordings in reverse gravity (done via more strenuous flag setting + info height serialisation).
* Make RA ghosts fade in from start tic, and go colorized on their final one.
* Fix thok auras potentially doing bad things if they're set to MT_NULL.
* Add sprite change support to Metal playback.
* Re-enable some stuff I previously disabled for Metal recording/playback.
* Make ALL objects spawned with skins properly acknowledge that their spawnstate's frame is a sprite2, rather than just specific objects.
* Fix placement of Metal Sonic fume in reverse gravity.
* Since not backwards compatible with the previous test build, increment DEMOVERSION again. (Don't worry, we've got like 65524 more versions allowed before we run out of possible DEMOVERSIONs...)
2019-10-29 15:32:22 +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
a00dfcf420 Oh right, the keywords... 2019-10-27 14:26:29 -07:00
James R
56ee233b08 Fix compiler warnings 2019-10-27 14:23:53 -07:00
James R
70df5242a3 Extend map name text matching code into a function 2019-10-27 14:23:03 -07:00
James R
2078b47952 Move gamedata param to cover -resetdata 2019-10-27 10:33:40 -07:00
James R
4ac136f626 Custom gamedata parameter 2019-10-27 10:31:17 -07:00
lachwright
63d24d529a Merge branch 'master' into knuxstuff 2019-10-26 05:53:49 +08:00
MascaraSnake
03c5b70fc5 Merge branch 'newmenus' into 'master'
Better looking menus, nametags and much more. (Resolves #245 and #244 and #252)

Closes #245, #244, and #252

See merge request STJr/SRB2Internal!389
2019-10-25 17:46:16 -04:00
James R
923f43f887 Move change viewpoint control checking so it doesn't take precedence
Notably over chat.
2019-10-22 21:32:12 -07: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
Steel Titanium
9c33f160a6
Lots of changes
* Show emblem requirement on record attack menu
* Use bigger emblems on the menu.
* Display your best number of collected rings in yellow if reached perfect bonus.
* Adjusted XTRA frames (again)
2019-10-15 22:54:21 -04:00
Jaime Passos
7746767735 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
lachwright
7d57d53d45 Allow camera movement while climbing; allow sliding while landing from a glide 2019-09-30 14:38:58 +08:00
Lachlan Wright
5de1225b3e Hopefully added the newline back? 2019-09-25 05:06:04 -04:00
lachwright
51cee6d5bd removed outdated comment 2019-09-25 03:16:04 +08:00
lachwright
dc637736ea Trigonometric input capping 2019-09-25 03:12:56 +08:00
toaster
3285cc9a0d Properly scrub the player struct clean between level transitions. (Good chance this fixes our new bug where the player gets stuck in their standing pose when the map begins..?) 2019-09-18 16:06:13 +01: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
440b63ef13 Merge branch 'musicplus-resetmusic-followup' into 'master'
Follow-up fixes for reset-upon-dying music

See merge request STJr/SRB2Internal!284
2019-09-11 14:14:09 -04:00
toaster
ab1472bfc1 Tweak gameovertics slightly to avoid having no sound for too long. 2019-09-11 13:30:24 +01:00
Alam Ed Arias
9d64ee88a0 Be clear on what FALLTHRU we really want 2019-09-09 15:02:13 -04:00
toaster
2b0344a22f Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into deathstuff 2019-09-09 15:25:48 +01:00
toaster
2c898841e9 Extend gameovertics again by two seconds. 2019-09-08 18:03:51 +01:00
toaster
d26ff197dc * 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
toaster
0986195d21 Bunch of fixes for dying in MP special stages.
* Don't allow the stage to be reloaded in G_DoReborn.
* If you do ANY spawn after the very beginning moment, you're forced to be a spectator.
* Have the "%d player%s remaining" Co-op exiting count visible at the same time as spectator controls.
2019-09-04 15:51:14 +01:00
Jaime Passos
1e506ef180 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-09-02 23:35:36 -03: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
James R
89c4989987 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
Monster Iestyn
db3a2e02a5 Modify defaults for smpstage_start and smpstage_end to 60 and 66 respectively 2019-08-25 22:24:08 +01: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
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
Monster Iestyn
37dd048f12 tweak the defaults for titlescrollxspeed and numDemos 2019-08-11 22:28:32 +01:00
mazmazz
84c9633579 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-08-04 21:33:13 -04:00
mazmazz
46993268ae * Added FORCERESETMUSIC level header
* cv_resetmusicbyheader toggle to disable said override
* Never reset music during time attack
* Change cv_resetmusic default back to off
2019-08-04 20:02:38 -04:00
toaster
8a0f1e7ed4 Merge branch 'ending' into 'master'
ENDINGS

See merge request STJr/SRB2Internal!264
2019-08-03 16:23:51 -04:00
toaster
d541bb7ead * Fix something I neglected earlier when fixing Ghosts and Replays for 2.2 - the fact that the player's skin will change if they don't have NiGHTS sprites like Sonic does not being accomodated. 2019-07-30 17:24:21 +01:00
toaster
47554b57e4 * Made the evaluation screen even more attractive.
* Fixed an unused variable warning in lua_skinlib.c.
- fixed post-level cutscenes playing when you get game over in MP (still kinda on-topic)
Also with apologies to MI:
- golden egg statue mode for tutorial, since the grey doesn't contrast enough with the blue and lime green
- fixed closed captions for replaced player sounds being incorrect
- fixed closed captions overlapping tutorial text
2019-07-29 14:55:36 +01:00
toaster
063e350c63 A good and bad ending cutscene now exist.
Also:
* SPR2_XTRA - instead of defining lumpnames in S_SKIN, those kinds of assets can just be bundled into the spriteset. Required for ending cutscene stuff, I guess, but also done for HUD life icon and character select image (aside from Sonic&Tails, still SOC'd in).
* Minor oversights in SPR2 support corrected.
* Better evaluation, featuring ending assets.
* Intro has warping-in blackrock, reusing ending assets.
* Cutscene text now supports lowercase (intro and custom).
* Disable the asset-fucking "gamma correction" I put in over two years ago when implementing colour cube. (This is the only thing I could move into another branch if you MUST, but it's basically invisble in the diff so w/e.)
* Don't blank the screen if the top left pixel of a screen-covering patch is transparent. (Checked via nonzero topdelta for first column)

Bugs:
* OPENGL ONLY: The first ~20 frames of both endings are fucked. A little help here? Might be HWR_DrawFadeFill's fault, which I just created. OR it could be in f_finale, but I doubt it, since it doesn't appear in Software.
2019-07-28 00:32:57 +01: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