Commit graph

298 commits

Author SHA1 Message Date
fickleheart
4fcae66242 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
Louis-Antoine
8d328d16c7 Fix major issue 2020-01-03 02:58:23 +01:00
James R
73643dafaf Fix NOHW compiling 2019-12-30 20:18:08 -08:00
Jaime Passos
518714a51a Fix sprite rotation crashes. 2019-12-27 00:37:40 -03:00
Jaime Passos
9a5876f9d3 stuff 2019-12-13 12:26:47 -03:00
toaster
3b7b788e4c 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
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
2fec610328 Another potential papersprite crash fix, but way more confident about this one. 2019-12-05 09:28:28 +00:00
MascaraSnake
0058b92a8c Merge branch 'minusoneframes' into 'master'
Minus One Frames

See merge request STJr/SRB2Internal!593
2019-12-04 17:15:51 -05:00
toaster
b08823cbfa 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
00da2b3265 Nail a likely culprit in papersprite rendering for #427 and #375. 2019-12-01 13:21:41 +00:00
toaster
155b29694c 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
1d4b4e70dd 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
9a0a85ba67 Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
toaster
d93b70ff26 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
2fa2ebe4a7 Optimise 2019-11-14 14:12:36 -03:00
toaster
a4efd441af * 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
0a44158db9 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
ae630a9a23 Rotation axis (will rename internally later) 2019-11-13 12:36:44 -03:00
Jaime Passos
24d20d2abb Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-12 21:38:02 -03:00
toaster
f7c5774b7e 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
fae4fb16e9 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
f984c28dd0 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
b078b8791a Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-11 14:41:55 -03:00
James R
97c270d0a6 Move this "skin wads" check so that PK3 can work with it 2019-11-07 18:27:06 -08:00
Jaime Passos
7f4df99b2d Hopefully the last time this week I'll ever touch these files 2019-11-06 20:41:55 -03:00
Jaime Passos
5fabd3f165 function renaming 2019-11-05 10:28:19 -03:00
toaster
2a16cf539a 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
a23e1946c4 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
b501e5b358 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
9fa49b8909 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
22b413e84c * 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
Jaime Passos
1c46be78af add r_patch.c 2019-10-28 15:28:42 -03:00
Jaime Passos
116fb2639e Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-10-28 14:29:10 -03:00
toaster
8ec1ff55d9 Make player flash colorized when dashmode if not SF_MACHINE, per Sonic Advance 2. 2019-10-27 13:07:06 +00:00
lachwright
253775fc96 Fix compile warnings 2019-10-23 13:46:30 +08:00
lachwright
a1633e9acf Allow machine skins to damage objects in dashmode 2019-10-23 13:41:32 +08:00
lachwright
24486f5cd9 Add new dashmode colormap 2019-10-21 04:37:56 +08:00
MascaraSnake
ea6b6be758 Merge branch 'bogus_requestskin' into 'master'
Fix bogus "requested skin not found!" print

Closes #247

See merge request STJr/SRB2Internal!373
2019-10-13 11:07:59 -04:00
toaster
176ee4499f Fix "requested skin not found!" print happening whenever you select an unlockable character.
Also, since I'm less paranoid now - readd the skin number to its print.
2019-10-13 15:10:19 +01:00
toaster
cead718d81 Additional crash fix for papersprites. 2019-10-13 11:53:53 +01:00
MascaraSnake
86a77b4886 Only apply NiGHTS draw distance to hoops, because it turns out they're pretty much the sole cause of NiGHTS lag 2019-10-11 21:02:11 +02:00
Jaime Passos
2740711092 png fix yes so cool 2019-09-29 19:10:49 -03:00
Jaime Passos
41ff5ef79c sprite2info soc yummy yummy yes 2019-09-29 19:03:10 -03:00
Jaime Passos
61f29c9dd6 Giant mistake 2019-09-29 14:12:53 -03:00
Jaime Passos
e07c7aae2c I want to be able to stack skins in a sprite2 block 2019-09-29 12:41:15 -03:00
Jaime Passos
12fd1849bd change comment and error message 2019-09-29 12:16:38 -03:00
Jaime Passos
dfe05a650c hehee 2019-09-29 12:13:51 -03:00
Jaime Passos
c02c7fb28b JIMITA DO THE SOC 2019-09-28 19:13:51 -03:00
Jaime Passos
5c8b7a142b JIMITA DO TH EROTSPRITE 2019-09-28 17:56:27 -03:00