Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IRS/IHS/IMS improvements #1143

Closed
wants to merge 13 commits into from
Closed

Conversation

electraminer
Copy link
Contributor

I have overhauled the initial systems to allow for better-feeling controls that are more customizable, while still allowing modes to choose how these logically affect the game.

The IRS, IHS, IMS checkboxes on your controls page will now control whether you can pre-hold the input in order to perform an initial action. For instance, if I hold my rotate key and then press Hard Drop, keeping rotate held, the piece will spawn with IRS if my IRS is enabled in the settings. But if I have it disabled, I will only be able to pre-rotate the piece by pressing the button during entry delay or death hang time (the current IRS behavior)

To prevent accidental misdrops in non-entry delay modes, there is a new IRS Cut Delay setting that works basically the same as DAS Cut Delay but for held IRS inputs. This feature will only be enabled in modes without entry delay, since entry delay modes already have a period to release your input, and usually require IRS to be handled immediately for 20g spawning.

Modes will now interact with the initial systems through the setting of the gameEnv configs logicalIRS, logicalIHS, logicalIMS.
These will control whether IRS, IHS, IMS will actually allow you to do anything you couldn't do without them - for instance survival at the top of the board, and alternative spawning during 20g. These are separate settings so that a mode can control this behavior without directly affecting how you want the game to control, as IRS without these features effectively just makes the game feel better and prevents dropped inputs.
If you care a lot about making modes recreate other games exactly (like if you wanted Classic to be exactly identical to NES tetris down to every single behavior) then maybe you'll want to also have an override that disables input buffering, too. But my general opinion is that turning off input buffering pretty much always just makes a game more annoying without really adding anything, so if you don't care a lot about accuracy then I'd leave it enabled.

@shoucandanghehe shoucandanghehe added the enhancement New feature or request label Aug 29, 2024
@MrZ626
Copy link
Collaborator

MrZ626 commented Sep 3, 2024

manually merged

@MrZ626 MrZ626 closed this Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants