Commit Graph

410 Commits

Author SHA1 Message Date
Monster Iestyn 42ed41aeb1 Merge branch 'maces_but_better' into 'master'
Maces but better

See merge request !103
2017-08-07 15:27:05 -04:00
Monster Iestyn 3fd9e9be3a Merge branch 'wallspike_tweaks' into 'master'
Wallspike tweaks

Sorry, MI. You told me to test the objects via objectplace, and they worked fine there - but @FuriousFox had some [issues](http://i.imgur.com/DQuLYzz.png) when he finally got to place them via mapthing.

Specifically, I think the problem this was caused by was a straight up copypaste of the "height" attribute of MT_SPIKE into the "radius" field of MT_WALLSPIKE, when it should technically be half that to match the intended collision box. Some other stuff also got adjusted to match when I solved this.

FF's happy now - they work well enough to place, even if their [collision is a little wonky](http://i.imgur.com/o2rG0tV.gifv), but that's an MF_PAPERCOLLISION issue and more than a quick fix to be done in an evening.

Nab ```<root>/!LatestSRB2Files/srb2win_branch_spikefix.exe``` to test.

UPDATE:

* Support for MF_PAPERCOLLISION tmhitthing in P_SlideMove.
* Knockback for wallspikes is much more consistent, fixing FF's gif as posted above/below.
* Optimised away a FixedDiv call when determining the slopetype of a line.
* Changed the position of the wallspike base slightly.
* Made it so NOTHING can step up onto the player outside of other players, essentially killing a bunch of springs-launch-with-players style bugs. (I was able to recreate that issue with the wallspikes until I added this, which is why I did it in this branch.)
* Wallspikes are now bustable.
* Invert the solidity mapthing flag for spikes and wallspikes.
* Improve the frame arrangement for vertical spikes' spriteset. (Requires new patch.dta)
* Make all spikes consistently do damage with DMG_SPIKE.
* (unrelated) renamed "flame stomp" to "elemental stomp" in P_HitDeathMessages.
* (unrelated) Make gas jets not make noise if they have the ambush flag, per Sphere's request.

See merge request !107
2017-08-04 14:28:44 -04:00
Monster Iestyn cfbe180312 Merge branch 'public_next' 2017-07-25 17:17:22 +01:00
toasterbabe a5477737d7 Whooh boy. Probably requires re-review.
* Support for MF_PAPERCOLLISION tmhitthing in P_SlideMove.
* Knockback for wallspikes is much more consistent.
* Optimised away a FixedDiv call when determining the slopetype of a line.
* Changed the position of the wallspike base slightly.
* Made it so NOTHING can step up onto the player outside of other players, essentially killing a bunch of springs-launch-with-players style bugs. (I was able to recreate that issue with the wallspikes until I added this, which is why I did it in this branch.)
2017-07-18 14:17:23 +01:00
Monster Iestyn 7d4513f2f1 Don't be stupid with FF_BLOCKPLAYER/FF_BLOCKOTHERS flags please 2017-07-17 20:47:00 +01:00
toasterbabe 25fb318a0b * Fixed a typo with the bit-shifting of the max speed, meaning that it wasn't being set as desired.
* Made the speed capping/minimising done at the point of changing it via player control, as opposed to the point of macerotate, in an attempt to fix a potential cause of mace rotation desynchronisation (not netplay, just https://cdn.discordapp.com/attachments/293238104096112641/331453363499696139/srb20180.gif stuff.)
2017-07-06 22:26:31 +01:00
toasterbabe 370d9c3176 Hooh boy.
****
* MF2_MACEROTATE. Apply to any object. Replaces the indiscriminate spamming of A_MaceRotate each tic.
****
* Mace point mapthings have been slightly modified.
   - MTF_AMBUSH: bigger luke theory (has no effect on custom mace, different effect on spring mace)
   - MTF_OBJECTFLIP: flips the objects, but nothing else - just so it doesn't look out of place in gravflip sections
   - MTF_OBJECTSPECIAL: keeps it from attempting to play swinging sounds
   - angle: tag of controlling linedef
   - parameter: number of "spokes" minus one - for example, a parameter of 2 results in 3 equidistant maces rotating around the same point.
****
* Mace linedefs have been significantly revamped.
   - line dx: number of chain links
   - line dy: speed (in FU)
   - frontside floor height: Pitch (in degrees; how much it "tilts" over - Yaw influences the axis it's tilting on)
   - frontside ceiling height: Yaw (in degrees; rotation of entire thing on xy plane)
   - frontside x offset: Phase (in degrees; how far it is through the rotation cycle)
   - frontside y offset: Max speed (in FU; if less than speed, set to speed*2)
   - backside floor height: Pinch (in degrees; 0 if no backside; essentially makes rotation conical instead of wheel-like)
   - backside ceiling height: Roll (in degrees; 0 if no backside; rotates on the axis of the spinning - identical to Phase for spinning maces, but useful for rotating swinging maces as opposed to just offsetting them)
   - backside x offset: Number of "antispokes" (0 if no backside; makes that many spokes not exist so you can put another mace/chain type in there instead; for combo mace/chain instead turns them into chains directly)
   - backside y offset: Width (in number of extra chains per side; 0 if no backside; creates a "skiprope" arrangement)
   ----
   - ML_NOCLIMB: for chains and chain-mace combos, allow for player control of yaw through strafe keys
   - ML_EFFECT1: replacing the seperate mapthings, this makes a mace type swing instead of spin.
   - ML_EFFECT2: for all spokes of the mace wheel ending in maces, make the chains out of the mace type (inverted for firebars)
   - ML_EFFECT3: spawn a bonus mace type at the center(s) of rotation
   - ML_EFFECT4: don't clip inside ground
****
* Mapthing 1104 represents both spinning and swinging maces from prior versions of SRB2.
* Mapthing 1105 has gone from being a swinging mace variant to a combination of chains and maces in a single unit, provided the number of "spokes" is greater than one.
* Mapthing 1105 has gone from being a swinging chain variant to a vertical spring-on-a-ball-on-a-chain. Yellow by default, apply MTF_AMBUSH to turn into a red spring.
* Mapthing 1107 represents both spinning and swinging chains from prior versions of SRB2.
* Mapthing 1108 is completely untouched except to port over 2.1's functionality to the new backend.
* Mapthing 1109 is a Mario castle-level style firebar. This inverts the functionality of ML_EFFECT2 on the tagged linedef.
* Mapthing 1110 is a free slot should we want to implement another type of base-game mace.
* Mapthing 1111 is a custom mace. Use the linedef's frontside texture slots to identify a macetype mobjtype, then use the backside texture slots to identify a linktype mobjtype (defaults to MT_NULL if no backside).
****

Whooh. Requires new patch.dta for sprites.
2017-07-02 15:11:09 +01:00
toasterbabe 86f9b6d409 After discussions, flipping the flag that means you CAN'T turn the CEZ chains now means that when it's enabled, you CAN turn them. In order to get base game parity by default, rather than as an obscure option. 2017-06-27 23:34:55 +01:00
Monster Iestyn e3f627120f Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/p_mobj.c
2017-06-23 17:19:06 +01:00
toasterbabe 2696ed52fd Fixed the thing where Robo Hood's jump was messed up.
Also, ditto re Super Sonic's floaties.
2017-05-09 12:50:28 +01:00
toasterbabe 73f1550242 There are now captions for specific types of music! (Currently signified with an M, but I'll change that in a bit...) A whole lotta things needed to be modified for this, though.
* Serious refactor of - and internal exposure of - what has become S_StartCaption().
* Renaming of a few existing captions.
* The prevention of access to - or writing over - sfx_None's stuff in SOC or Lua.
* The new Lua wrapper function S_StartMusicCaption(string, tics, optional player), which essentially allows custom music captions to be created. (This is best used for stuff like final lap music in SRB2 Kart or bonus time in a thokker-like game, not a comprehensive Now Playing expy. That'd be a different kettle of fish.)

Also, updated all the lock-on stuff to use P_IsLocalPlayer instead of rolling my own.
2017-04-29 16:27:52 +01:00
toasterbabe bef9520556 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-19 23:03:47 +01:00
toasterbabe 39fa4fea4a * Update some sound names.
* Make the continue and the flag capture use different sound numbers.
* Make the fancy new race countdown go beep.
2017-04-18 15:57:52 +01:00
Monster Iestyn 93efb3084e Merge branch 'mi-a-bit-of-cleanup' into 'master'
MI's unimportant code cleanup

Just removing a bunch of unused variables/function prototypes from the source code and similarly minor stuff, nothing here should change gameplay much (if at all).

See merge request !71
2017-04-17 14:43:50 -04:00
toasterbabe 99a04cca9c First part of revamp: Removing Camera Rotate L/R keys, and giving the two situations where they had any unique functionality (Analog mode and NiGHTS objectplace) suitable replacements. 2017-04-14 20:29:08 +01:00
toasterbabe 89f518a8a3 FuriousFox discovered a crash, realised I wasn't careful here. 2017-04-04 23:12:43 +01:00
toasterbabe 76b56a0285 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3
# Conflicts:
#	src/p_user.c
2017-04-04 16:55:20 +01:00
toasterbabe caeb515783 On request, swapped out MT_PARTICLE dust for MT_SPINDUST dust. 2017-04-03 19:01:30 +01:00
toasterbabe 1e64b096fd Bugfixes and code cleanup.
* Getting hit whilst on a swinging mace doesn't send you off in roll/jump state.
* P_GetJumpFlags replaces a bunch of copypasted code.
* Homing attacking a spring sends you directly on its path, rather than rocketing off in the direction you were preiously hurtling in.
2017-04-03 18:28:02 +01:00
toasterbabe 1c737f33c5 Camerascale fix to apply to more stuff. 2017-04-03 13:33:05 +01:00
TehRealSalt b5d1bff18a Scaled down cam_height default
25 was picked over 24 due to 160/25 being exactly proportional to
128/20.
2017-03-29 18:30:45 -04:00
toasterbabe 734d215b35 Corrected oversight. 2017-03-27 15:29:19 +01:00
toasterbabe 5065fa302a Mutiability flag-ised as requested by Rob. 2017-03-27 15:03:21 +01:00
TehRealSalt e5245c508d Reimplemented analog mode cam_dist increase, slight comment updates
Analog mode's camera is now x1.2 of your actual cam_dist setting,
instead of being strictly 192. "analog on" seems to reset this modifier
every once in a while, but "useranalog on" prevents this. The wiki
itself says that you should only change useranalog though, so it
shouldn't be too big of a deal.
2017-03-26 17:11:04 -04:00
toasterbabe 8d9b616f00 Fixed repeatable bounces sending you hog-wild if you went into water shallow enough to only spend a single frame in before hitting the ground. 2017-03-25 12:42:39 +00:00
TehRealSalt dbcbcf5da3 Changed defaults, camera settings save
Camera settings: distance from 128 to 160, height from 20 to 32, speed
from 0.25 to 0.3
Mouse sensitivity from 35 to 12
Default control setup is Mystic's proposed scheme from the New Player
Experiences topic (https://mb.srb2.org/showthread.php?t=42095)

Also, camera settings now save to config, and they no longer try to
reset back to the default at every chance it gets (you can die, start a
new game, or exit, all while still keeping your preferred setting)
2017-03-25 03:13:02 -04:00
toasterbabe 0bd093faf7 * Fixed weird hitbox thing when using a shield ability that puts you into a spin (when CA2_NOJUMPSPIN).
* Fixed bug with the magnet shield homing attack and charability homing attack not properly updating the player's target/tracer.
* Made flashing of lockon/got flag icons slower.
2017-03-24 13:51:23 +00:00
toasterbabe fa29f7deca A bunch of stuff again.
* Lock on targets bob now, and are used for CA_HOMINGTHOK and SH_ATTRACT as well.
* Flag stuff is now animated like it was designed to be but which was kinda messed up.
* Cork sounds.
* P_SpawnLockOn(player_t player, mobj_t lockon, statenum_t state) for Lua.
* Added homing/firing CA2_GUNSLINGER stuff at egg guard shields.
* Fixed homing stuff wrt egg guard shields and sea egg balloons.
* Fixed attract orb goin' gold when doing a CA_HOMINGTHOK homing ability.
* Fixed positioning of player during homing attack.
* Cleaned up lockon spawn code.
2017-03-23 19:11:22 +00:00
toasterbabe ddf8db12af Big commit, sorry. I broke several things trying to get other things to work and it's only now that all the code that worked yesterday works today!
*P_LookForEnemies is now side-effect-less and only provides a pointer to the found mobj
*player-jumping is dead, long live PF_STARTJUMP
*per Mystic's request, CA2_GUNSLINGER has a targeting icon. It also has a more restricted vertical aiming range.
*mobj for this is in the game as requested
*fast teetering animation flag
*general code cleanup
2017-03-22 18:51:30 +00:00
toasterbabe 90893c02a3 * Added restriction to prevent combination of CA2_GUNSLINGER and ringslinger on.
* Swapped usage of player->spinitem to player->revitem for bullet type selection, since spinitem is used coming out of zoom tubes (which are universal).
* Switched the optional boolean for "bullet" in the Lua wrapper for P_LookForEnemies to be false by default.
* Allowed CA2_GUNSLINGER users to target Detons.
* Cleaned up some code here and there.
2017-03-21 23:24:57 +00:00
toasterbabe 7ac0373dbf After usability complaints:
* CA2_MELEE/CA_TWINSPIN combination abilities (ground hit, somersalt) disabled.
* Enabled movement controls whilst using CA2_MELEE in the air.
* CA2_GUNSLINGER no longer requires charging. In exchange, it involves a cooldown in which you can't move.
* CA2_GUNSLINGER lock-on distance improved, and aiming allowance reduced to compensate.
* Lots of cleanup/gravflip allowances for homing/targeting code.

* Unrelated: Flickies now properly face the direction they're supposed to when getting knocked out of the egg capsule.
* Unrelated: Thok trail fades like spindash trail now.
* Unrelated: Using CA_HOMINGATTACK when nowhere near an enemy uncurls you.
2017-03-21 16:04:49 +00:00
toasterbabe a6f5357cbd * fixed spindash
* fixed whitespace
2017-03-21 02:06:24 +00:00
toasterbabe 59bc0da022 Introducing CA2_GUNSLINGER.
* Mildly hacky proof of concept! Will de-hack later.
* Charge up your ability!
* You can only damage others if it's at full power.
* Fires directly at enemies/bosses when at full power. Does NOT aim at players.
2017-03-21 00:54:47 +00:00
toasterbabe ee74fa4042 * Changed how CA2_MELEE handles nocontrol to not tweak pw_nocontrol.
* Added CA_TWINSPIN/CA2_MELEE spring boosts.
* Made it so you can't land with CA2_MELEE twice.
* Fixed stray #endif from NiGHTS fixes.
2017-03-20 19:04:33 +00:00
toasterbabe a4c1c3195f Cleanup.
* Fixed a major hack from when I SPR2ised NiGHTS by spawning in a null object.
* Made P_LookForEnemies better in preperation for the future.
* Changed some defaulting characteristics of P_GetMobjSprite2.
* Fixed CA_DOUBLEJUMP potentially counting as a float.
* Killed some extremely small boolean functions and replaced them with #defines.
2017-03-20 16:57:24 +00:00
toasterbabe f0c364c71c For melee:
* Fixed underwater hop going too high.
* Added helpful comment.
* Changed animation speed.
2017-03-19 22:22:39 +00:00
toasterbabe 3a6f659b93 She's a lot more complete.
* Melee now has a proper weightiness to it with a landing frame.
* If you have twinspin too, do a somersalt when running and hitting the melee button.
* If you have melee, go into the melee landing frame when twinspinning into the ground.
2017-03-19 16:48:35 +00:00
toasterbabe 99f13c88ae Made jump damage flag application less hacky. 2017-03-18 21:06:06 +00:00
toasterbabe 95e4a23a69 pw_ingoop is now CR_BRAKGOOP because i can't stop refactoring CAN'T STOP WON'T STOP 2017-03-15 21:51:35 +00:00
toasterbabe 7aeeb278fe Increased space in pflags (because we were getting VERY close to full capacity), which I will re-organise when this branch is closer to completion.
* PF_NIGHTSMODE is now CR_NIGHTSMODE as part of player->powers[pw_carry]. This is because it's mutually exclusive to every other "carry" type.
* PF_SUPERREADY is dead because it literally just checked for all 7 emeralds and 50 rings. That's it. You couldn't even appreciably alter its presence with Lua. That logic has been placed back in P_SuperReady.
2017-03-14 18:11:17 +00:00
toasterbabe b9ddc0226e Fixed a thing where super float started on the float frame normally and then immediately went to the float run frame a tic later. 2017-03-11 18:15:44 +00:00
toasterbabe e20292844d * SPR2_DRL0-C are gone. They're now (FF_SPR2SUPER|SPR2_NGT0-C). This frees up a bunch of badly-used freeslots, considering that you can't be super AND NiGHTS at the same time.
* Speaking of, actively enforced not being able to be Super and NiGHTS at the same time.
* Also on that note - SPR2_TRNS is now the NiGHTS transformation. The Super transformation is (FF_SPR2SUPER|SPR2_TRNS).
* SPR2_NPAN is now SPR2_NSTN, since it matches Super Sonic's stun animation rather than the pain animation.
* Fixed a bunch of things where Super float was handled badly with 2AM brain.
* Fixed the R_ProjectSprite error going out of spr2names' bounds.
* Fixed order of FF's in dehackéd.
* Fixed that thing where Super Sonic was blue for 1 tic after transformation, and the life icon was a blue Super Sonic.
2017-03-11 17:14:39 +00:00
toasterbabe 75ac351940 It's 2am, I'll upload the exe and player.dta to the ftp later.
* Super sprites are now deliniated via an additional S_SUPER lump between S_START and S_END. Above are normal sprites, below are super sprites. Handled internally via FF_SPR2SUPER.
* Sprite2 numbers are now appropriately limited for the data type that stores them.
* SPR2_SPIN is now SPR2_ROLL, SPR2_DASH is now SPR2_SPIN and SPR2_PEEL is now SPR2_DASH. Makes more sense, right?
2017-03-11 02:09:01 +00:00
Monster Iestyn 6f2f244aef Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2017-02-22 21:07:29 +00:00
toasterbabe 8cdcb2c416 * You can now bounce off of springs without unbouncing.
* You can now bounce off the bottom of goop areas.
* Fixed that long-standing bug where you could accelerate whilst rolling.
2017-02-09 23:24:47 +00:00
toasterbabe 7b4688732b * Float ability now properly stacks with dashmode.
* Corrected a scenario where you could get a CTF flag mid-dashmode and have dashmode properties forever.
2017-02-08 16:46:16 +00:00
toasterbabe abc218de38 I am bad at conditions. 2017-02-04 21:41:43 +00:00
toasterbabe 5170fafcac * CA_BOUNCE is now more pleasant to control.
* CA_MELEE can now break downwards like CA_BOUNCE, and CA_TWINSPIN can break both up and downwards.
2017-02-04 18:25:16 +00:00
toasterbabe ba652864a6 Revamped roll-on-landing to work even from jumping, for the purposes of slopes! (But not from PF_THOKKED.)
Salt has wanted this for a while, and this was the only branch I had open which it was appropriate for. :P
2017-02-04 17:08:14 +00:00
toasterbabe c04ee6bfb7 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-02-04 15:19:02 +00:00