Commit Graph

2370 Commits

Author SHA1 Message Date
Monster Iestyn 46afe9b3e0 Merge branch 'shield-actions' into 'master'
Shield actions

The branch is basically complete, I just need to figure out the best way to have the whirlwind shield let the player know you can use it.

SRB2 shields:
* WHIRLWIND SHIELD - It's like King Dedede. You can't improve on perfection. (Might get some new sprites as tells for being able to use it, though.)
* ARMAGEDDON SHIELD - Create a bomb burst whenever you pick up another of the same shield FOR FREE!
* MAGNETIC SHIELD - Homing attack towards enemies only, no stopping when you hit 'em, no zooming off if you're not near enemies.
* ELEMENTAL SHIELD - Perform a piercing stomp that rips through enemies (that don't have spikes on their heads) and creates a fire burst when you land above water.
* FORCE SHIELD - Perfect stop in midair.

S3NK shields:
* FLAME SHIELD - Additive thok on the spin button.
* BUBBLE SHIELD - Bubble bounce to 1.5*jumpheight (also rips through enemies).
* THUNDER SHIELD - Double jump, but with no uncurl and a twang noise.

Supers don't have access to shield actives. Characters with thok can superfloat like usual.

New Lua hooks:
* "ShieldSpawn" in the form function(player), hooks into P_SpawnShieldOrb.
* "ShieldSpecial" in the form function(player), hooks into the shield activation code.

See merge request !31
2016-12-13 17:06:29 -05:00
toasterbabe d8d5f31898 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-12-13 22:03:59 +00:00
toasterbabe fe6b4c4875 Reduced momentum killing of groundpound into slime per Mystic's request. 2016-12-13 21:48:16 +00:00
Monster Iestyn 6f8969aec0 Merge branch 'spindash-dust' into 'master'
Spindash dust

Charging a spindash kicks up dust, we all know this feature was dying to get in at some point. Bubble and flame forms of spin dust are included from FSonic, for underwater and elemental respectively.

Oh, and as a bonus I reorganised the spindash/spinning/other ability2 stuff code to look a bit neater and more organised.

New resources:
* MT_SPINDUST - the object
* S_SPINDUST1 to 4 - the normal form's states
* S_SPINDUST_BUBBLE1 to 4 - the bubble form's states
* S_SPINDUST_FIRE1 to 4 - the bubble form's states
* SPR_DUST - the normal form's sprite set (uses frames A to D, just pinch FSonic's sprites really)
* SPR_FPRT - the flame form's sprite set (frame A only)

SF_NOSPINDASHDUST disables spindash dust for a character

See merge request !52
2016-12-13 15:15:33 -05:00
Monster Iestyn aa82042cf8 Merge branch 'credit_switch' into 'next'
No switching skins mid-credits/custom cutscene in SP

Does what it says on the tin.

See merge request !129
2016-12-13 09:33:53 -05:00
Monster Iestyn 68c8b8a68a Merge branch 'multipatchtex-translucent-cyanpixel-fix' into 'master'
Multi-patch texture support for transparency AND translucency

Fixes the transparent bits of the multi-patch glass texture in THZ1 turning cyan when linedef types 900-908 are applied for translucency

See merge request !56
2016-12-12 14:29:44 -05:00
Monster Iestyn 3f3a26b7d4 Merge branch 'zoom_fix' into 'master'
Zoom tube camera fix

Fixed a mistake where I accidentially allowed people to change the player angle whilst in a zoom tube when previously improving them.

See merge request !57
2016-12-12 14:29:03 -05:00
Monster Iestyn 1ec97c242a Merge branch 'smooth_ropes' into 'next'
Smoother ropes and zoom tubes

Makes rope hangs and zoom tubes suck less. Specifically, they handle corners (and vertical height changes, ala sloped rope hangs) a LOT nicer. Ported from internal.

See merge request !139
2016-12-12 14:18:36 -05:00
Sryder 93901847d3 Fix the Fixed Rounding functions 2016-12-12 00:06:48 +00:00
Monster Iestyn ab423f99c6 Optimising retrieval of sector_floorpic/ceilingpic
As LJSonic has pointed out, there's no need for a for loop in either case; just use sector->floorpic/ceilingpic as a levelflats index directly

(Besides, if that was to stop any out-of-bounds indexes being used, that's hardly the way to do it anyway)
2016-12-09 21:18:06 +00:00
Monster Iestyn d294c9d15c P_NetUnArchiveWorld now uses P_AddLevelFlatRuntime instead of P_AddLevelFlat.
Also created P_CheckLevelFlat to just return the flat # from a name, since that's all P_NetArchiveWorld really needed from P_AddLevelFlat anyway
2016-12-08 21:45:25 +00:00
Monster Iestyn 29764c574d Merge branch 'TEXTURES-additions' into 'master'
TEXTURES additions

Some new features and fixes for textures and the TEXTURES lump:

* Flipping of individual patches used by textures is now supported, both horizontally and vertically. The formatting for doing so in TEXTURES should match that of ZDoom's:

```
WallTexture EXAMPLE, 128, 128
{
	Patch TEST, 0, 0
	Patch TEST, 64, 0
	{
		FlipX
	}
	Patch TEST, 0, 64
	{
		FlipY
	}
	Patch TEST, 64, 64
	{
		FlipX
		FlipY
	}
}
```
(in other words you need { and } below the Patch you want to flip, containing FlipX if you want horizontal flipping or FlipY if you want vertical flipping... or both, if you want both!)

* Negative patch y-offsets should now work properly for multi-patch textures or single-patch textures with no holes.

See merge request !58
2016-12-07 16:33:16 -05:00
Alam Ed Arias 5e74318fb2 Merge branch 'master' into next 2016-12-06 17:29:43 -05:00
Monster Iestyn 64801a1a8e Merge branch 'sdl2-cleanup' into 'master'
SDL2 i_video.c code cleanup

Made some code look a bit neater, removed the need for some SDL2STUBs Fury placed, vid_info console command actually kind of has a use again, etc

See merge request !138
2016-12-06 17:18:47 -05:00
Monster Iestyn ac966bf790 Merge branch 'mfe_onground-is-stupid' into 'next'
Fix ceiling springs thrusting themselves down in midair on touch

What the title says. I blame MFE_ONGROUND for being stupid, but for now I made it behave a bit better with flipped items at least.

See merge request !140
2016-12-06 16:22:33 -05:00
Monster Iestyn 7c07f39019 Make sure flipped things placed directly on ceiling get MFE_ONGROUND
This fixes ceiling springs apparently flying down with you in various scenarios
2016-12-05 22:07:16 +00:00
Monster Iestyn 84f3102ad0 Added FLIPX support for single patch textures with holes
This completes FLIPX/FLIPY support for all textures
2016-12-01 22:37:33 +00:00
Monster Iestyn 52a84cf309 Fix negative y offsets for both normal and y-flipped patches 2016-12-01 21:43:27 +00:00
toasterbabe c833497d39 Correcting slip-up I made when originally improving zoom tubes. 2016-12-01 14:40:58 +00:00
toasterbabe 02d78b355b Smoother ropes and zoom tubes ported from internal. 2016-12-01 14:33:44 +00:00
Monster Iestyn ae3e11369e Revert "(Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden"
This reverts commit 347b531881.

(Too experimental, may end up adding new bugs; let's just keep it to clean up for now)
2016-11-30 17:21:28 +00:00
Monster Iestyn 410b55ebcd Work on FLIPX/FLIPX support:
*Added FLIPX/FLIPY support for multi-patch textures and single-patch textures without holes
*Added FLIPY support for single-patch textures with holes; I'll sort FLIPX support out later
2016-11-28 22:21:54 +00:00
Monster Iestyn cc2612c2d8 Merge branch 'master' into TEXTURES-additions 2016-11-27 19:49:56 +00:00
Monster Iestyn 347b531881 (Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden
Seems to work so far though
2016-11-25 21:13:39 +00:00
Monster Iestyn 38f7af9281 Added ability to use custom-defined lines with P_PointOnLineSide such as with P_ClosestPointOnLine 2016-11-24 22:01:51 +00:00
Monster Iestyn aa146dee41 Disabled all seg_t/node_t-related Lua code for now
To re-enable support for the above, uncomment the define HAVE_LUA_SEGS line in lua_script.h. Plain bbox userdata stuff is not disabled (though currently it's not used anyway)
2016-11-24 21:11:44 +00:00
Monster Iestyn 73b8790946 Merge branch 'master' into lua-additions 2016-11-24 19:35:06 +00:00
toasterbabe a9c68a78e9 Slope correction. 2016-11-24 15:23:13 +00:00
toasterbabe 095a438e9e * Super float now back on spin button, again takes precedence over shield actives.
* Fixed BIG mistake where ShieldSpecial hook bailed out of the entire function instead of just the shield section.
2016-11-24 14:29:29 +00:00
toasterbabe 1424c3f6cd Regardless of what I'm doing next, this removal of limits in this place still should've been done a while ago. 2016-11-23 22:20:47 +00:00
Monster Iestyn 8bbbeff2a9 Make Impl_SDL_Scancode_To_Keycode look a bit neater
This way it's easier by eye to see from the list which SDL scancode maps to which SRB2 key code
2016-11-23 17:08:37 +00:00
Monster Iestyn 5cf4767aed Clearing away lots of disabled code (some of it would no longer work on SDL2 anyway) 2016-11-23 16:51:37 +00:00
Monster Iestyn 153ba39f19 Remove remnants of SDLK_ stuff, we use scancodes now not keycodes
(Apparently SDLK_LMETA/SDLK_RMETA don't exist anymore in SDL2 anyway?)
2016-11-22 22:41:02 +00:00
toasterbabe 05f58df709 Some changes and corrections.
* Cleaner A_ParticleSpawn code.
* Removed several hacks with Mario blocks, and corrected a mistaken assumption with when the FOF's thinker is being applied.
* Made the flashing of T_LaserFlash even less obnoxious.
2016-11-22 16:21:30 +00:00
Monster Iestyn 1606a45b18 Some cleanup/reorganisation in SDLSetMode and Impl_CreateWindow 2016-11-21 22:07:05 +00:00
Monster Iestyn 208546165b Comment out SDL2STUB from Impl_SetWindowIcon 2016-11-21 20:59:44 +00:00
Monster Iestyn 168f8d5c5e Un-stub Surfaceinfo and just print the parts that still work in SDL2
This means the console command vid_info also works properly too now (well, it does nothing in OpenGL mind)
2016-11-21 20:40:02 +00:00
Monster Iestyn f4705b01f4 Don't call SDLESSet
Turns out sdl12's version of this function only did stuff for DC/GP2X ports; support for them have been cut out for SDL2, so for now let's just not use the function at all
2016-11-21 19:42:39 +00:00
toasterbabe e34ef54166 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp
# Conflicts:
#	src/info.c
#	src/p_mobj.c
2016-11-20 19:21:10 +00:00
toasterbabe 85fb02aaf6 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/p_inter.c
#	src/p_user.c
#	src/st_stuff.c
2016-11-20 16:44:38 +00:00
Monster Iestyn 2941521806 Add R_Draw2sMultiPatchTranslucentColumn_8, for columns of multi-patch textures used as midtextures on two-sided linedefs with both transparency AND translucency
...that was a mouthful
2016-11-16 18:43:25 +00: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 eab2df5627 Merge branch 'public_next' 2016-11-16 12:20:37 +00:00
Monster Iestyn 9dec74f9f3 Merge branch 'next' into public_next 2016-11-16 12:20:07 +00:00
Monster Iestyn 694bb73ef7 Merge branch 'master' into next 2016-11-16 12:16:51 +00:00
Inuyasha 672ae61b10 Merge branch 'drawfill-opengl-fix' into 'master'
HWR_DrawFill support for V_NOSCALESTART

This fixes the console selection highlighting being wrongly positioned and sized for OpenGL.

See merge request !135
2016-11-16 07:14:29 -05:00
Monster Iestyn 42f985cda5 Remove pdupx/y and just use sdupx/y for everything, thanks Inuyasha 2016-11-16 12:10:56 +00:00
Monster Iestyn 0726dbe018 Started work on making HWR_DrawFill support V_NOSCALESTART properly ...so far I've got the console text select highlight in the right place outside of 320x200 (and 320x200 is still fine), but for whatever reason it's too large in width and height
Oh well, we're part of the way there, anyway
2016-11-15 20:33:07 +00:00
Monster Iestyn 1bb53ce5f3 Merge branch 'next' into plane-fixes 2016-11-15 18:40:48 +00:00
Inuyasha f02f06aed8 Merge branch 'spr2stuff' into 'master'
Stupid spr2 fix

Name on tin

See merge request !53
2016-11-13 17:40:35 -05:00