Commit graph

604 commits

Author SHA1 Message Date
Jaime Passos
dfe05a650c hehee 2019-09-29 12:13:51 -03:00
Jaime Passos
c02c7fb28b JIMITA DO THE SOC 2019-09-28 19:13:51 -03:00
Jaime Passos
5c8b7a142b JIMITA DO TH EROTSPRITE 2019-09-28 17:56:27 -03:00
Jaime Passos
2e493a3d4d quick maths 2019-09-28 13:40:40 -03:00
Jaime Passos
b7748aa594 memory management 2019-09-28 12:50:07 -03:00
Jaime Passos
e2ce3988fb Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -03:00
Alam Arias
296409d93e platersprite_t is not the same as unsigned 2019-09-19 21:42:59 -04: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
88000b87b0 I_Error if no frames are found for a loaded skin's SPR2_STND subspriteset, given this is what everything will default to if nothing else is provided, and I really don't wanna go across the code adding checks for sprite2s not existing (since R_GetSkinSprite2, under all circumstances other than this one, is capable of bouncing back). 2019-09-12 12:52:25 +01:00
Jaime Passos
1dbbb226a9 Allow PNG graphics to be used as patches
Also allows them to be used as sprites.
2019-09-11 16:59:28 -03:00
toaster
667dcd5bca Continue screen! With aaaaaall the new assets to go with it.
* https://cdn.discordapp.com/attachments/428262628893261828/621129794045870108/srb20077.gif
* https://cdn.discordapp.com/attachments/428262628893261828/621129785124585502/srb20078.gif
* I will be accepting no further questions at this time.
2019-09-11 00:50:51 +01:00
Latapostrophe
20c2891838 let mfe_drawonlyfor flags stack 2019-09-09 20:20:40 +02:00
Jaime Passos
402012e973 I 2019-08-18 14:16:48 -03:00
Alam Ed Arias
58a074db26 Fix signed vs unsigned comapre 2019-08-07 12:41:22 -04:00
toaster
ec4b68888f Fix inadvertent fallthrough and associated whitespace. 2019-08-04 10:27:36 +01:00
mazmazz
ae1632b7bf gcc7 compile fixes (Fall through; spr2 var comparison) 2019-08-03 23:01:10 -04:00
toaster
dec517f224 Merge branch 'ending' into 'master'
ENDINGS

See merge request STJr/SRB2Internal!264
2019-08-03 16:23:51 -04:00
Alam Ed Arias
5286938853 Fix building with MSVC 2019-07-29 19:02:45 -04: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
TehRealSalt
a6ef3c12b0 Seperate MF2_DONTDRAW and MF2_SHADOW into it's own varied set of flags -- drawflags.
- Split MF2_DONTDRAW into MFD_DONTDRAWP[1-4], also replaces MFE_DRAWONLYFORP[1-4].
- Split MF2_SHADOW into MFD_FULLBRIGHT and MFD_TRANS80. I also added an entire spectrum of options for transparency & brightness overrides, since I've found myself wishing for stuff like that before.
- Tethering was updated for it's client-sided drawing to apply to splitscreens too.
- Removed cv_transparency.

The transparency overrides don't seem to work yet (obvious on things using MFD_SHADOW), just running out of time to look into it so I'm pushing what I have.
2019-07-17 23:55:39 -04:00
Steel Titanium
d9ed4be606 Fix compiling on Linux 2019-07-09 15:42:14 -04:00
toaster
168a7f4768 Revert "Revert "Merge branch 'metalfixes' into 'toast_cleanup'""
This reverts commit c17ec4a77e.
2019-07-03 00:58:02 +01:00
MascaraSnake
c17ec4a77e Revert "Merge branch 'metalfixes' into 'toast_cleanup'"
This reverts merge request !239
2019-07-02 23:49:10 +00:00
toaster
dbec3c7e54 Metal Sonic fixes!
* Add more context clues to his fight, including an indicator for which laser attack is being used after chargeup.
* Make missiles able to vectorise him.
* Add another laser orb attack - vertical slice - and change the laser orb sequence to accurately reflect that horizontal is the hardest of the ones in 2.1.
* Optimise TC_BLINK, and fix an issue with TC_ALLWHITE that somehow avoided coming up in testing.
* Fix colorized bosses losing their colorization when flashing, by forcing TC_ALLWHITE.
2019-06-28 20:48:14 +01:00
toaster
c9c69d805a Now it's CA_TWINSPIN's turn to get the improvements!
* Remove PF_THOKKED every time a successful damage bounce occours.
* When this happens, spawn a number of particles based on thokitem at half scale! (Optimised, again, for MT_LHRT.)
* Also spawn these particles when a successful spring boost occours, as well as playing a twisted spring sound.

Also, some other related tweaks:

* Optimisations to A_VultureBlast, which was used as a base for the particle creation.
* Make the Metal Sonic boss use P_PlayerCanDamage instead of a custom, somewhat broken player damage detection mechanism.
* P_SpawnGhostMobj takes colorized into account.
* Fold Tails propeller damage into P_PlayerCanDamage.
* When performing an Attraction Blast, place the player in roll frames.
* Update all conditions preventing SH_PINK to incorporate thokitem and spinitem as well.
* Buff MT_LHRT travel distance at slow speeds.
2019-06-26 23:26:05 +01:00
Latapostrophe
927b464b5a handle clipping like literally every hw renderer ever 2019-06-24 12:51:18 +02:00
toaster
a8a2a1ed4b Correct some more oversights of switching to revitem for CA2_MELEE's particles. 2019-06-21 12:51:55 +01:00
toaster
6bcad784a9 PITY IN PINK!
* Smoothen Pity Shield animation to go with sphere's updates to Nev3r's sprites.
* Added LHRT object, designed to be summoned with CA2_MELEE.
    * Gives a pink Pity Shield (SH_PINK) on same-team player contact.
    * Deals damage to non-player enemies.
    * Harmlessly fades into nothing when touching an enemy player, players with SH_PINK already, and players capable of applying SH_PINK to others (through non-Lua methods).
* Basically, you-know-who is the Healer of the party whenever they're around. Fun consequences for the Co-op and CTF metas.
2019-06-19 23:20:24 +01:00
toaster
b745b4fe1b With permission from Kart Krew (Sal and Sryder specifically - they don't know WHY vanilla's using it):
* Port across the additional colour translation maps, including mobj-level support for "colorized" objects.
* Make Fangboss and both Metal Sonic objects greyscale if, on spawn, there is a player in the game who is not a spectator whose skin is that character.
* Allow bosses with MF_GRENADEBOUNCE to opt out of the MF2_FRET colour-flashing tomfoolery, and give this flag to Fang.
2019-06-18 17:55:57 +01:00
toaster
229cdf0e84 Improve rain/weather.
* Like Kart, remove cv_precipdensity.
* Like Kart, replace "Infinite" draw distance value with "None".
* Better thinker with more return optimisation.
* Better placement of thinking in rendering, to avoid ceiling-mounted sprite glitches.
2019-06-18 14:22:10 +01:00
Nev3r
52618bf895 Fix 1 extra column rendering on portal-clipped vissprites. 2019-06-10 17:59:12 +02:00
Nev3r
da09a07e6e viewx/viewy also need to be stored/restored. 2019-06-06 13:31:48 +02:00
Nev3r
819169f378 Vissprite clipping improvements.
Vissprites are now only clipped against their respective portal's geometry obtained from their BSP run.
Additionally, if a portal is provided, they're clipped to the portal's clip boundaries.
The work on this branch should conclude after a pair of remaining glitches are fixed.
2019-06-05 18:07:08 +02:00
Nev3r
906b366e1b Masked elements are now fully grouped individually for each portal/view; fixed viewz-related glitches,.
The drawnodes are now fully grouped in separate lists, and then sorted individually. This fixes sorting problems caused by portals belonging to differently perceived scales (skyboxes for example).

Drawsegs and vissprite/drawnode sorting require the viewz, so the viewz is stored for each portal/view, and then restored when needed; without this, the rendering process erroneously sorts the elements, and draws some at wrong positions.
2019-06-05 12:10:59 +02:00
Nev3r
96cfecc41a Created drawnode lists for each view/portal.
Each shall eventually have its specific vissprites/drawsegs; currently only drawsegs are stored in their correct list, vissprites are stored in the first list as a placeholder.
The idea is to sort each list individually, and then render their masked elements, starting from the last drawnode list.
This retains a non-recursive function calling method while still rendering things in order.
2019-06-04 20:15:42 +02:00
Nev3r
84a52a0f80 Moving away more portal-related global vars to r_portal. 2019-06-03 13:33:12 +02:00
Nev3r
7e1bb4a370 Code refactoring to turn portal struct into a more generalized shape.
Split portal-related code to its own source files.
Most of the 2-line-specific setup has been moved to the function which adds a 2-line case. The portals should render as they used to so far, anyway.
2019-06-01 13:07:23 +02:00
TehRealSalt
bb6fe9fc54 Merge branch 'master' into rings 2019-05-14 22:26:22 -04:00
TehRealSalt
e1c8ac77c1 Remove R_InitSkins
(Sonic's S_SKIN is now in chars.pk3)
2019-05-13 11:46:47 -04:00
TehRealSalt
dc41fe3d8d Port over only the relevant changes from the reduced-palette branch, update some of the Kart-specific stuff 2019-05-12 17:19:49 -04:00
Latapostrophe
a0e27c22e7 make followers work with replays 2019-05-12 13:41:46 +02:00
Latapostrophe
c83127293b resolve conflict in m_menu 2019-05-12 10:48:54 +02:00
wolfy852
e4af44956b Merge remote-tracking branch 'remotes/pub/next' into followme
# Conflicts:
#	src/r_things.h
2019-05-11 02:05:58 -05:00
TehRealSalt
3d129ad4ca Merge branch 'v1' into rings 2019-05-06 23:54:20 -04:00
TehRealSalt
8f4d93995b Merge v1 2019-05-02 17:51:54 -04:00
TehRealSalt
f1f664e9b1 Merge v1 2019-05-02 01:36:19 -04:00
wolfs
ce5b99cfe4 Merge branch 'forceskin-by-name' into 'next'
Allow names to be used with forceskin

See merge request KartKrew/Kart-Public!102
2019-04-26 06:42:09 -04:00
TehRealSalt
a3d2b48329 Fix up more stuff
Now in a mergable state
2019-04-18 12:20:13 -04:00
TehRealSalt
089be795a2 Huge splitscreen refactor
Did not get to finish all refactoring or even compile this, I'll continue later
2019-04-18 03:08:11 -04:00
toaster
e676cd89ea * Add FF_SEMIBRIGHT.
* Ranges between full brightness to half-brightness (50% of fullbright effect).
    * Has both software and GL support (I think - GL needs to be doublechecked, but I think it's just GL being murky in general).
    * Used by Rings.
* Backport FF_GLOBALANIM and FF_RANDOMANIM extensions to FF_ANIMATE from 2.2.
    * Rings use the former instead of their own hacky solution to the problem.
* Also backport FF_VERTICALFLIP, because why not.
    * Inverts sprite relative to gravity. I remember wanting this for the flipped death sprite for Jawz, but then Oni drew his own frame for that, so it doesn't matter.
* Refactor vissprite struct a tad, given I did so in internal where I pulled most of these improvements from.
    * Should be no in-game affect; let me know if you notice any regressions.
2019-04-17 18:46:35 +01:00