Commit graph

514 commits

Author SHA1 Message Date
lachwright
24486f5cd9 Add new dashmode colormap 2019-10-21 04:37:56 +08:00
MascaraSnake
ea6b6be758 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
176ee4499f 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
cead718d81 Additional crash fix for papersprites. 2019-10-13 11:53:53 +01:00
MascaraSnake
86a77b4886 Only apply NiGHTS draw distance to hoops, because it turns out they're pretty much the sole cause of NiGHTS lag 2019-10-11 21:02:11 +02:00
Jaime Passos
2740711092 png fix yes so cool 2019-09-29 19:10:49 -03:00
Jaime Passos
41ff5ef79c sprite2info soc yummy yummy yes 2019-09-29 19:03:10 -03:00
Jaime Passos
61f29c9dd6 Giant mistake 2019-09-29 14:12:53 -03:00
Jaime Passos
e07c7aae2c I want to be able to stack skins in a sprite2 block 2019-09-29 12:41:15 -03:00
Jaime Passos
12fd1849bd change comment and error message 2019-09-29 12:16:38 -03:00
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