Commit graph

135 commits

Author SHA1 Message Date
toaster
b1e02467bf Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01:00
toaster
d7f8d4507a Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/sounds.c
#	src/sounds.h
2018-09-22 23:11:14 +01:00
toaster
dc0144540b // if this doesn't work i'm removing papersprites
(check both the left and right side overflow of the sprite column being drawn)
2018-09-09 13:47:49 +01:00
toaster
f887ae6628 Watertight fix I was avoiding because it's definitely slower to check ranges at runtime, but papersprites are used intermittently enough that I don't think it's a super big deal. 2018-09-08 12:12:28 +01:00
toaster
baf50a1dbf * Slightly more papersprite stability!
* Slightly more sane Minecraft item scaling!
2018-09-07 14:26:00 +01:00
toaster
b505ea43f0 Merge branch 'sonicitems' into encore 2018-08-26 12:45:02 +01:00
toaster
08a23d7b87 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2.git into sonicitems
# Conflicts:
#	src/g_game.c
#	src/v_video.c
2018-08-26 12:42:55 +01:00
toaster
973b3c3f5e Continuing my recent streak of making random lighting/colormap-related fixes to long-standing bugs:
* Fix that thing where ALL transparent FOF planes were continuously fullbright unless encased in a fog which disables sprite fullbrightness, which was long-hated by many people in the community!
	* For backwards compatibility, setting flag 1 in that fog field (which is probably the most common "in-the-wild" usage of this feature) will continue to make objects un-fullbright.
	* For situations where you desperately want the behaviour to be enabled, you can apply fog flag 2.
* Change the fadestart and fadeend range in which colormaps are generated.
	* The problem HERE was that the darkest light level reached by generated colormaps was actually slightly brighter than the darkest level reached by normal colormaps.
	* The typo I fixed does have SOME basis in fact - standard colormap lumps are 34 (33 in 0-indexing) long rather than 32 (31), but whoever wrote this didn't realise that the code for generating them didn't do it DooM style, just bright-to-dark with no extras on the end...
2018-08-25 16:46:45 +01:00
toaster
500b71c0b3 More control over what stuff get Encore mapping applied to it, with sensible defaults so you don't have to do much to your map to get it to be supported!
* Objects!
	* Gone is the arcane, difficult-to-remember list of random flags. Say hello to MF_DONTENCOREMAP!
	* Alternatively, if the object has a skincolour applied to it, it isn't encoremapped either. (Useful for ghosts, for example.)
* Sectors!
	* The autodetecting of sneaker and spring panels is now much more intelligent, and only avoids remapping the plane(s) the effect is availible upon.
	* Sector special group 2 no. 15 is now "Invert Encore Remap". It inverts the above detection.
* Linedefs!
	* The "Transfer Line" linedef flag can now also be used to deny Encore remappings on linedef textures.
	* Right now it applies to every pixel drawn specifically belonging to that linedef, but if people decide it needs changing, we CAN make it apply to midtextures only (like linedef types 900-910).
2018-08-10 19:31:30 +01:00
toaster
bd78c34b99 Encore mode - a fresh take on mirror mode!
* Palette remaps.
* Branding.

TODO:
* Doesn't work in GL. (Mostly.) I have SOME ideas on how to tackle this, but...
* Transmaps are broken in Encore for some reason.
* I tried to make in-level colormaps shimmy over, but it didn't quite work, so I commented it out and only semi-fixed it.
2018-07-23 23:50:41 +01:00
TehRealSalt
ec0c358755 Merge branch 'master' into sonicitems 2018-07-08 17:51:44 -04:00
toaster
97348beb66 Fix all compilation errors (tested using DEBUGMODE=1 and ERRORMODE=1) that remain outstanding. Notably:
* Remove FUNCMATH from all void-returning functions, given GCC80 specifically complains about this case.
	* Extend the length of all extant buffers to the safety threshold recommended by the compiler.
	* Add void casts to WS_getaddrinfo's setting to prevent complaints about incompatible typecasts.
	* Extend the charsel, face, and superface buffer sizes and writes to include the null terminator. (I didn't really want to do this because it's not even particularily NEEDED, but there was literally zero way to get around the request that I could find with multiple online searches. I tried.)
2018-07-07 16:52:01 +01:00
SeventhSentinel
18f74e880a ssplayer -> viewnumber 2018-06-27 13:14:22 -04:00
SeventhSentinel
88f8b4d852 Extend mobj->colorized to work on... well, mobjs
Previously would only work on players. Now karma items should be easier to spot as intended!
2018-06-26 16:46:47 -04:00
TehRealSalt
9b3751b30c Merge branch 'master' into sonicitems 2018-06-07 19:39:45 -04:00
TehRealSalt
babc8be5da Flags for only drawing an object on one person's screen, for juicy Boo splitscreen support
(also more item changes from last night that I just forgot to commit earlier)
2018-06-06 18:36:39 -04:00
TehRealSalt
375f9a9291 Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/d_netcmd.c
#	src/g_game.c
#	src/k_kart.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_map.c
#	src/p_user.c
#	src/sounds.c
#	src/sounds.h
#	src/y_inter.c
2018-03-12 00:58:13 -04:00
TehRealSalt
53ef60584b Adjusted Sonic's stats
(also made new characters default to 5-5 instead of using Sonic's stats)
2018-03-05 20:14:50 -05:00
TehRealSalt
d9c49d9527 Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/dehacked.c
#	src/hardware/hw_main.c
#	src/info.c
#	src/info.h
#	src/k_kart.c
#	src/p_enemy.c
#	src/p_user.c
#	src/r_things.c
2018-02-05 19:08:49 -05:00
TehRealSalt
cbff4bbf44 So much
- Renamed fucking everything
- Threw out all of the item code because it looks at me funny
2018-02-05 18:55:52 -05:00
Sryder13
4b06594dd0 Star colormap is decided to be used per mobj with mobj->colorize
Star creates afterimages that are colorized and fullbright
Star makes the player fullbright
2018-02-05 00:00:36 +00:00
Wolfy
36439da320 Resurrect the minimap
Still kinda broken.
2017-12-18 18:07:38 -06:00
TehRealSalt
fc9d426660 More stuuuuff 2017-12-17 01:21:24 -05:00
wolfy852
37448a3e92 Merge remote-tracking branch 'remotes/origin/battle' into multi-admin 2017-11-20 21:49:42 -06:00
Wolfy
25599ff813 Multiple admins 2017-11-10 23:34:37 -06:00
TehRealSalt
d3e888cc44 Merge remote-tracking branch 'refs/remotes/origin/master' into battle
# Conflicts:
#	src/d_player.h
#	src/k_kart.c
#	src/k_kart.h
#	src/lua_playerlib.c
2017-11-05 02:16:39 -05:00
Sryder13
81a077b9af New player frameangle used instead of mobj angle for players
Set to mobj angle except when spinning where it's set to spin
Only 1 spin frame needed now
2017-11-04 14:07:53 +00:00
TehRealSalt
4a02e166a1 Merge remote-tracking branch 'refs/remotes/origin/master' into battle 2017-10-26 19:39:02 -04:00
Sryder13
8742b3b2d9 Star power translation tables
Redid the part that handled the regular kart translation tables too, now uses the new table created instead of the horror of what was there before
2017-10-26 20:04:05 +01:00
TehRealSalt
e7de9502ba Balloon error fix, and papersprite fix 2017-10-23 17:27:00 -04:00
TehRealSalt
94aedc1f78 Change color in menu, replay support for specific staff ghosts
Todo: replace the vague number with the demo's recorded player name
2017-10-20 22:01:07 -04:00
TehRealSalt
b66fc2f5ac Ported this fix from internal 2017-10-18 18:14:49 -04:00
TehRealSalt
727d55b64e Merge remote-tracking branch 'refs/remotes/srb2public/public_flatsprite' into zarrotsu
# Conflicts:
#	src/doomdef.h
2017-10-17 00:40:38 -04:00
Alam Ed Arias
459d8064ee Merge branch 'master' into public_flatsprite 2017-05-12 20:42:55 -04:00
ZTsukei
8dd47ef983 v1.3.08 - The Fat One
--------
Driftboost formula changed to:
49 + player->kartspeed*2;
(No longer factors weight from previous version)
Collision code now factors character weight for players.
Collision code now only plays the collision sound once, rather than per player.
Weight now factors into drifting's base value. A heavier character will drift more straight with no input and have less control.
Added a cheat check in SetPlayerSkinByNum(), to force speed and weight within the boundaries of 1 and 9.
Nerfed orange turbo to 50 frames, down from 60.
2017-04-18 21:04:56 -04:00
Monster Iestyn
b0f4bbb44b Played TD's Stormy Streets enough to know precipitation sprites didn't get an overflow test of their own
(various large invisible blocks used in the level cause rain to make splashes high above the main level, high enough to make ghostly rain splash sprite artifacts appear sometimes in nearby areas)
2017-03-02 19:37:21 +00:00
ZTsukei
226e7ead59 DevEXE version 1.1.00: Added some MD5 checks, increased md2 triagle limit, temporarily disabled magnet 2017-02-20 20:08:24 -05:00
Sryder
68d439a783 Merge branch 'upstream/next' into zarrotsu_vanillamerge
# Conflicts:
#	src/Makefile
#	src/doomdef.h
#	src/hardware/hw_main.c
#	src/p_mobj.c
#	src/p_user.c
#	src/r_segs.c
#	src/sdl/i_video.c
#	src/win32/win_sys.c
2017-02-17 20:14:55 +00:00
ZTsukei
580f909c6c Added Accelcode, start boosting, reverted drifting, etc. 2017-02-07 17:19:58 -05:00
Monster Iestyn
f5f2542849 Go through all the polyobjects to find leftover polyobj planes to add to the draw nodes list
I'm convinced there's going to be some stupid side effects from doing this, but it's the quickest way I can fix the polyobj planes not all appearing anyway
2016-11-16 17:50:44 +00:00
Monster Iestyn
ff0b1d1dfa Split polyobj plane drawnode-creating code from ds->maskedtexturecol code, and add plane bounds checking 2016-10-11 22:35:46 +01:00
toasterbabe
a587231aa4 Crash fix ported from internal. 2016-08-26 22:00:53 +01:00
toasterbabe
e8d65f0b54 GCC 4.6 and lower fix 2016-08-22 23:39:27 +01:00
toasterbabe
e42885a23c Forgot to do this. 2016-08-22 23:01:36 +01:00
toasterbabe
c5675c0725 Merge branch 'new_spriteframe_angle' of http://git.magicalgirl.moe/STJr/SRB2.git into public_flatsprite
# Conflicts:
#	src/r_things.c
2016-08-22 22:56:30 +01:00
toasterbabe
2a74ea07ee Chee wanted paper sprites' code, so here it is for the public to see.
Note: Won't compile. Need to merge in the NAMEcLcR stuff first, let me do that.
2016-08-22 22:54:30 +01:00
ZTsukei
4112d44529 Some Color code, Kart powers 2016-08-11 21:42:16 -04:00
Wolfy
8561a6b413 Merge branch 'sprite-loading-tweaks' into 'master'
Fix R_AddSingleSpriteDef's I_Error messages

Whoops, seems I forgot about this little branch. Basically this fixes how for a character's sprites, a full sprite lump name is displayed instead of just its sprite prefix in the "R_AddSingleSpriteDef: No patches found for [sprite prefix] frame [frame character]" message (unlike when it occurs for non-character sprites), resulting in something like "R_AddSingleSpriteDef: No patches found for PLAYC2C8 frame \^" which does NOT help custom character authors at all as it just confuses them instead. (for the record, the problem would actually with the ^ frame and not the ones displayed after "PLAY")

Oh, and the same problem is also fixed for this similar message: "R_AddSingleSpriteDef: Sprite [sprite prefix] frame [frame character] is missing rotations"

See merge request !95
2016-08-07 16:33:15 -04:00
ZTsukei
e4a970f894 Starting from scratch. SRB2 v2.1.15 2016-07-06 00:10:19 -04:00
toasterbabe
41b35a923f Gave the new flag-based system for sprite angles actual flag names instead of relying on magic numbers.
Also, I did a wee smidgen of reorganisation.
2016-06-16 14:20:03 +01:00
toasterbabe
f08e996e76 MI corrections 2016-06-16 01:37:48 +01:00
toasterbabe
b1ab36561d Forgot to stage this, woops. Adds special casing to prevent the I_Error and makes the behaviour of the cL/cR more consistent in general such that it matches my description. 2016-06-16 01:20:35 +01:00
toasterbabe
52bf13367f New rotation functionality.
* NAMEcL refers to a frame which is seen for the entirety of an object's left side.
* NAMEcR refers to a name which is seen for the entirety of an object's right side.
* NAMEcLcR does both sides.
* Having just a NAMEcL requires you to fill in the opposite side either with NAMEcn where n is 1 and 5 to 8 OR fill in with a NAMEcR
* Switches down the centerline of the object instead of at the ANGLE_202h interval for normal sprites.
* Characters were selected for 1) ease of use and 2) not getting in the way of adding support for zdoom's totally bananas 16-way sprite system at a later date if we so choose
2016-06-16 00:59:54 +01:00
Monster Iestyn
5fd87351a8 Place precision of 4 on sprname string in the I_Error messages, so that you just get "PLAY" instead of "PLAYC2C8" or "PLAYA0" etc
This is so custom character creators won't get confused by having two different frames shown in the same message anymore, bleh
2016-06-13 22:52:20 +01:00
Alam Ed Arias
2c8008e11e NULL checks 2016-06-13 10:07:10 -04:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Inuyasha
7c79bbc0b3 Proper overflow checking, applied to FOFs and midtex's too
This fixes the annoying flickering when you pass by water, FOFs, tall grass, etc.
2016-05-02 05:29:30 -07:00
ZTsukei
d909f25cf6 r_things.c, and connective stuff for face graphic loading. Cobbled a quick-fix together for the minimap icons, may or may not work. 2016-04-24 15:59:26 -04:00
Monster Iestyn
7830a9e27b Splitscreen fix: half of GFZ1's invinc monitor should no longer appear above the bridge for player 2
I don't know if there's any other vid.height/viewheight confusion like this around, but that was the cause apparently
2016-04-10 20:27:55 +01:00
Monster Iestyn
69a58d8369 Fix lighting parity between resolutions for sprites and FOFs 2016-04-05 15:33:55 +01:00
Alam Ed Arias
f84d76c683 Merge branch 'next' into portal-fix 2016-03-30 20:43:25 -04:00
Alam Ed Arias
51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias
d90536967d removed/remline ununsed code 2016-03-30 14:05:07 -04:00
Alam Ed Arias
b173c3e31e Merge branch 'next' into portal-fix 2016-03-07 16:44:59 -05:00
Monster Iestyn
ffa9a4e056 Removed the removal of SF_SUPER from skins other than Sonic
# Conflicts:
#	src/r_things.c
2016-02-29 01:16:17 -08:00
Monster Iestyn
dabc4415af Fix crash caused by drawing scaled, mirrored sprites semi-covered on the left side by portal edge
I suspect this crash was possible even outside the context of portals, but whatever
2016-02-13 18:11:50 +00:00
Monster Iestyn
ae2b1e8ea1 Use <= instead of ==, so that sprites for second-tier portals and beyond still display
thx Red for spotting this
2016-02-06 21:06:52 +00:00
Monster Iestyn
166fafd717 Fixed div-by-zero crash relating to portals, drawsegs and midtextures
Had to remove Red's scale hack in order to do so, because it utterly fails when the drawseg doesn't actually belong to the portal in the first place.
2016-02-06 18:57:26 +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
049689334d large dispoffset values no longer cause sprites to be distorted
more detailed description: vissprites now store dispoffset in a separate variable from (y)scale, and uses it to influence order between sprites without it affecting the actual drawing of the sprites themselves
2016-01-13 22:50:14 -08:00
Monster Iestyn
8cad9a6dc8 We can compile the slopes code now, yay! My brain hurts.
Compiling errors fixed in this commit:
* Various cases of mixed declaration and statement code
* Implicit declaration of slope functions (read: you forgot to put "include "p_slopes.h" in MORE than a few places)
* an odd case of a bad fixed_t to float typecase, cause by using P_GetZAt directly inside FIXED_TO_FLOAT
* a few minor cases of bad unsigned-signed comparisons
* no prototypes for some of the new slope functions. For goodness sake Red, this is basic stuff!
2016-01-03 10:30:36 -06:00
RedEnchilada
1376f399d3 Sprite lighting obeys the slope overlords now 2015-05-18 00:23:44 -05:00
RedEnchilada
e83844796e Proper sorting fix for sloped FOFs and sprites 2015-05-17 21:49:13 -05:00
RedEnchilada
780c568aaf Fix sprite-to-plane sorting on sloped FOFs 2015-05-17 12:03:52 -05:00
RedEnchilada
3644d4d883 Minor code cleanup around renderer gunk
(Who let that silhouette == 1/etc thing sit there all those years? :V)
2015-04-30 00:41:29 -05:00
RedEnchilada
1078be3c30 Insert polyobject planes into their proper spot in the draw list; replace related hack with other hacks 2015-04-06 11:22:27 -05:00
MonsterIestyn
6cff0bba70 Base draw distances on viewx/viewy coordinates, NOT the player object's coordinates (this can cause problems with things like skyboxes for instance). Splitscreen's player 2 should not affect what sprites player 1 can see, and vice versa! Especially not for precipitation, that just looks ridiculous.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9041 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
Alam Ed Arias
73b3287b19 SRB2 2.1.14 release 2015-01-01 14:50:31 -05:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias
02a3b0776c SRB2 2.1.7 release 2014-04-14 01:14:58 -04:00
Alam Ed Arias
1b0b9fa537 Merge branch 'master' of https://github.com/ilag11111/SRB2
With whitespace fixup
2014-03-28 11:58:35 -04:00
ilag11111
544682f140 Proof of concept fix for Sonic not being MD2-able 2014-03-27 18:04:03 -07:00
Alam Ed Arias
2fed5d1270 SRB2 2.1.3 release 2014-03-18 13:56:54 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00