Commit graph

214 commits

Author SHA1 Message Date
Sryder
6de0cc6bcc Remove the OpenGL only code from V_DrawPatchFill
That's all of the HUD drawing functions that are currently used updated in GL.
2018-03-17 14:47:06 +00:00
toasterbabe
33d5baa2aa * Add new console text colours - sky, purple, aqua, peridot, azure, brown, rosy, and invert.
* Remove redundant check from V_DrawFadeScreen().
* Clean up potential endless sound source in Race HUD.
2018-03-02 13:32:55 +00:00
Monster Iestyn
80e18ecb7e Cache all the act number graphicss at game startup rather than at every start/end of a level
I also added a few helpful functions for drawing the act numbers themselves
2018-02-22 21:49:36 +00:00
toasterbabe
da3f8ceb8d * Move the non-mapping drawFill out of the source code function and into the Lua interface.
* Add a drawFill fallback for COLORMAP too.
* Correct a few index mishaps.
2018-02-12 18:23:57 +00:00
toasterbabe
c1b48ea79f * Total overhaul of V_DrawFadeScreen(color, strength!
- controllable strengths between 0-31 for COLORMAP lump like before
   - arbitrary colour indices in the palette via TRANSMAP lumps, with strengths 0-9
   - exposed to Lua as v.fadeScreen(color, strength)!
* Remove last vestiges of V_STATICPATCH.
2018-02-12 17:47:31 +00:00
toasterbabe
dca107f630 * Update V_DrawCroppedPatch and V_DrawFill to support V_PERPLAYER.
* Fix some mistakes in the comments for v_video.h.
2018-01-21 12:56:38 +00:00
toasterbabe
2141754e54 V_PERPLAYER. (Hooh boy.)
* Completely redid how splitscreen works, with eventual support for quads. Squish per-player stuff automatically into the right places! Works in GL, associated flag kills V_SPLITSCREEN.
* Seriously update the lives-drawing function for all gametypes, with strings that replace the lives number whenever it's missing (deprecates SKINNAMEPADDING).
* Improved how the nosshack works, alongside many other refactorings.
2018-01-20 22:14:24 +00:00
toasterbabe
9a10dfeaee Replaced the laggy randomised-at-runtime static with sufficiently random low-impact pregenerated static. Requires new patch.dta. https://cdn.discordapp.com/attachments/293238104096112641/372770688890830859/srb20003.gif 2017-10-25 16:40:21 +01:00
Alam Ed Arias
f1a347e55f Merge branch 'public_next' into master 2017-09-28 11:01:20 -04:00
Alam Ed Arias
2ccd397d11 Build: kill GCC 7's implicit-fallthrough warning 2017-09-28 09:39:47 -04:00
toasterbabe
a81c3ca115 Update V_DrawCroppedPatch to match V_DrawFixedPatch's fixes. 2017-08-23 17:41:16 +01:00
toasterbabe
1e71b6d746 woops lmao 2017-08-22 21:12:02 +01:00
toasterbabe
8d78d32d64 * Fix an issue where valid savefiles would be hidden because there were at least three unused slots between that and the last visible save. In the process, made sure there were at least three slots visible at all times, but never show extras not needed to show all the saves.
* Optimisations in a bunch of places, including to static
* Fix some visual errors with text and patches near the edges of the screen in non-standard resolutions.
2017-08-22 21:02:33 +01:00
toasterbabe
706eb5efeb * New, pretty save select! Requires patch.dta to really appreciate.
* Changed the save format a little more, since I had free reign over it.
* Modified the string drawing functions to not awkwardly clip at the very edges of the screen, considering the relevant patch drawing functions avoid out-of-range memory writes.
2017-08-20 23:18:47 +01:00
Monster Iestyn
cefd92fc8e Merge branch 'master' into opengl-improvements 2017-05-31 15:18:42 +01:00
toasterbabe
5180bff05b Fix typo. 2017-05-01 11:40:02 +01:00
toasterbabe
d669a4e84a Introducing pMasterPalette.
Used instead of pLocalPalette when attempting to determine objective truths, such as "the colours of this gif without color profile modification" and "what indicies should this colormap remap to".

Also, made f_wipe.c's paldiv only get calculated once.
2017-04-30 22:18:06 +01:00
toasterbabe
9affcd98cb Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-30 10:46:53 +01:00
Monster Iestyn
5608c4b4e7 Merge branch 'public_next' 2017-04-26 16:17:29 +01:00
toasterbabe
922603fbca Fix V_DrawCroppedPatch's handling of topdeltas. 2017-04-24 20:39:32 +01:00
Monster Iestyn
7f7c7c58ab Use less-than, not less-than-or-equals, since deststop is off-screen 2017-04-24 17:41:50 +01:00
toasterbabe
29d5af61c1 Correcting gamma to match base SRB2. 2017-04-20 13:15:32 +01:00
toasterbabe
c3840ba01d Colour Cube Calibration Menu! (called "Advanced Color Settings" because No Fun Allowed...)
https://cdn.discordapp.com/attachments/237798387070664724/304343382073933824/aa.png

Also, a "Reset all" button for the Monitor toggle menu, a ton of new cvars to match up with the colour cube calibration, and a bunch of variable renames related to colour cube operations.
2017-04-19 22:24:28 +01:00
Monster Iestyn
3ff899858c Merge branch 'master' into opengl-improvements
# Conflicts:
#	src/doomdef.h
2017-04-19 14:53:50 +01:00
toasterbabe
9b13caccae greem 2017-04-18 23:40:57 +01:00
toasterbabe
c2edd6224d Figured out what was up. I didn't quite understand my original array! 2017-04-18 23:38:38 +01:00
toasterbabe
83e16da83b Introducing the Colour Cube! https://cdn.discordapp.com/attachments/293238104096112641/304015171385294850/aa.png
Basically in preperation of supporting colourblindness modes I implemented the following link when loading palettes.
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter24.html

This basically means I can do whatever the hell I want to the colour profile of incoming paletties, and nobody can stop me. Muahahahaha etc.

Also, I added a saturation feature to show off its full potential, converted gamma from a table to a factor of the calculation, tweaked some menus and made the default value of cvars show up on sliders. Because that's how I roll.
2017-04-18 23:21:10 +01:00
toasterbabe
3e29ee3f01 Closed captioning!
* Provides a helpful description for the hearing impaired, whether permanent, temporary or situational.
* Consvar "closedcaptioning", with on/off values available.
* Only works if sounds are on. This is frustrating. I will see what I can do to allow it to work with sounds off in future, but for now it's dependent in order to properly accept or decline sounds.
* Thanks to MI for making that wiki page a lot more comprehensive a few days ago.

* Weapon ring is now a seperate sfx_wepfir instead of doubling up on sfx_thok.

* Also, made V_StringWidth work with V_NOSCALESTART.
2017-04-17 01:09:47 +01:00
toasterbabe
95d89078f5 Removal of cv_allcaps for console stuff. 2017-04-14 20:43:30 +01:00
Inuyasha
5e4f960f3a fixed drawfill to be more consistent w/ other functions
doesn't draw off of the sides, and doesn't ignore snapping or widths for reasons that don't make sense
(for instance: the green bar in MI's test script showed *above* the blue one in non-green resolutions in 2.1.17)
2017-04-12 15:34:13 -07:00
toasterbabe
a66567ea0f borp https://gfycat.com/AcceptableWhiteJabiru
doesn't do anything in ogl sorry, inu might change that later but
2017-02-10 23:24:06 +00:00
Monster Iestyn
18d018b8ff Merge branch 'master' into opengl-improvements 2017-01-25 19:37:35 +00:00
Monster Iestyn
1935a2ffa6 Merge branch 'public_next'
# Conflicts:
#	src/d_clisrv.c
#	src/doomdef.h
#	src/p_map.c
2017-01-19 16:54:47 +00:00
Alam Ed Arias
0b572b6eee CMake: split inline AMS code from vid_copy.s code 2017-01-06 15:48:19 -05:00
Monster Iestyn
106e1aa8d5 Merge branch 'master' into opengl-improvements 2016-12-21 19:49:02 +00:00
Inuyasha
1ff498fcfd Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/console.c
2016-11-10 16:20:03 -08:00
Monster Iestyn
43cdcc94f9 remove commented-out HWRENDER code in V_DrawContinueIcon 2016-11-05 19:54:49 +00:00
Inuyasha
e245cdfcbf Console with moving cursor, selections, etc 2016-11-03 17:30:30 -07:00
Inuyasha
8107765677 make console back color use just one section of memory
let's be honest, it's pretty dumb to have every single possible back colormap in memory when only one is being used at a time
2016-11-02 14:26:35 -07:00
Alam Ed Arias
032313260a Merge branch 'public_next' into master 2016-05-20 17:58:57 -04:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Alam Ed Arias
fbd9cb73c3 Merge branch 'public_next' into private 2016-04-27 16:54:37 -04:00
Inuyasha
b288d8a399 Merge branch 'bp_random2' into 'next'
xorshift* PRNG

This needs testing to ensure I didn't mess anything up switching function names around.

Our PRNG sucks. This is probably obvious. I wish I had known better at the time I implemented it, but oh well.

The replacement is an xorshift* PRNG variant with period 2^32 - 1 (meaning that the PRNG state will loop after four billion calls ... that's not likely to happen), versus the old PRNG's period of about 2^22 (?). The output is also much more random and less predictable; the old PRNG would fall into a predictable loop of output after about 4000 numbers were generated, which isn't much.

The PRNG here also outputs numbers as fixed point from [0,1) (that's 0 to FRACUNIT-1, in other words) instead of single bytes at a time. This makes it much easier to calculate things for, say, P_RandomRange and P_RandomKey. A new macro, P_RandomChance(p), is now in use that returns true _p_ percent of the time, where _p_ is a fixed_t probability from 0 (0%) to FRACUNIT (100%).

This doesn't affect netgames at all; the code for seed saving and restoring is identical (aside from a check to prevent seed being set to 0, which breaks xorshift PRNGs). Demos break, but A: _duh_ and B: they're already broken by all the changes to physics to accommodate slopes.

P_Random is deprecated in Lua, as the function was renamed to P_RandomByte. Aside from that, nothing special.

See merge request !64
2016-04-24 18:03:13 -04:00
Monster Iestyn
d53801c85c Disable the corona-related consvars unless ALAM_LIGHTING macro is enabled 2016-04-21 18:50:30 +01:00
Inuyasha
50d3fe15b8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/d_main.c
#	src/doomdef.h
2016-03-31 21:17:29 -07:00
Alam Ed Arias
1c16943be8 Merge branch 'next' into bp_random2 2016-03-31 21:44:03 -04:00
Inuyasha
ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00
Monster Iestyn
3698c2583d wrap prevention code now takes flipped patches into account 2016-03-25 20:04:49 +00:00
Monster Iestyn
76d71bda92 destend now scales the added-on patch width properly if needed 2016-03-25 19:43:17 +00:00
Monster Iestyn
1e131d2786 Partial undo of what I did last commit to make Inu happy again.
Note: polyobj_t's "translucency" is apparently a SIGNED integer, so in theory it's possible to get polyobj flats to use the "spanfunc = splatfunc" line using negative values. If this is not meant to happen, this should probably be fixed asap

Conflicts:
	src/f_wipe.c
2016-01-14 16:40:55 +00:00
Monster Iestyn
734419d549 FF_TRANSSHIFT is meant for transmaps linked to states, not anything else!
I'm surprised how the source code flew in the face of this fact for so long and just used it everywhere, that's just silly.

Conflicts:
	src/f_wipe.c
2016-01-14 16:39:31 +00:00
Monster Iestyn
98ad63eb06 Partial undo of what I did last commit to make Inu happy again.
Note: polyobj_t's "translucency" is apparently a SIGNED integer, so in theory it's possible to get polyobj flats to use the "spanfunc = splatfunc" line using negative values. If this is not meant to happen, this should probably be fixed asap
2015-10-12 15:10:43 +01:00
Monster Iestyn
165aec3d34 FF_TRANSSHIFT is meant for transmaps linked to states, not anything else!
I'm surprised how the source code flew in the face of this fact for so long and just used it everywhere, that's just silly.
2015-10-11 22:23:40 +01:00
JTE
b2681984a6 Merge branch 'player-animations'
SPR_PLAY now calls up a secondary spritedef for all animations for all players. Old character wads (including player.dta) are no longer compatible.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8993 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 01:59:38 -06:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias
7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Ed Arias
c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Alam Ed Arias
f03e591f64 change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
Alam Ed Arias
2bd6573f5f grsoftwarefog is still hardware only 2014-04-09 14:52:38 -04:00
Sryder13
3fbe3d38d3 OpenGL Patch Fill Fix
Patch Fill Drawing for intermission has been fixed to loop properly in
non aspect correct resolutions.
2014-03-24 20:06:13 +00:00
Alam Ed Arias
ed72bd8fa1 SRB2 2.1.4 release 2014-03-21 19:21:06 +00:00
Sryder13
7aa960d6d5 Software Cropped Patches
Fixed the stupid error I made that was causing software to not draw
cropped patches.
2014-03-20 10:29:53 +00:00
Sryder13
ba0c93d814 MD2 & Patch drawing fixes
MD2's can be translucent again.
MD2's can use sprites instead of another random texture if they have no
texture.
Patches are drawn in the correct place on non aspect correct
resolutions.
Cropped Patches are drawn.
2014-03-19 23:10:37 +00:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00