Commit graph

1524 commits

Author SHA1 Message Date
toasterbabe
76e658bf1b Minor re-ordering to optimise this branch. 2016-08-07 00:21:16 +01:00
toasterbabe
333d8c882e Recreating NAMEcLcR sprite angle loading in internal, as Inu requested. 2016-07-19 00:04:00 +01:00
Alam Ed Arias
4e322af6cb whitespace: cleanup 2016-07-16 16:03:32 -04:00
Monster Iestyn
99ee3d5149 Merge branch 'side-springs' into 'master'
Sideways springs, horizontal hog-launchers, perpendicular plungers...

Call them what you like, they're in the code now. And have been for months!

Nev3r uses the hell out of these and I'm fed up of them being <!>'s all over the place, so please have 'em in master so we can update srb2.srb and make things better for all of us.

See merge request !30
2016-07-16 12:20:22 -04:00
Monster Iestyn
9b15247191 Merge branch 'dashmode' into 'master'
Dashmode

This branch Metal Sonic's abilities (CA_DASHMODE) to the game.

See merge request !26
2016-07-16 12:09:20 -04:00
Alam Ed Arias
8f0994b38b Merge branch 'public_next' into master 2016-07-11 16:22:05 -04:00
Alam Ed Arias
6f8d22d507 Merge branch 'next' into public_next 2016-07-11 16:15:03 -04:00
Alam Ed Arias
765d68899f Merge branch 'master' into next 2016-07-11 16:10:40 -04:00
Alam Ed Arias
11d76a6562 Merge branch 'build-modes' into 'master'
For GCC 6.1 builds

I do not know what I was doing:

NULL checks

building without BLUA support

functions that do not depend on outside vars should be tagged with "const", AKA, FUNCMATH

See merge request !89
2016-07-11 15:59:20 -04:00
Alam Ed Arias
b347ed2ca6 Merge branch 'public_next' into master 2016-07-11 15:52:27 -04:00
Alam Ed Arias
59fd7bbe46 Merge branch 'public_next' (early part) into private 2016-07-11 15:50:06 -04:00
Alam Ed Arias
4584afbd24 Merge branch 'next' into public_next 2016-07-11 15:32:03 -04:00
toasterbabe
625cb39af7 Dashmode now destroys spikes and monitors on contact. Enemies? Probably not for now. 2016-07-09 16:53:41 +01:00
toasterbabe
cee37819cd Dashmode now has its own animation, SPR2_PEEL. Requires a new PLAYER.DTA. I made a lot of references to the peelout here because I'm not sure what else to call a Sonic character's faster-than-usual-running animation and SPR2_DASH was taken.
* SPR2_PEEL, SPR2_SPEE.
* S_PLAY_PEEL, S_PLAY_SUPER_PEEL.
* PA_PEEL.
* Dashmode actually starts charging from runspeed instead of the arbitrarily calculated (normalspeed - 5*FRACUNIT). This just made things easier, honestly, and it's 1 FU of difference compared to the current test case.
2016-07-09 14:52:49 +01:00
toasterbabe
c5ca1a8f24 The dashmode struct variable now has a cap, per a Wolfs request. 2016-07-07 01:40:28 +01:00
toasterbabe
64ef2798a2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into dashmode
# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
2016-07-07 01:08:51 +01:00
Inuyasha
331ea9814f version numbers, etc 2016-06-29 20:01:22 -07:00
Monster Iestyn
2761c04cb9 Merge branch 'next' into public_next 2016-06-23 17:15:21 +01:00
Inuyasha
26b3f2e0dc Merge branch 'toast_slopes' into 'next'
Some slope improvements/fixes (plus P_GetMobjGravity)

Dear Red, I did some things.

* Made the slope flag SL_NOPHYSICS actually have an effect like we wanted to, but didn't get around to implementing yet - activated by setting the slope's linedef flags to have ML_NOSONIC.
* Made downhill slope thrusts proportional to an object's gravity and friction.
* To make the above happen - seperated out the gravity value finding code in P_CheckGravity into a seperate function, P_GetMobjGravity. (p_mobj.c, p_local.h) I also made this function available to Lua.
* Turned those PANIC n console messages (which would inevitably be followed up with a crash, since we're accessing invalid memory immediately after) into a descriptive I_Error.
* Put the SRB2CB type-shimming behind an ESLOPE_TYPESHIM ifdef.
* Removed SPRINGCLEAN-ifdef'd code.
* Cleaned up some eosteric comments.
* NEW SINCE RED +1'd THIS: The teetering code now takes slopes into account pretty well. There are edge circumstances as outlined in commit 9d221f4f3f, but this is unilaterally better behaviour in every way and the teetering code was kind of a mess anyways.
* NEW SINCE RED AND ALAM +1'd THIS: P_ReverseQuantiseMomentumToSlope. Simple function that replaces the inverse angle stuff (which also wasn't using InvAngle, just ANGLE_MAX - angle - which is inaccurate!!)

Current testing files available at /toaster/slptst3.wad and /toaster/gravitytest.lua on the ftp.

I want to do more to the branch like implement SL_ANCHORVERTEX in the near future, but this is probably safe to merge in its current state.

See merge request !77
2016-06-22 19:03:58 -04:00
Inuyasha
a938efa328 Merge branch 'climbing_shit' into 'next'
Climbing on one-sided linedefs

Does what it says on the tin. You couldn't before, now you can.

With this branch, thok barriers are now completely optional for maps with no aesthetic need for sky-topped walls. All the bugs and complications that exist with climbing right now still exist, except now there's one less issue making them suck forever and now Nev3r will be very happy.

Do I need a testing .wad? It's... not that hard to create a very small map and go nuts with Knuckles in it. I have one, but uploading it to the ftp almost feels insulting.

See merge request !90
2016-06-22 19:02:00 -04:00
toasterbabe
f93b31f0a7 FUCK C90 2016-06-20 02:08:07 +01:00
toasterbabe
20ffbbdc41 Climbing now supports one-sided linedefs.
The whole thing needs a refactor in general, but it's almost 2am here, I need my sleeb, and this fix would probably break something with 2.1 climbing if I made it any more/less (depending on viewpoint) complicated.
2016-06-20 01:50:47 +01:00
Alam Ed Arias
7126d57fd7 whitespace cleanup 2016-06-19 20:25:09 -04:00
Alam Ed Arias
5cceda37bb Merge branch 'master' into build-modes 2016-06-19 20:19:57 -04:00
toasterbabe
71f5d4ea85 ...completely misunderstood the reasons we weren't merging toast_slopes, mom holy fuck i'm stupid and bad
Enjoy your slopes without physics, people :D
2016-06-20 00:20:20 +01:00
Monster Iestyn
c723d10dd4 Merge branch 'next' into public_next 2016-06-19 20:47:22 +01:00
Alam Ed Arias
95269ab44b Merge branch 'master' into next 2016-06-19 12:53:11 -04:00
Alam Ed Arias
6f4c52c993 travis: treat warnings as errors 2016-06-19 12:51:56 -04:00
Alam Ed Arias
e87e747a29 clean up warning done in setup-fixes 2016-06-19 12:48:35 -04:00
toasterbabe
86721f1457 Compilation fix of the patch to disable this feature ( :c ). 2016-06-19 17:29:04 +01:00
toasterbabe
fa58993bda Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes
# Conflicts:
#	src/p_user.c
2016-06-19 16:59:49 +01:00
Monster Iestyn
93f66c83b7 Merge branch 'next' into public_next 2016-06-19 16:55:20 +01:00
toasterbabe
1147428904 Revert "Changed teetering to match the discoveries made about it in the sectorlist_traversal branch in a way that matches my revamps here, since I DID change a lot."
This reverts commit 19b186e52e.
2016-06-19 16:38:11 +01:00
toasterbabe
f5f2c4ad48 Revert "Okay, NOW I fixed the compile error. Forgot to stage this."
This reverts commit 1723bb55f9.
2016-06-19 16:38:04 +01:00
Alam Ed Arias
8e98c78456 Merge branch 'next' (early part) into toast_slopes 2016-06-19 03:39:42 -04:00
toasterbabe
3fe87eff97 Disabling the functionality of SL_NOPHYSICS for 2.1 patches by never applying it 2016-06-18 23:55:43 +01:00
toasterbabe
9c277bfb22 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes 2016-06-18 22:58:24 +01:00
Inuyasha
8fc61bb674 Merge branch 'sectorlist_traversal' into 'next'
Sectorlist traversal

MOM GET THE CAMERA

There's a LOT of code in the source that ended up mixing m_snext (the node for the next thing in the sector's thinglist) and m_tnext (the node for the next sector in the thing's sectorlist), so I renamed the following:

* m_snext ==> m_thinglist_next
* m_sprev ==> m_thinglist_prev
* m_tnext ==> m_sectorlist_next
* m_tprev ==> m_sectorlist_prev

Then, I changed all the instances where the code was trying to go m_thinglist_next on a mobj's touching_sectorlist (which would've just gone to the node for the next thing in the same sector, instead of the node for the next sector for the same thing). Notable samples:

* FF_SHATTER blocks now disappear the moment you go into their sector. You still can't give FF_SOLID to them because in that case they will still stop you if you never enter their sector at all (ie - clip on corners), but having them nonsolid no longer allows you to phase through entirely without busting them (which was the whole downside of making them intangible in the first place).
* You can now bump into multiple Mario blocks at a time, even if you're not exclusively in their sector.
* No more getting randomly stopped on the edges of bouncy FOFs.
* Landing on polyobjects might behave a little more consistently at the edge of their host sector.
* Teetering did a SHITTON of code that basically never got executed, and then had directly-blockmap-accessing code as a backup. The code was activatable by replacing the m_thinglist_next with m_sectorlist_next, but it behaved SUPER differently from what we're used to with teetering (if the player mobj's edge was JUST off the edge of a platform, you ended up in teetering frames - even if it looked like you could stand) so I ended up removing that section entirely.

Any objections?

See merge request !85
2016-06-18 16:52:21 -04:00
Monster Iestyn
9e31ab1393 Merge branch 'master' into next 2016-06-17 14:44:23 +01:00
Alam Ed Arias
56331d86c4 Merge remote-tracking branch 'origin/master' into build-modes 2016-06-17 08:55:20 -04:00
Inuyasha
307129f7c9 Merge branch 'other-software-fixes' into 'master'
Some other software fixes/changes

Some other software fixes/changes I've made

* Change 1: single-sided linedef midtextures (read: not double-sided linedefs, but single-sided) now don't skew if Effect 2 is checked. Before, there wasn't any ability for software to disable skewing for them. =V
* Change 2: PolyObject back side midtextures now return to being where they should be. Had to make a hack to fix this though.

See merge request !86
2016-06-17 08:06:19 -04:00
Inuyasha
ee180807d1 Merge branch 'setup-fixes' into 'next'
Fixes and changes related to the act of setting up a level (in other words, setup fixes)

Changes made in this branch so far:
* a REJECT lump of zero length (NOT to be confused with a REJECT lump of non-zero length with all-zeros, just to clarify) should no longer cause problems with netgames and otherwise. The game now checks if the lump exists, has the right name, and length is not zero - if it fails any of these, the REJECT lump is not loaded and P_CheckSight won't be allowed to use it. This means ZDBSP (no reject) should be safe(r) to use now!
* there's now a simple devmode-only message (requires "Setup" mode) if a sector is found to have no lines at all during setup. It's a far cry from the plot to I_Error the game I once had for that unsusal scenario, but such a level still works anyway so whatever.

See merge request !87
2016-06-17 08:05:09 -04:00
Inuyasha
191a4bc7d2 Merge branch 'reverseplatform_clipping' into 'next'
FF_REVERSEPLATFORM clipping

Ran into an issue whilst testing out one last feature (there's always one more...) for flat_alignment_revamp. This is a backported fix.

The bug was such that if you're falling through a platform with FF_REVERSEPLATFORM and not FF_PLATFORM, you'll be pushed downwards such that your head is against the bottom of the FOF. This just checks momz is greater than zero if it has FF_REVERSEPLATFORM to make sure it's okay to set ceilingz. (OR the alternative in reverse gravity.)

No test map because this was originally done for internal. Instead, test it on the other branch's test map.

See merge request !83
2016-06-17 08:01:03 -04:00
Monster Iestyn
df55019d40 Merge branch 'master' into other-software-fixes 2016-06-13 21:13:51 +01:00
Monster Iestyn
9ae2a4036a Merge branch 'master' into next 2016-06-13 21:10:53 +01:00
Alam Ed Arias
a046d3807e strings return by M_GetText() can not be changed 2016-06-13 11:11:02 -04:00
Alam Ed Arias
2c8008e11e NULL checks 2016-06-13 10:07:10 -04:00
Monster Iestyn
9b037164bc Added debug messages for when REJECT lump is not loaded 2016-06-12 21:51:27 +01:00
Monster Iestyn
f94dd510ad change back to 8, add \0s 2016-06-12 21:16:41 +01:00
Alam Ed Arias
4d6a3e3398 FUNCMATH fun 2016-06-12 16:08:48 -04:00