Commit graph

126 commits

Author SHA1 Message Date
Sally Coolatta
24132a9dcd Use C++ templates for DrawColumn/Span
Two reasons:
- Makes it more straight-forward to add brightmaps to the non-power-of-two rendering functions.
- Made it easier to split off brightmap rendering. Hopefully improves performance, but I haven't thoroughly tested this.
2024-01-11 01:50:46 -08:00
Eidolon
68a8f2b274 Multithread software drawing 2023-10-14 15:26:52 -05:00
James R
5415674034 debugfinishline: highlight deathpits and instakill planes 2023-10-04 20:17:31 -07:00
James R.
72ef1d352b mobj_t: add shadowcolor member to change shadow palette index 2023-09-17 21:56:17 -07:00
Sally Coolatta
867253540c Sonic 3-style intermission coloring
Not just tan, but blue & a tiny bit of green!
2023-09-07 16:19:37 -04:00
James R
b1782793b5 R_GenerateBlendTables: allocate copy of palette for use in thread
The palette can be freed while this thread is still
running, which means the thread would end up reading from
freed memory.
2023-08-28 01:55:37 -07:00
James R
53b2922fbb Add the debugrender_highlight command, highlight specific rendering in flat colors
Software mode only.

The command is used like this:

debugrender_highlight planes sprites
debugrender_highlight pl spr
debugrender_highlight none

(Abbreviations work.)

Supported rendering to flag:

planes      - sector floor/ceiling
fofplanes   - FOF top/bottom
fofsides    - FOF sides
midtextures - pegged midtexture
walls       - sector upper/lower texture, one-sided linedefs
sprites     - sprites
sky         - skybox
2023-03-06 05:25:36 -08:00
James R
051b4f8935 Always use typedef name instead of struct name
mobj_t instead of struct mobj_s
2022-11-27 17:21:40 -08:00
toaster
32855d0e92 Make subtractive blendmodes non-gamma-corrected
Committed FOR TESTING. Do not merge until we've tested to make sure this works across all desired effects
2022-11-19 23:01:49 +00:00
Sally Coolatta
b5334e6b42 Move follower code to its own file 2022-05-23 00:23:46 -04:00
toaster
0c12a389e1 NPO2 slope span optimization
# Conflicts:
#	src/CMakeLists.txt
#	src/r_draw.c
#	src/sdl/Srb2SDL-vc10.vcxproj
2022-03-18 16:18:47 +00:00
Sally Coolatta
b0317e7120 Merge branch 'master' into brightmap 2021-12-16 13:06:57 -05:00
Sally Coolatta
daab86f461 Implement brightmaps for span drawers, fix column loop bug 2021-12-16 11:48:32 -05:00
Sally Coolatta
04c1a9dcb1 Brightmaps on walls 2021-12-16 09:40:14 -05:00
James R
29399f6033 Send R_GenerateBlendTables number crunch to parallel thread 2021-12-15 15:34:51 -08:00
Sally Coolatta
cb5ea8b335 Add basic damage hitlag effects
- Invert high contrast greyscale colorization effect for damage hitlag
- Jitter is now also exclusive to damage-related hitlag
- Since jitter is now just tied to a flag, removed the old trick momentum hack
2021-11-27 13:38:45 -05:00
James R
08348fcd43 Merge remote-tracking branch 'srb2/next' 2021-04-05 01:26:17 -07:00
toaster
e27506c660 * Made it possible to perform palette calculations in gamma-corrected space. Now used by:
* Blend tables generated by the game.
    * The Color Cube accessibility tool.
* Fixed another stupid typo that got in the way of FF_BLENDMASK working.
* Some minor adjustments for code cleanliness.
2021-04-01 19:28:01 +01:00
toaster
8b63908820 More precise translucency amount picking. 2021-04-01 12:41:04 +01:00
toaster
cf59809852 Fixed some of the worst of it, but still has inconsistencies with the lookup tables we generated for main.kart - will provide evidence on Discord.
(side note, it's weird as hell that code we inherited from vanilla next - and i checked, it wasn't mangled in the merge - has bugs that straight up prevent it from functioning properly...)
2021-04-01 00:05:05 +01:00
toaster
40cbc30bff Mammoth commit, sorry.
All my work thus far on solving the drawflag/renderflag/additive/subtractive conundrum.

Outstandng problems:
* Bad additive/subtractive tables means that they appear opaque except under certain conditions.
* No support for FOFs, Polyobjects, or linedefs in OpenGL yet.
* All OpenGL support mostly done blind, may or may not function in practice.

If nothing else, the hard engineering problems are solved and it's just bug hammering...
2021-03-31 22:46:23 +01:00
Jaime Ita Passos
049b50a791 Change I_Error message 2021-02-28 17:47:12 -03:00
Jaime Ita Passos
f71281b498 Fix translation colormap cache rebuilding using the old translation enumerations
This was causing a buffer underwrite too. Lovely.
2021-02-28 17:05:25 -03:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
Jaime Passos
cac8e06e7d Remove NOWATER define 2020-11-05 00:00:08 -03:00
Jaime Passos
917f8bbb66 Plane optimization and cleanup 2020-11-04 23:46:34 -03:00
Jaime Passos
cdc4a6d86e Implement blend modes 2020-10-27 00:03:41 -03:00
Sryder
b341cacb0a Subtractive translation map 2020-10-19 11:57:12 +01:00
Sryder
5558fb073a Basic additive transmap/blend support
Can currently be used on sprites only
added to flames by default because it makes sense
2020-10-18 19:10:19 +01: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
James R
997d142cb5 SPLITSCREEN FOV
Object tracking is off, but it was off before so I don't know if I actually
broke it. Minor refactoring in HWR_RenderPlayerView and HWR_RenderSkyboxView.
2020-09-23 17:50:47 -07: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
d5397935cd Merge r_draw.c 2020-08-10 15:01:57 -04:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
Sally Coolatta
d27f16c4d5 A bunch of easy files (1-5 conflicts)
g_state.h, hu_stuff.h, lua_hud.h, m_misc.h, p_polyobj.c, p_telept.c, r_draw.c, r_draw8.c, r_sky.c
2020-08-05 14:34:17 -04:00
SwitchKaze
4184d83ef2 Fix skincolor-related memory leak 2020-07-14 17:09:31 -05:00
kaysrishaq
be8f10d039 various color fixes 2020-07-12 07:39:52 -04:00
Latapostrophe
6ac63cca7a Merge branch 'v2-master' into followme-internal 2020-06-02 22:21:16 +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
SwitchKaze
58cac1fd73 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
SwitchKaze
afe56667b8 Update to 2.2.4 2020-05-22 16:47:51 -05:00
Sally Coolatta
b4f5d931cc Skincolor code cleanup
Split everything off into its own file and turn SETBRIGHTNESS from a define into a function (K_ColorRelativeLuminance).
2020-05-11 02:28:25 -04:00
Latapostrophe
3f43107eea Add Opposite option for followercolor 2020-05-09 12:12:29 +02:00
Latapostrophe
766f7f035f Let followers change colour separatly from players 2020-05-04 18:08:41 +02:00
James R
ae3bf2498a Merge branch 'supergoldedit' into 'next'
Change SKINCOLOR_SUPERGOLD1-5

See merge request STJr/SRB2!805
2020-04-09 19:50:06 -04:00
Louis-Antoine
4e7605f0e2 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
James R
f164320c88 Make the order of displayplayers irrelevant and split splitscreen into splitscreen and r_splitscreen 2020-02-23 23:20:20 -08:00
Snu
8796517177 Merge branch 'master' into supergoldedit 2020-02-23 17:57:39 +00:00
SwitchKaze
99a1840101 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00