Commit graph

208 commits

Author SHA1 Message Date
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