Commit graph

192 commits

Author SHA1 Message Date
Jaime Passos
a6f2e8b9c6 Implement relative and absolute sprite offsets for objects (mobjs)
Added RF_ABSOLUTEOFFSETS and RF_FLIPOFFSETS
2020-10-13 12:57:36 -03:00
Jaime Passos
e8dd79e5e2 Improve sorting between sprites and floor sprites 2020-10-13 02:24:18 -03:00
Jaime Passos
37ed2a6b26 Support spritexscale and spriteyscale in OpenGL
Fix papersprite scaling with spritexscale and spriteyscale in Software
2020-10-12 17:25:18 -03:00
Jaime Passos
b4b4738c94 Changes to sprite rendering:
- Added render flags (see r_defs.h)
- Implemented floor splats
- Drop shadow sprite rendering through render flags
2020-10-12 00:13:22 -03:00
Jaime Passos
7bc4af41ab Merge branch 'pictureformats' into patch-stuff-again-2 2020-08-15 20:48:28 -03:00
Sally Coolatta
dfd733eb80 Up to screen.o
Lots of renderer files I didn't need to touch at all here :)
2020-08-15 00:55:30 -04:00
Sally Coolatta
f9ca40e673 Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
Sally Coolatta
3f1d58754e Merge r_things.c/h
Includes r_skins, obviously, but also a little bit of m_cond to make availabilities better for kart's purposes
2020-08-08 19:08:19 -04:00
Sally Coolatta
ef2579f2b3 Merge branch 'master' into draw-flags 2020-07-20 13:38:48 -04:00
Latapostrophe
cab9c2a139 Merge branch 'v2-master' into followme-internal 2020-06-07 23:56:32 +02:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Jaime Passos
c69a4f9ced Merge remote-tracking branch 'origin/next' into pictureformats 2020-05-15 01:34:54 -03:00
Latapostrophe
2bee969c6a Add follower bubbles with the BUBBLESCALE field 2020-05-11 00:16:13 +02:00
Sally Coolatta
22afa68651 Rivals system
You can input a predetermined list of rivals for each character, up to 3. In S_SKIN: `rivals = sonic,tails,knuckles`. Can support skin names from addons without throwing warnings.
2020-05-09 21:55:50 -04:00
Latapostrophe
766f7f035f Let followers change colour separatly from players 2020-05-04 18:08:41 +02:00
Latapostrophe
63485c3dbe Merge branch 'v2-master' into followme-internal 2020-05-03 22:37:26 +02:00
Latapostrophe
4c8d373962 Fix followers in anti gravity 2020-03-29 16:40:21 +02:00
Latapostrophe
4c1459cd4e Chaos Conflicts 2020-03-29 12:14:27 +02:00
James R
1b6256bd89 Use the 2.2 frame characters 2020-03-28 20:57:27 -07:00
toaster
c74dde0f0f Minor optimisations surrounding R_DrawFlippedMaskedColumn.
* Replace the texheight parameter provided directly to it with a previously existing (now renamed) global used for the same purpose, so that it can be used as an interchangeable function pointer with R_DrawMaskedColumn.
* Using the above, optimise R_DrawVisSprite to call a function pointer in a tighter loop rather than check SC_VFLIP each time around.
* SHORT macro can involve repeated operations; calculate once and put in memory for both RANGECHECK and papersprite.
* Remove irrelevant range check (already covered by existing range check immediately above) from R_DrawFlippedMaskedColumn and R_DrawMaskedColumn.
* "Warning: avoiding a crash in %s %d" is a terrible error message, and it chips away at the tightness of the loop just for something most people will never see printed. Replace with a PARANOIA I_Error in case someone actively wants to go hunting for its cause.
2020-03-26 16:09:19 +00:00
Monster Iestyn
34c4da018a Reorganise r_things.h 2020-03-08 21:17:30 +00:00
Monster Iestyn
9013398151 Create r_skins.c/.h, to contain skins code formerly in r_things.c/h 2020-03-08 19:32:07 +00:00
Jaime Passos
81a57d5fac Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
Sally Cochenour
18637b9eb2 2.2 shadow port 2020-03-01 22:12:50 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
b0ce2e088f Merge remote-tracking branch 'origin/next' into pictureformats 2020-02-19 02:25:36 -03:00
James R
ff2ec925ee Merge remote-tracking branch 'origin/master' into next 2020-01-30 23:54:56 -08:00
Jaime Passos
41840f6375 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-20 16:53:41 -03:00
James R
a1a6956618 Duplicated code is gone, so sad 2020-01-17 20:53:36 -08:00
fickleheart
ad9bec06e6 Merge remote-tracking branch 'upstream/next' into software-dropshadows 2020-01-11 17:09:57 -06:00
Monster Iestyn
54f1cd601e Merge branch 'master' into next 2020-01-11 18:38:09 +00:00
Jaime Passos
a6472c2ffb Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-10 04:11:26 -03:00
fickleheart
9df5d1d0e3 Refactor shadow floor finding code a bit
I tried to fix ring shadows on polyobjects and got this in return:
https://media.discordapp.net/attachments/629477786943356938/664695818913185822/srb20156.png
2020-01-08 23:19:52 -06:00
fickleheart
d1793e8952 Stop misusing papersprite vars for sprite skew 2020-01-08 21:52:10 -06:00
fickleheart
0ea9b26b97 Prevent linkdraw sprites from connecting to shadows 2020-01-08 21:37:38 -06:00
fickleheart
4fcae66242 Make papersprite projection completely correct in software
I heard properpaper had some weird crashes? I couldn't reproduce
them no matter how hard I tried, but I added some bounds checking
to this version too just in case. Gotta get other people's help
to try to reproduce those.
2020-01-08 21:14:07 -06:00
toaster
336b6ad85e Hexafaceted sprite angle support (See merge request description coming soon).
Also, some minor memory efficiency fixes to both rotsprite and ordinary sprite rotations.
2020-01-08 20:49:14 +00:00
Jaime Passos
4e0810e8a3 Picture formats test 2020-01-06 18:22:23 -03:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
7f4df99b2d Hopefully the last time this week I'll ever touch these files 2019-11-06 20:41:55 -03:00
Jaime Passos
1c46be78af add r_patch.c 2019-10-28 15:28:42 -03:00
Jaime Passos
41ff5ef79c sprite2info soc yummy yummy yes 2019-09-29 19:03:10 -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
e2ce3988fb Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -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
Jaime Passos
402012e973 I 2019-08-18 14:16:48 -03: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
Nev3r
da09a07e6e viewx/viewy also need to be stored/restored. 2019-06-06 13:31:48 +02:00