Commit graph

246 commits

Author SHA1 Message Date
Jaime Ita Passos
46f7fa406f Refactor gamepad code
Implements the SDL Game Controller API, haptics, and axis bindings.
2022-11-14 00:37:08 -03:00
Eidolon
9a88c9ea47 Merge branch 'gravityflipping' into 'next'
Gravity flip bugfixes & additions

Closes #378, #661, and #430

See merge request STJr/SRB2!1808
2022-11-12 23:33:07 +00:00
Eidolon
f43839ef8d uncapped: Reset cam interpolation on P_ResetCamera 2022-10-09 16:40:52 -05:00
spherallic
8d06145377 Play gravity flip sound on jump in jumpflip sectors, reorganize code 2022-09-09 15:35:05 +02:00
spherallic
9fabddd4bb Add sector type that flips gravity upon jumping 2022-09-08 16:56:35 +02:00
Eidolon
805941a98f Merge public next into uncappedrevengeance
This is to capture the UDMF merges and make the later code review
easier.
2022-05-03 14:45:14 -05:00
Eidolon
9f845622cd Revert "P_InitAngle, to fix angle interpolation on spawning objects"
This reverts commit a80c98bd164a2748cbbfad9027b34601185d93f5.
2022-04-26 20:56:34 -05:00
Sally Coolatta
d476b41dfa P_SetOrigin & P_MoveOrigin to replace P_TeleportMove 2022-04-26 20:56:33 -05:00
Sally Coolatta
e4930535f3 P_InitAngle, to fix angle interpolation on spawning objects 2022-04-26 20:56:31 -05:00
MascaraSnake
54640a8664 Merge branch 'udmf-executor-triggers' into udmf-thing-types
# Conflicts:
#	extras/conf/udb/Includes/SRB222_things.cfg
2022-04-20 20:59:55 +02:00
MascaraSnake
39b7fb9ff8 Merge commit 'd624ee25' into udmf-thing-types
# Conflicts:
#	src/p_mobj.c
#	src/p_spec.c
2022-04-20 20:41:46 +02:00
MascaraSnake
36bf8b1a77 Merge branch 'udmf-linedef-executors' into udmf-executor-triggers 2022-04-19 22:33:53 +02:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
James R
6325185091 Add P_SetPower; remove mobj hack from line 434 2022-02-01 03:52:31 -08:00
James R
518de0ce10 Add P_CheckMove
Checks if P_TryMove would succeed without actually moving.
2022-02-01 03:37:03 -08:00
MascaraSnake
0833f0bd4f Merge branch 'udmf-executor-triggers' into udmf-thing-types
# Conflicts:
#	src/p_setup.c
#	src/p_spec.h
2022-01-14 21:01:39 +01:00
MascaraSnake
0d9860c368 Merge branch 'udmf-linedef-executors' into udmf-executor-triggers 2022-01-14 20:42:59 +01:00
MascaraSnake
3bab07d036 Adapt flickies to UDMF 2021-12-27 17:36:51 +01:00
katsy
9b10473e0d add invert flashpal constant 2021-12-24 19:36:26 -06:00
MascaraSnake
c9ed484129 Rewrite each time thinker 2021-12-07 07:17:58 +01:00
Radicalicious
ea03ab9db0 Merge remote-tracking branch 'stjr/next' into expose-thrust-funcs-to-lua 2021-12-03 21:58:28 -06:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
Radicalicious
e16a894680 Actually define newly exposed thrust functions. Oops. 2021-05-01 20:47:01 -04:00
lachablock
0405b3922c Do not let nonspin characters enter sectors they could not enter if standing at full height 2021-03-23 15:09:04 +11:00
Jaime Ita Passos
f3ad648874 Revert "Move a few mobj spawn defaults to its own function"
This reverts commit 6f9c48a305.

# Conflicts:
#	src/p_mobj.c
2021-01-17 23:17:46 +01:00
Nev3r
c97056f9ce Merge branch 'spritestuff2-archiving-fix' into 'next'
Fix archived mobjs having no default blend mode and sprite scales

See merge request STJr/SRB2!1300
2020-12-16 08:57:36 -05:00
James R
e55d842d7f Kill SEENAMES 2020-12-12 02:11:23 -08:00
Jaime Ita Passos
6f9c48a305 Move a few mobj spawn defaults to its own function 2020-12-06 17:46:35 -03:00
James R
9538ca696a Merge branch 'ceilingz' into 'next'
Add P_CeilingzAtPos function

See merge request STJr/SRB2!1164
2020-10-12 17:44:51 -04:00
Snu
ca88db00cd Create P_CeilingzAtPos function 2020-09-30 07:56:57 +01:00
lachwright
d7ab41a90b Objectplace improvements:
- movement speeds are scaled with player scale
- spawned objects are scaled with player scale
- command accepts argument for thing num to set
2020-09-06 17:28:34 +09:30
lachwright
cea3f64c88 Fix default NiGHTS skin brightness for non-super characters 2020-07-20 22:24:16 +08:00
GoldenTails
ada06910dc Expose P_MovePlayer to Lua. 2020-07-12 18:02:50 -05:00
lachwright
527e682931 Add sightcheck boolean to P_RadiusAttack
Also now destroys Egg Guard shields, and circumstantially Minuses
2020-07-04 18:27:06 +08:00
lachwright
8652bbc1a5 Knuckles changes:
- Buffed crouch landing; lasts slightly shorter and cuts speed less
- Support for swimming! Knuckles has slightly different glide controls when he has swim sprites underwater
- Improved glide controls in 2D mode
- Super Knuckles perks: land from a glide or latch onto a wall to generate a shockwave and damage nearby enemies
- Refactored skid dust
- Made super sparks use FF_FULLBRIGHT
- Added P_SpawnSkidDust and P_Earthquake to Lua
2020-07-04 01:54:00 +08:00
Louis-Antoine
67eef5a37f Fix potential desynch when a player spawns 2020-05-28 11:03:35 +02:00
Louis-Antoine
892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
fickleheart
f2c968dea8 Add JingleStatus hook for carrying custom jingle tunes
The extra argument is the music name, as passed into
P_PlayJingleMusic(player, musname), to run the hook for, optional.
Arguments are (player, musname) - the latter to allow global hooks
that still differentiate between different tracks.
2020-02-23 17:20:44 -06:00
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R
92f65fd822 Merge branch 'exitmove-tweaks' into 'next'
Exitmove tweaks

See merge request STJr/SRB2!709
2020-02-18 21:58:18 -05:00
fickleheart
332b22a87a Move spawnsnap to Special/ignore on sector trigger
Also includes splitting the starpost logic into its own function.
2020-01-24 23:54:54 -06:00
Tatsuru
9e4c519cad In-map visual indicator 2020-01-19 19:02:03 -03:00
fickleheart
c3d14064e2 Convert simple movement to directionchar+analog
Analog + no directionchar is old analog (now known as
CS_LMAOGALOG because lmao if you still use it).
2019-12-30 15:05:24 -06:00
fickleheart
085c39128f Save separate camera settings for standard/simple modes 2019-12-30 12:10:38 -06:00
fickleheart
a9b80bf1f0 Merge branch 'master' into newcontrols
# Conflicts:
#	src/d_netcmd.c
#	src/g_game.c
#	src/g_game.h
#	src/m_menu.c
2019-12-30 10:47:09 -06:00
fickleheart
d14fa39d7a Expand options for aim assist
This will need a lot of testing to ensure each type
works properly.
2019-12-12 23:03:51 -06:00
fickleheart
a188cd5db8 Add boss target assist and finally organize camera options 2019-12-12 00:48:15 -06:00
James R
4f9e227830 Cvar and menu option to let user increase turn speed
cam_turnmultiplier and cam2_turnmultiplier.

"Camera Speed" has been renamed to "Camera Spacial Speed" in the menu. "Camera
Turning Speed" is now an option.
2019-12-09 16:30:03 -08:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
ae84246721 Fix camera not being flipped when camera is stopped due to game design hack reasons (resolves #383). 2019-11-27 13:37:03 +00:00
Louis-Antoine
29501a992b Merge branch 'master' into exit-move-lj 2019-11-15 19:35:47 +01:00
Louis-Antoine
ff62a0732a Let players move after completing the level
This only takes effect in co-op,
and can be disabled with "exitmove off"
2019-11-15 15:35:28 +01:00
toaster
a3de6d21c4 * Add a "moveforward" param to P_InternalFlickySpawn, which controls whether to spawn the flicky a little in front or behind of the object making it.
* Expose this via additional upper-16-bits flags of A_FlickySpawn.
* Use this to make Snailers not spawn their flicky inside the wall they're attached to.
* Make the behaviour of Egg Capsules more consistent mechanically regarding the flicky spawning, using the above as one relevant element.
2019-11-13 20:14:08 +00:00
toaster
1155a7c3a0 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into rvz-hardcode
# Conflicts:
#	src/p_mobj.c
2019-10-08 19:43:43 +01:00
MascaraSnake
5c1fabfaae Lava is now either completely solid or completely intangible. No more half-assing 2019-10-01 21:58:18 +02:00
toaster
7da89e3bc9 Merge branch 'camerafix' into 'master'
Camera fixes

Closes #105

See merge request STJr/SRB2Internal!303
2019-09-20 11:51:30 -04:00
James
4be108fa76 Lach has blessed us with a remade cam_adjust. 2019-09-10 10:11:03 -04:00
toaster
d26ff197dc * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
James
577a8fd387 Merge branch 'camorbit-sev' into camerafix 2019-08-31 14:53:43 -04:00
toaster
384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster
603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz
dd9efebab5 Merge remote-tracking branch 'origin/master' into internal-musicplus-jingle 2019-08-03 23:38:49 -04:00
toaster
438c4d1d51 Fix spindash being broken in quicksand
# Conflicts:
#	src/p_mobj.c
#	src/p_user.c
2019-07-17 21:33:18 +01:00
Jonas Sauer
166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Monster Iestyn
ef984eb336 Merge branch 'metalfixes' into 'toast_cleanup'
Metal Sonic Boss fixes (again)

See merge request STJr/SRB2Internal!245
2019-07-09 14:29:42 -04:00
toaster
98b6280d03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-07-08 13:53:31 +01:00
toaster
4ad1703ae3 Revert "Revert "Merge branch 'metalfixes' into 'toast_cleanup'""
This reverts commit c04b560e92.
2019-07-03 00:58:02 +01:00
MascaraSnake
c04b560e92 Revert "Merge branch 'metalfixes' into 'toast_cleanup'"
This reverts merge request !239
2019-07-02 23:49:10 +00:00
MascaraSnake
e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
mazmazz
923dc34215 Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04:00
toaster
faebe0f9af Metal Sonic fixes!
* Add more context clues to his fight, including an indicator for which laser attack is being used after chargeup.
* Make missiles able to vectorise him.
* Add another laser orb attack - vertical slice - and change the laser orb sequence to accurately reflect that horizontal is the hardest of the ones in 2.1.
* Optimise TC_BLINK, and fix an issue with TC_ALLWHITE that somehow avoided coming up in testing.
* Fix colorized bosses losing their colorization when flashing, by forcing TC_ALLWHITE.
2019-06-28 20:48:14 +01:00
toaster
8f6973cb51 Now it's CA_TWINSPIN's turn to get the improvements!
* Remove PF_THOKKED every time a successful damage bounce occours.
* When this happens, spawn a number of particles based on thokitem at half scale! (Optimised, again, for MT_LHRT.)
* Also spawn these particles when a successful spring boost occours, as well as playing a twisted spring sound.

Also, some other related tweaks:

* Optimisations to A_VultureBlast, which was used as a base for the particle creation.
* Make the Metal Sonic boss use P_PlayerCanDamage instead of a custom, somewhat broken player damage detection mechanism.
* P_SpawnGhostMobj takes colorized into account.
* Fold Tails propeller damage into P_PlayerCanDamage.
* When performing an Attraction Blast, place the player in roll frames.
* Update all conditions preventing SH_PINK to incorporate thokitem and spinitem as well.
* Buff MT_LHRT travel distance at slow speeds.
2019-06-26 23:26:05 +01:00
toaster
d5988c4f8c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-06-26 20:43:37 +01:00
Nev3r
0e162f8f61 Add Sryder's orbital camera thing as an option. 2019-06-20 13:33:31 +02:00
toaster
ef6e00e8a2 P_PlayerCanDamage(player_t*, mobj_t*), ported from the abandoned project_birthday because GOD the code looks awful with those huge monolith conditions in it. Available to Lua.
(Also, minor fixes to lib_pSpawnLockOn, and removing the SH_OP fuckery.)
2019-06-19 12:09:02 +01:00
MascaraSnake
018fb9b461 "Finished" minecart hardcoding (still untested and buggy) 2019-06-14 21:19:52 +02:00
Nev3r
62875d6728 Send the slope thinkers list after the mobj list
Keeping the sector list before the mobj list stops the objects from "entering" or "floating" on slopes. However this induces a new slope adhesion problem in fast-moving slopes, so it is more desirable to leave the "indent/float-on" behavior for now since fixing this one seems like a big can of worms and falls off this branch's scope.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 17:16:35 +02:00
Nev3r
a3174fb56f Add a temporary limbo list for thinkers that need to be freed, in order to keep other lists clean, especially the mobj list.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:17:47 +02:00
Nev3r
fc9e141460 Give precip. its own thinker list
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 14:58:18 +02:00
Nev3r
aad78d4985 Give slope thinkers their own list right before mobjs'.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:00:10 +02:00
Nev3r
134679c287 Fix some of the polyobject thinkers being removed via P_RemoveThinkerDelayed() directly
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:08:24 +02:00
Nev3r
b60c66325c Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02:00
Nev3r
39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
mazmazz
8317155c40 Merge branch 'public-gl-next' into public-musicplus-jingle 2019-03-15 18:42:19 -04:00
mazmazz
075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
MPC
6b22dc183b Fix the automap 2018-12-12 18:01:52 -03:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn
49c5a6f7e4 Remove unused "runcount" variable from p_local.h 2018-10-11 20:00:23 +01:00
mazmazz
c60d61a493 musicplus-jingle 2.2 -> 2.1 backport 2018-09-18 15:10:00 -04:00
mazmazz
a6f959ba21 Set mobj->floorrover and ceilingrover in appropriate places 2018-09-10 00:38:07 -04:00
mazmazz
956d48b5e0 Compiler errors 2018-09-06 13:16:50 -04:00
mazmazz
5eafebe4d4 A_FlickyCenter implementation - now Flickies can be attracted to players!
* Changed default movement to attraction, vs. aimless
* Flickies spawned from this will always have the FLICKY_CENTER mobj as its target
    * Use P_IsFlickyCenter to identify FLICKY_CENTER mobjs versus players
* FLICKY_CENTER mobj tracer points to the spawned Flicky
* Thanks toaster for the original code~~
2018-08-09 17:28:37 -04:00
toaster
6e07631cc9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
toasterbabe
8a61d87961 * Add new damagetype flag (DMG_CANHURTSELF) that allows a player to hurt themselves indirectly.
* Add damagetype to P_RadiusAttack (optinteger in lua, A_Explode var1).
* Removed the prevention of MF_BOSS objects from getting P_RadiusAttacked. This was a holdover from DooM (I checked) - a way to prevent the Cyberdemon from gibbing itself when firing point blank into a wall, and also a way to make it and the Spider Mastermind harder.
* Enemies are solid to other enemies movement-wise now.
* (Fun little aside - if you remove MF_SOLID from a monitor, it now behaves like they did in Sonic Adventure (poppable by colliding with, not just attacking).
* Fixed Metal Sonic battle conflict in MF_PAIN/mass not picked up earlier.
* Miscellaneous tiny code tweaks.
2018-05-08 23:26:36 +01:00
toasterbabe
5cc1befcad * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe
6d59551afd Mace optimisation!
* Handle all chain objects as a hnext/hprev chain.
* When removing mobjs with hnext/hprev, "repair the chain" (make the h links meet).
* Fix hidden slings, which I accidentially broke when I revamped maces the first time.
* Kill MF2_MACEROTATE. Not needed for anything anymore.
* P_MaceRotate now available to Lua to make up for it.
* Related: Made modifying hnext/hprev using Lua safer, so it keeps the reference counts in play.
2018-04-01 20:54:19 +01:00
toaster
49a1266ccc Merge branch 'sal-misc-stuff' into 'master'
Sal misc stuff (state overwriting, gamepad tweaks)

See merge request STJr/SRB2Internal!116
2017-11-02 16:35:12 -04:00
TehRealSalt
8a676d8aa4 Added movebob removed viewheight
"movebob" lets you determine the strength of movement bobbing (does not
affect landing delta, that's technically not movement bobbing :p),
values range from 0.0 to 4.0. viewheight is now relative to
player->height.
2017-10-14 16:11:08 -04:00
toasterbabe
d38b627b85 woops 2017-09-28 22:20:16 +01:00