Commit graph

527 commits

Author SHA1 Message Date
toaster
42d380328c Finish the Metal demo if the Metal playback object is dead. 2019-10-29 18:17:04 +00:00
toaster
91d2beebfa * 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
f3ba2c9339 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
d7c84c06cb * 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
22b413e84c * 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
7431794b5c Oh right, the keywords... 2019-10-27 14:26:29 -07:00
James R
b62d1ecf12 Fix compiler warnings 2019-10-27 14:23:53 -07:00
James R
08ad257e17 Extend map name text matching code into a function 2019-10-27 14:23:03 -07:00
James R
ea2adc8018 Move gamedata param to cover -resetdata 2019-10-27 10:33:40 -07:00
James R
bea18f1f1f Custom gamedata parameter 2019-10-27 10:31:17 -07:00
lachwright
4835d26c8b Merge branch 'master' into knuxstuff 2019-10-26 05:53:49 +08:00
MascaraSnake
0073310c39 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
bc636fbcca Move change viewpoint control checking so it doesn't take precedence
Notably over chat.
2019-10-22 21:32:12 -07:00
James R
96a12b6bed 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
2137d5ec21 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
09c9714daf Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
lachwright
52e7ae5322 Allow camera movement while climbing; allow sliding while landing from a glide 2019-09-30 14:38:58 +08:00
Lachlan Wright
319cf62980 Hopefully added the newline back? 2019-09-25 05:06:04 -04:00
lachwright
67aa0cd2f6 removed outdated comment 2019-09-25 03:16:04 +08:00
lachwright
63c0c21d8e Trigonometric input capping 2019-09-25 03:12:56 +08:00
toaster
eb315d3662 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
2b0a0dd90f 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
ccc1144a27 Merge branch 'luabanks' into 'master'
Lua save-banks!

See merge request STJr/SRB2Internal!295
2019-09-16 07:56:49 -04:00
Jaime Passos
0d11dd516a Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-09-15 16:24:24 -03:00
toaster
22f7fd904f 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
1695e4102f Tweak gameovertics slightly to avoid having no sound for too long. 2019-09-11 13:30:24 +01:00
Alam Ed Arias
8a69d97a12 Be clear on what FALLTHRU we really want 2019-09-09 15:02:13 -04:00
toaster
41727318ff Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into deathstuff 2019-09-09 15:25:48 +01:00
toaster
8acf86cf10 Extend gameovertics again by two seconds. 2019-09-08 18:03:51 +01: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
toaster
ffec691023 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
4304c34679 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-09-02 23:35:36 -03:00
Jaime Passos
24d08edf05 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-09-02 20:27:50 -03:00
toaster
0700ad229f 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
d51b516446 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
Monster Iestyn
e5c46e9b18 Modify defaults for smpstage_start and smpstage_end to 60 and 66 respectively 2019-08-25 22:24:08 +01:00
toaster
8b045a8f15 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
79acd0ff10 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
fac04cf853 tweak the defaults for titlescrollxspeed and numDemos 2019-08-11 22:28:32 +01:00
mazmazz
4ac4034eb9 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-08-04 21:33:13 -04:00
mazmazz
2c7eb91460 * 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
dec517f224 Merge branch 'ending' into 'master'
ENDINGS

See merge request STJr/SRB2Internal!264
2019-08-03 16:23:51 -04:00
toaster
ac91f122ce * 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
8ac6d43886 * 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
74c32c1b2b 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
b7c783223a 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
9f666e125e Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
mazmazz
14df513db6 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla 2019-06-29 17:51:30 -04:00
mazmazz
cc22795871 Merge branch 'public_next' into internal-md3-vanilla 2019-06-29 16:23:19 -04:00
Monster Iestyn
0fb5a82215 Merge branch 'public_next'
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
#	src/p_user.c
#	src/r_data.c
2019-06-29 20:55:58 +01:00