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

New Command: 2049 - SetGameSpeed #3109

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

jetrotal
Copy link
Contributor

@jetrotal jetrotal commented Oct 1, 2023

Minor experiment, our first new Event Command.


To use it, write in Maniacs TPC:
@raw 2049, "", speedIsVar, speed, speedLimitIsVar,speedLimit, hideSpeedMultiplierIsVar, hideSpeedMultiplier

e.g.:
@raw 2049, "", 0, 10, 0, 50, 0, 1

The command must be inserted inside a parallel process, because Game_Clock::SetGameSpeedFactor(speed); only changes the speed at current frame.

image image

Any refactor (to improve how it's called or to hide the speed counter) is welcome.

@jetrotal jetrotal force-pushed the jetrotal-changeGameSpeed-Command branch from 476e515 to 9154831 Compare October 1, 2023 18:52
@Ghabry
Copy link
Member

Ghabry commented Oct 5, 2023

What is the motivation behind this command?

I don't want to be too negative but I already see the Yume2 gatekeepers adding this command so you are not playing the game incorrectly like they already did with the ini setting to kill widescreen.

Code wise I don't see anything serious. Could be maybe permanent so it doesn't have to be triggered every frame but this needs more code.

@jetrotal
Copy link
Contributor Author

jetrotal commented Oct 5, 2023

I was thinking about cases where a dev would that attach it to a custom button, or select the speed of dialogs only, or even in a minigame that requires faster game speed.

lemme know if this is too specific or if it can annoy other people.

Lemme know if that seems useless...

And yeah, mimigris comented that the 2kki devs already discovered other ways of detect if a game is using easyRPG.

@Mimigris
Copy link

Mimigris commented Oct 5, 2023

What is the motivation behind this command?

On some Maniac games like THUNDER WINDY -Castle of the UndeadKnigh- or Suika's drunk runaway, the Maniac command Set Game Option was used with the setting Set FPS (this changes the speed of the game, a bit like what is done here though it allows another range of values): in the first case, it was done to speed up a game that was created as being slow, while in the latter case, it was done to speed up a loading (which is the generation of a map with the Set Tile command of the patch). This could serve as examples of what could be done with a command like this one.

And yeah, mimigris comented that the 2kki devs already discovered other ways of detect if a game is using easyRPG.

Hopefully they no longer try to detect the Player to do different things when using it nowadays, they just list sometimes the issues that they have in the changelog of the game and on the wiki page of differences, though we still need to keep our eyes on them from time to time to avoid a situation like this to reoccur intentionally.

@Ghabry
Copy link
Member

Ghabry commented Oct 6, 2023

The explanations sounds reasonable so this PR can stay open until I have some time to think about it more

@jetrotal
Copy link
Contributor Author

jetrotal commented Oct 15, 2023

The explanations sounds reasonable so this PR can stay open until I have some time to think about it more

Now the command multiplies the current speed value, protecting the FF buttons from any 2kki dev intention.
And it also caps at 100x speed, to avoid lagging the engine.

To use it, write in Maniacs TPC:
`@raw 2049, "", speedIsVar, speed`

e.g.:
`@raw 2049, "", 0,12`

The command must be inserted inside a parallel process, because `Game_Clock::SetGameSpeedFactor(speed);` only changes the speed at current frame.

Any refactor (to improve how it's called or to hide the speed counter) is welcome.
now speedup command is also influenced by FF buttons.
Put a cap of 100 to avoid glitches.
+ small refactors to cover those new options:
- Custom Maximum Speed.
@jetrotal jetrotal force-pushed the jetrotal-changeGameSpeed-Command branch from 5eabe87 to bf8c96b Compare November 18, 2023 19:03
@Ghabry Ghabry added the EasyRPG New functionality exclusive to EasyRPG Player label Apr 20, 2024
@fdelapena fdelapena added the Awaiting Rebase Pull requests with conflicting files due to former merge label Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Rebase Pull requests with conflicting files due to former merge EasyRPG New functionality exclusive to EasyRPG Player Enhancement
Development

Successfully merging this pull request may close these issues.

4 participants