Commit graph

316 commits

Author SHA1 Message Date
Monster Iestyn
c7ab065b0a Merge branch 'master' into next 2020-01-11 18:38:09 +00:00
James R
dc151fc7a4 Merge branch 'accurate-papersprites' into 'master'
Accurate papersprite projection

See merge request STJr/SRB2!657
2020-01-10 16:02:23 -05:00
fickleheart
ccc473917e Check for papersprites per-sprite instead of per-row
In theory, should be a performance improvement. In practice idk
2020-01-08 21:14:11 -06:00
fickleheart
1790891fd8 Reduce disappearance of vissprites close to the camera 2020-01-08 21:14:09 -06:00
fickleheart
c0380a3052 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
d89050f073 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into public_hexang
# Conflicts:
#	src/r_defs.h
2020-01-08 21:47:47 +00:00
James R
7deb18bdc9 Merge remote-tracking branch 'origin/master' into next 2020-01-08 13:27:14 -08:00
toaster
0b1108425d 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
03245b28fd Merge remote-tracking branch 'origin/master' into more-opengl-fixes 2020-01-05 22:04:51 -03:00
Jaime Passos
6d754821fb AA trees are not needed at all for rotated patches 2020-01-05 03:10:03 -03:00
Alam Ed Arias
a26c5f5428 Merge branch 'master' into next 2020-01-03 14:56:37 -05:00
Louis-Antoine
b45ee059e3 Fix major issue 2020-01-03 02:58:23 +01:00
Jaime Passos
c7794d4ce0 Remove unused parameter 2020-01-01 17:36:55 -03:00
James R
939814d479 Merge remote-tracking branch 'origin/master' into next 2019-12-30 22:37:24 -08:00
James R
36c5bb7b0d Fix NOHW compiling 2019-12-30 20:18:08 -08:00
James R
fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
James R
152a63b682 Merge branch 'rotsprite3' into 'next'
More rollangle changes

See merge request STJr/SRB2!582
2019-12-27 16:49:21 -05:00
James R
69ad41e58e Merge branch 'skinusable-fix' into 'next'
Fix edge case with R_SkinUsable

See merge request STJr/SRB2!573
2019-12-27 16:49:06 -05:00
Jaime Passos
5ea43aa023 Fix sprite rotation crashes. 2019-12-27 00:37:40 -03:00
Jaime Passos
56fd29a42a stuff 2019-12-26 21:27:30 -03:00
Steel Titanium
f0ef4e3193 Fix edge case with R_SkinUsable 2019-12-24 18:31:47 -05:00
Jaime Passos
6779c508e7 Satisfy rollangle table with a 3deg angle 2019-12-23 12:19:05 -03:00
Jaime Passos
fa58c1fb26 stuff 2019-12-13 12:26:47 -03:00
toaster
0bd1399c52 Revert paperprojection, but keep it as a #define in case someone fixes it in a patch. 2019-12-07 10:22:10 +00:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
7c7f258c2d Another potential papersprite crash fix, but way more confident about this one. 2019-12-05 09:28:28 +00:00
MascaraSnake
e6f1b82cc4 Merge branch 'minusoneframes' into 'master'
Minus One Frames

See merge request STJr/SRB2Internal!593
2019-12-04 17:15:51 -05:00
toaster
e75490c99d Semi-hacky fix to R_AddSpriteDefs printing Added -1 frames in 0 sprites: if the start marker is equal to or beyond the end marker, none of r_things' for (l = startlump; l < endlump; l++) loops will run, so just assume no sprites.
Simply put, `W_CheckNumForFolderStartPK3` and its `End` equivalent will never return INT16_MAX for nonexistence, and I don't want to break any assumptions elsewhere by modifying those functions directly, so this is the simplest possible fix.
2019-12-03 21:05:05 +00:00
toaster
f21ebaea0c Nail a likely culprit in papersprite rendering for #427 and #375. 2019-12-01 13:21:41 +00:00
toaster
3594623891 Courteousy of fickle, an adjustment to papersprite rendering that prevents the object's x1 and x2 being slightly off where they should be. Not perfect, but absolutely better than it was!
Also, tweak the Minecart segment spawning position, since this was originally placed based on the awkward rendering.
2019-11-24 16:42:13 +00:00
toaster
66001cc73c Resolve #288.
* Fix off-by-one error I caused in the skin randomisation selection.
* Clean up signcolour set to never go outside of valid entry range.
* Fix the preventing-console-spam mechanism for invalid sprites viewed in-game by only setting the state's sprite/frame to S_UNKNOWN's if the object's sprite/frame is currenly equal to the state's.
2019-11-15 12:47:21 +00:00
MascaraSnake
8f6890025c Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
toaster
278ddcf770 Merge branch 'rotsprite_i' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into rotsprite_toast 2019-11-14 17:15:34 +00:00
Jaime Passos
8506d420a6 Optimise 2019-11-14 14:12:36 -03:00
toaster
afe28b0a0a * Remove the 22(!!) NiGHTS sprite2s that no longer get used in ROTSPRITE builds (which should be our main builds going forward).
* Rename `SPR2_NGT0` to `SPR2_NFLY`, and `SPR2_DRL0` to `SPR2_NDRL` to account for this. (requires modifying player.dta)
2019-11-14 17:03:02 +00:00
Jaime Passos
4292c5fc0b Other things I missed. Also added SF_NONIGHTSROTATION. Do I even have to keep the old behaviour? I have no idea. 2019-11-14 12:27:22 -03:00
Jaime Passos
b54f6181c3 Rotation axis (will rename internally later) 2019-11-13 12:36:44 -03:00
Jaime Passos
245881ec55 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-12 21:38:02 -03:00
toaster
5729ba3cd2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into metalrecording
# Conflicts:
#	src/p_user.c
2019-11-12 21:56:46 +00:00
MascaraSnake
66123b8165 Merge branch 'internal-md3-vanilla-c' into 'master'
Internal MD3 merge 2 good riddance glBegin

See merge request STJr/SRB2Internal!362
2019-11-12 15:44:20 -05:00
MascaraSnake
6b567bfb5c Merge branch 'dashmodecut' into 'master'
Dashmode polish

Closes #266

See merge request STJr/SRB2Internal!418
2019-11-12 15:40:46 -05:00
Jaime Passos
91a01be891 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-11 14:41:55 -03:00
James R
6ac613b2ca Move this "skin wads" check so that PK3 can work with it 2019-11-07 18:27:06 -08:00
Jaime Passos
e78999549b Hopefully the last time this week I'll ever touch these files 2019-11-06 20:41:55 -03:00
Jaime Passos
4ff769704a function renaming 2019-11-05 10:28:19 -03:00
toaster
915e50a1e4 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into internal-md3-vanilla-c
Merge seems fine, but won't compile for some reason.
2019-11-02 18:34:12 +00:00
toaster
417f17ebdd Do a bunch of stuff to the MD2/3 sprite2 support to get it back to feature parity with before, without going back to being hacky as fuck.
* Store the number of frames per sprite2 run in the spr2frames struct.
* Reintroduce P_GetModelSprite2, to allow for the sprite2 defaulting system to be used to full advantage even in GL.
* Instead of splitting the SUPER and normal SPR2 stuff within the same cell of the struct, have them exist in different cells just like in the "normal" sprite2 structs.
* Allow for just providing spr2 frames in order without specifying which "normal" sprite2 frame it's supposed to replace.

Also:
* Fix FF_VERTICALFLIP-ignoring regression.
* Fix whitespace adjustment in win_dll.c
* Remove bracket in P_GetSkinSprite2 because I realised it was extraneous while making sure P_GetModelSprite2 worked with it.
2019-11-02 17:52:54 +00:00
toaster
67f5b2245f Secret stuff. (I intend to keep candid discussion of this outside of any commits; you'll see me write up a comment describing what's going on here soon.) 2019-11-01 15:48:50 +00:00
toaster
67a99f6334 ACTUALLY applied colorized flashing for dashmode to non-SF_MACHINE players, which wasn't happening for non-transparent players because :VVV 2019-10-30 17:16:44 +00:00
toaster
1906709cf2 * Improve the Metal Sonic recording/playback system.
* Make the skin to record with Metal rather than Flesh Sonic. (Allowed even if not unlocked!)
    * Make the object that plays back the recording actually use the Metal skin, rather than just a seperate spriteset. (The boss will still need the spriteset, though.)
    * Actively record the player's sprite2, frame, and followmobj, just like regular ghosts do.
    * Disable dashmode while recording, for a fairer race.
    * Fix a probably long-standing bug where, while recording, being "hurt" would get Metal stuck in pain frames until they physically left the area of hurt.
    * Always start Metal recording in wait frames for bonus taunting.

Other relevant changes:
* Increment DEMOVERSION *again*.
* Improve the Record Attack ghost followmobj recording to accomodate Metal's jet.
* Increase the datatype width of spritenum_t read/write for Record Attack ghosts because SUGOI 4: Back With A Revengance will probably also use more than 255 sprites alone.
* Return to standing frames (or prolong them if you're in them, rather than going to wait frames) if the player rotates on the spot with enough force.
    * This was specifically done *for* Metal recording, but I decided it looked good enough to enable all the time.
2019-10-28 22:12:47 +00:00