Commit graph

368 commits

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