Commit graph

3877 commits

Author SHA1 Message Date
Sryder13
db99537a6b Various Transparent Texture Fixes
Draw Textures and Flats that have holes in them like a solid polygon so they use the depth buffer and don't need to be sorted
Disable all linear filtering on textures and flats that have holes in them, the linear filtering introduces translucency into the textures where the edges are. Leaving them with either a black border, or causing pixels behind the slightly translucent areas to not be drawn. Doesn't apply to sprites and the HUD as they are always already sorted properly.
Make the Alpha Testing more strict on non-translucent blend modes. This makes it so any transparency below 0.5 is discarded instead. Would make anything that is blended and has holes in it look slightly better, only the HUD and MD2s where the texture has holes are effected currently.
Set TF_TRANSPARENT on flat texture flags when there are holes in the texture.
Minor fix to make sure MD2s always set the right blend mode
2017-09-09 00:44:13 +01:00
Sryder13
6877930ed9 Go through and draw MD2s and sprites at the same time so they are sorted from each other (mostly) correctly 2017-09-08 00:57:21 +01:00
Nevur
f61755dd67 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-09-04 22:32:38 +02:00
Nevur
4aed951bd8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/r_things.h
#	src/w_wad.h
2017-09-04 22:32:11 +02:00
Monster Iestyn
d65e23f3ec Merge branch 'public_next' 2017-09-04 20:19:47 +01:00
Monster Iestyn
d565cc6a2c Merge branch 'master' into next 2017-09-04 20:16:06 +01:00
Nevur
b087c16eb1 Merge branch 'toastfixes' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/p_setup.c
#	src/p_spec.c
2017-09-04 21:13:29 +02:00
Monster Iestyn
017df6cd75 Merge branch 'SDL2_RelMouse' into 'master'
SDL2: Relative mouse mode

See merge request !206
2017-09-04 15:11:50 -04:00
Monster Iestyn
1aa4972021 Merge branch 'floorzatpos-slopefix' into 'next'
P_FloorzAtPos slope fix

See merge request !208
2017-09-04 15:00:49 -04:00
Monster Iestyn
50917d2ee2 P_FloorzAtPos: Check the normal floor's slope as well as FOF slopes, silly. 2017-08-30 19:21:23 +01:00
toasterbabe
d6701edcb6 Don't allow creating a new save when it wouldn't end up making a save file (ie, modified game without savemoddata). 2017-08-27 18:47:24 +01:00
toasterbabe
79dab78fd3 * Support FF_SPR2ENDSTATE in interpoleration.
* Fix skidding interpoleration bug.
2017-08-27 16:35:19 +01:00
toasterbabe
973f700dcf * Make the model->spr2frames dynamically allocated. (There's only two settings - on and off - but that's better than it perpetually being on...)
* Fix up defaulting for DEAD to go to PAIN.
2017-08-27 14:56:07 +01:00
toasterbabe
76300026f8 * Added support for sprite2s to MD2s!
- Name each frame either SPR2_**** or SUPER**** (where **** is the 4-character name)
    - If the name is 3 characters, '.' is accepted as a substitute for the '_', but a space/absent isn't (for tool-related reasons).
    - Adds a big sprite2 index array to all models, even non-player ones. Sorry!
* Made MD2 frame interpoleration only work across the same spriteset (and sprite2set).
* Made MD2 frame interpoleration happen when there's less than a quarter of a second between frames, as opposed to the hardcoded specific animation disabling.
* Fixed sprite2-related typo in dehacked.c.
2017-08-26 18:56:23 +01:00
toasterbabe
4da6169892 Add spr2defaults[] array to make sprite2 defaulting system much, much simpler to manage.
This is in preparation for a seperate project which still involves sprite2s.
2017-08-25 18:00:20 +01:00
toasterbabe
3e2be5e47a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into continue_startinglives 2017-08-25 13:50:50 +01:00
toasterbabe
9641196374 * Fixed bug with wide blank select pic being used instead of the normal one.
* Added length cap to savegame's zone name.
* Refactor to level select's zone name length cap code.
2017-08-25 00:40:45 +01:00
toasterbabe
16395f4dd2 Final corrections. Branch should be ready to merge now. 2017-08-24 21:29:29 +01:00
toasterbabe
00c62e6d88 * Removed unused info from struct as part of clean up.
* Made botskin being invalid make the entire save invalid.
2017-08-23 22:05:11 +01:00
Monster Iestyn
9c4e2eeeef Merge branch 'next' into netcode-fixes-the-sequel 2017-08-23 19:17:25 +01:00
toasterbabe
a81c3ca115 Update V_DrawCroppedPatch to match V_DrawFixedPatch's fixes. 2017-08-23 17:41:16 +01:00
yellowtd
519414b215 Merge branch 'master' into titlemap 2017-08-22 19:07:32 -04:00
toasterbabe
673fbc3ec2 * Make the delete save message include the save number.
* Update/improve ultimate mode interaction experience a little. https://cdn.discordapp.com/attachments/293238104096112641/349685399200727041/srb20027.png
2017-08-22 23:47:25 +01:00
Monster Iestyn
36977a5eda SDL_SetRelativeMouseMode(SDL_TRUE) already does what HalfWarpMouse does
Also, don't post an ev_mouse event_t if not in relative mouse mode, so the camera doesn't jerk when the mouse enters the window
2017-08-22 22:53:18 +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
Monster Iestyn
821a1810f7 Moved lrounding of mouse motion events to the actual point an event is made
Also did some cleanup and moving around, as well as adding comments
2017-08-21 21:38:29 +01:00
toasterbabe
6e7605e4f3 * Add new graphics for the no save and ultimate slots, and make the invalid files look a little different.
* Push big endsign images downwards.
* Add a way to disable the ultimate slot.
* BwehHehHe()
2017-08-21 16:02:13 +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
toasterbabe
42211f02b4 * Per Mystic's request, only set the number of lives in the save file if you actually use a continue, or completely wipe out your lives and continues.
* Fix a bug where I got emeralds and mapnumbers mixed up when checking for the "there's a tailsbot" flag.
* Consider a save with an invalid skin an invalid save, rather than allowing its continued presence.
2017-08-20 13:14:17 +01:00
Monster Iestyn
10cbe2c82b Turns out the issue was with fullscreen! All I have to do is factor in the resolution/real window size ratio apparently (which was already done before)
Also changed movemousex/y to INT32
2017-08-19 22:54:30 +01:00
Monster Iestyn
758e9c4558 Merge all (relative) mouse motion events into one mouse event
This fixes SDL2_RelMouse's weaker sensitivity for me on Windows (but apparently not for others??)
2017-08-19 21:39:04 +01:00
Monster Iestyn
d4141ae230 Remove unused floorinfo_t struct and some unused vars in the hardware code 2017-08-19 18:51:56 +01:00
Monster Iestyn
9805b82fec Disable "connect self" due to being broken, cleaned up ip+port part
Anyone know if "connect any" work at all? Would have disabled that too but apparently the game uses it if "-connect" is given with no params
2017-08-18 18:14:03 +01:00
Monster Iestyn
030c437186 Merge branch 'master' into mi-misc-whatever 2017-08-18 17:00:05 +01:00
Monster Iestyn
c17eb94ef7 Merge branch 'lua-spritedefs' into 'master'
New Lua video lib functions for getting sprite patches

See merge request !105
2017-08-18 11:35:25 -04:00
toasterbabe
fd63db0aaf Starting lives revamp, per the 2.2 priorities topic list!
* Each time you die, the number of game overs you've had is counted.
* Your save file updates to record this.
* The number of startinglives is determined by the number of times you'ved game-overed, with the maximum being infinity lives (thereby providing a cap on the number of game overs you can go through in a typical game).

Requires a new patch.dta, but I'm not uploading that yet because not happy with the icon we've got going for infinity lives on the save select menu.
2017-08-18 00:58:16 +01:00
toasterbabe
2e6c09a636 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/hardware/hw_main.c
2017-08-16 21:40:32 +01:00
Monster Iestyn
9703aa2864 Feed skin and sprite2 through P_GetSkinSprite2 to change sprite2 if necessary (if for instance the supplied sprite2 didn't actually exist) 2017-08-16 21:00:18 +01:00
Monster Iestyn
c9acc3cee4 Merge branch 'master' into lua-spritedefs 2017-08-16 20:13:26 +01:00
Monster Iestyn
3795a15164 Merge branch 'public_next' 2017-08-16 20:11:33 +01:00
Monster Iestyn
9b788b55f6 Merge branch 'patch-lua-cv_registervar' into 'public_next'
Patch: Lua CV_RegisterVar

See merge request !109
2017-08-16 15:06:41 -04:00
Monster Iestyn
9f726bc66d Merge branch 'new_coop' into 'master'
New Co-op

See merge request !104
2017-08-16 15:01:39 -04:00
Monster Iestyn
75d363527b Merge branch 'toastfixes' into 'master'
An assortment of relatively minor bugfixes and behaviour tweaks

See merge request !110
2017-08-16 14:58:30 -04:00
toasterbabe
f6670fea76 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/r_things.h
2017-08-16 19:29:23 +01:00
Monster Iestyn
a33b09ca05 Merge branch 'skin_patch' into 'master'
Skin patching (P_SKIN) and killing DELFILE

See merge request !63
2017-08-16 14:20:21 -04:00
toasterbabe
6d3691d3d1 woops, compile fix 2017-08-15 22:40:19 +01:00
toasterbabe
06dc30ea54 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch
# Conflicts:
#	src/dehacked.c
2017-08-14 21:34:37 +01:00
toasterbabe
6e79de3de8 Patched an out-of-bounds crash with papersprites in the least resource-intensive way I could find (xiscale not fitting perfectly into frac). This will have to do until papersprites get a make-over at some point. 2017-08-11 16:00:45 +01:00
Nevur
4f8d53b329 Got rid of functions I added once but turned out to be unnecessary. 2017-08-11 15:46:46 +02:00