Been a while, but I got a new version of RPM Plus (v2.2) for ya. There was a bunch of tweaks made throughout to get some of the new stuff running. So if you modded RPM's base code you uh, may have to mod it again if you want to use the latest version.
-deltaTime was reworked to allow better support for framerates up to 120FPS. "_Ticks" was added to the Engine Widget to work in conjunction with Fusions internal timer, and works automatically when Frame Skip is enabled.
-"_FrameSkip Sync" in the Engine Widget is now called "_deltaTime".
-Target FPS was re-added back the Engine Widget, which now changes Fusion's internal framerate at the start of the frame. This value is now used to apply proper deltaTime when Frame Skip is disabled, allowing you to use different framerates without having to enable Frame Skip.
-Frame Skip is now enabled by default. You can also alter the framerate during gameplay using Y (30FPS), U (60FPS), I (90FPS), O (120FPS), and P ("144FPS"). This is part of the Debug Keys group and can be removed by disabling this group.
-Fixed an issue where NPC Mask objects added too much X/YSpeed compared to what was actually set, and can now change its speed properly at different framerates.
-Added Surface Finder detectors. This is a series of detectors that looks for any platform directly below the player, and determines the distance between the ground and where the player is (located in the Player States widget). The Surface Confirm detector will be permantely affixed to the ground, while the Surface Finder will search for any new platforms the player may jump over to reposition Surface Confirm. You can find the new events in Mask Setup > Character/Detector Position > Surface Finder.
-Surface Detection Check was added to the Engine Widget to determine how far to check down, defaulting to 50.
-Angle Detection now relies on the Surface Finder detector to detect angles. This allows it to determine the angle of the ground surface even if the player is airborne. Previously it only worked while the player was physically on the ground, which could lead to potential errors depending on how steep the platform was.
-Fixed an issue where the angle detectors could glitch out if the player walked on a moving platform from a solid surface.
-Offset Sprite by Angle was reworked to now only function while the player is on ground, since Angle Detection can now work while airborne.
-Added Enable Ledge Grab to the Player Attributes Widget. When enabled, the player will be able to grab on to the edge of any backdrop or Solid Object and either jump up from the ledge or drop down by pressing Down + Jump or moving in the opposite direction. Two new detectors, Ledge Blocker and Ledge Confirm, were added to accomodate this. Note that this is primarily intended for Backdrops and Solid Objects, Jump-Thru Objects are not fully supported though you can find events for it located in Player Mask > Special Actions > Ledge Grab. An early version of climbing up a ledge can also be found in this section and can be enabled if you wish.
-Moving Platforms were re-worked to now base its movement on internal FloatX/FloatY values (Alterable Value AA/AB) rather than the raw position Fusion normally uses. This was changed to allow moving platforms to work properly at different framerates, and allows for more precise movement speeds. A Toggle Buffer (Alterable Value AC) was added for platforms that use Horizontal/Vertical movement to ensure they change directions properly with the new system.
-Added Enable Moving Platform Momentum to the Player Attributes Widget. When enabled, the player mask will retain the speed of the moving platform when they jump off of one. Note that Aerial Momentum needs to be active for this to work properly, and the mask won't move faster than its current maximum XSpeed unless BurstSpeed Decel is reduced to 0.
-The Camera object was also completely reworked to use FloatX/Y to move around, while solving issues with it sometimes not completely overlapping the Master Camera (the object it follows). The starting speed has been adjusted to be 0.10, and is now part of the "Move with Mask" group.
-Player Attributes, Angle Detection, Animation Control, and 8 Direction Widgets are now global by default.
-Flag 1 of the Master Camera was renamed "Set Offset to Player Speed", and is now disabled by default.
-The Start Position Widget now factors in the Camera's FloatX/Y at the start of the frame.
Clickstore version coming soon, but as usual if you want the itch.io version just PM me your order number and name and I can generate a key for you.
So smooth with the new DeltaTime!
Moving Platform Momentum is also very interesting
Thanks so much, this update looks amazing!
Will the clickstore version stop being updated?
awesome stuff, time to copy paste a bunch of code and break my game lol
great work as always rage!
Still waiting for the clickstore version to be added.
What data is required to get an itch.io key?
Alright its been a while, but I bring to you a rather hefty update to RPM Plus in the form of v2.3! There's tons of little fixes made throughout the main code. If you modified the main code before you uh, might want to reapply the mods to the new version. Also shoutout to @Volnaiskra for allowing me to implement support for VACCiNE 2, so you no longer have to rely on my bland system!
-Added support for Volnaiskra's VACCiNE 2 input system. VACCiNE 2 is a universal input system that automatically adds support to a multitude of gamepads, without having to manually program them into Fusion yourself.
-Fire3 and Fire4 are now associated with B and Y on the default XBOX configuration.
-The Player Input Object has been expanded to include Triggers/Bumpers/Stick Click by default. This includes hold values and being read in the Input Reader.
-Fire1/2/3/4 now have cardinal directions applied to their name to make it easier to figure out what gamepad button its associated with.
-2-Player Mode has been updated with all of the current changes to RPM. Moving Platforms still isn't quite supported, however.
-Fixed an issue where some calcuations were not consistent when Frame Skip was active, such as the player jump height. deltaTime will now maintain a specific value as long as its within the Target FPS range.
-RPM's internal framerate cap of 120FPS was removed, though 120FPS is still the recommended maximum.
-"_JumpInputMade" in the player mask has been renamed "_TriggerJump".
-The jump routine can now be activated by setting "_TriggerJump" in the player Mask to "Y". "PlayerPressedJump" in the Player States Widget replaces "_JumpInputMade"'s original functionality.
-The default "JumpInputBuffer" value in the Player Input Widget has been increased to 6.
-The intial jump routine now subtracts 2 pixels from Y instead of 1. This ensures jump will work better at higher framerates.
-deltaTime will now always stay at 1 if Frame Skip is disabled.
-Added LedgeGrab ClimbUpDelay to the Player Attributes Widget. When the player climbs up a ledge (By default, using the Up key), a delay is activated before the player moves up the ledge. This allows time to play an animation of the character climbing up.
-The Player States Widget has a new state for when the ClimbUp routine is activated.
-Added Disable Ledge ClimbUp Reposition to the Player Attribute Widget. When active, the player will not automatically go to the top of the ledge after the Climb Up delay. The mask will simply fall off unless instructed to move a different way during the delay.
-Added the Ledge Snap detector. This sits between the other two ledge detectors and helps keep the mask locked on the ledge on the Y Axis. If you used Ledge Grab before, it will break without this object!
-Added One Button LedgeDrop to the Player Attributes Widget. When active, you simply have to press one button to drop down (Down key by default), as opposed to holding Down and then Jump/Fire 1.
-Added Ladder Buffer to the Player Attributes Widget. When enabled, the mask will need to overlap any Ladder object a bit closer to its center before it can grab on to it. Disabling it will keep the old system where you can latch on as long as the mask touches it anywhere.
-Added WallSlideJump XSpeed, WallSlideJump YSpeed, and WallSlideDown YSpeed to the Player Attributes Widget. These were originally hard-coded values that controlled how fast the player would move during a Wall Slide routine, but now can be easily modified in the Widget. WallSlideJump affects how far the player will jump off a wall, while WallSlideDown affects how fast the player slides down a wall. Note that the values placed in the Widget will be automatically divided by 10 for the Player Mask.
-Added GroundTime to Player States Widget. This simply counts how many frames the player has been on the ground. It automatically resets if the player leaves the ground.
-Added Disable BoostX Decel flag to the Player Attributes Widget. This allows BoostX to either hold or continually add towards its base value when active.
-Added a horizontal Wind Tunnel gadget, which pushes the player backward when they overlap the object. This object makes use of BoostX and Disable BoostX Decel in the object's behaviors.
-Fixed an issue where BoostX wasn't being factored into deltaTime, so it should now maintain the same pace at different framerates.
-Added Enable Debug Keys to the Engine Widget. You can use this flag to toggle on or off these fuctions instead of disabling the group in the Event Editor. By default, this option is disabled.
-Added Unlink Sprite to Mask to the Engine Widget. When active, the player sprite will no longer attach itself to the player mask.
-Angle Detection now works if the player is moving with BoostX.
-"PlayerDroppedThruPlatform" in the Player States Widget will now reset to "N" if the player's YSpeed is lower than 0.
-Fixed an issue where Manual Position on the Master Camera Object did not function properly. All of the events that originally containted actions that moved the Camera (including those found in the Movement, Pushout, and Room Camera groups) were consoldaited into the Camera Setup group. These actions are now disabled when Manual Position is activated.
-Fixed an issue where the player could get stuck in scenery if they tried to jump under a very low ceiling. RPM now forces Crouch Jump to activate if it detects a low ceiling while the player is crouching, preventing the mask from changing size when you jump. _CrouchJumpCheck was added to the Engine Widget to detect if Crouch Jump was enabled at the start of the frame. If not, Crouch Jump will disable itself once the ceiling is clear.
-Fixed an issue where the player would be pushed back if they crawled into a wall while in a tight space.
-Fixed an issue where the player could still jump in mid-air if they set Max Jumps to 1.
-Fixed an issue where the player couldn't climb up properly if the mask was standing on the ground.
-Fixed an issue where Jump Buffer could be repeatidly triggered by hold both the Left and Right keys simutaneously.
-The Floor Detector can now detect ladders from a further distance when standing over one.
-The conveyer gadget now uses BoostX to move the player instead of using RePosX directly.
-The Super Basic Stage now has a small area to test crouch jumps, and a sloped area that goes into a ceiling. Also added are new curved sloped platforms in various areas.
-The Quick Reference guide has been updated to reflect the current version of RPM Plus. Note that it may go over features not found in the Standard or Super Basic Edition of RPM.
Per usual, Clickstore edition coming soon-ish.