Skip to content

New Operations for ControlVariables / "ControlVariablesEx" #3346

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

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

Conversation

florianessl
Copy link
Member

@florianessl florianessl commented Feb 1, 2025

Some suggested new operations for a custom "ControlVariablesEx" command.
(These are currently disabled for the vanilla one, Command Code '2022' has to be used)

'210': DateTime: Jetrotal's "GetTime" command

Cherry Picked & refactored Jetrotal's extension from PR #3124 , so it can be used like any other variable operation.
In the comments I included a suggestion, for how this could be adapted to also allow name-based lookup via strings.

'211': ActiveMapInfo

Width & Height are two important infos about the current map I've long desired for ControlVariables.
I've seen that in the meantime, some new Maniac command has been added, that also finally allows access to these, but that seems to be a specialized command that has its own rules..
And with these considered, access to LoopHorizontal / LoopVertical could also prove very useful. (I can think of at least one case, at least)

'212': InspectMapInfo

This command provides access to some information that is stored inside the map tree.
It could still be expanded in functionality, but the most useful one (for my own purposes at least), I think would be the ability, to read Troop information from the current Map.
While I was developing the "Community Edition" for Vampires Dawn this was a pretty annoying hindrance, because I wanted to implement an easy way to just switch between normal RNG battles & overworld encounters. I basically had to write a custom code generation tool to be able to do so...

'213': MessageSystemInfo

Provides basic info about the system settings for message boxes.

'214': MessageWindowInfo

Provides some information about a currently active message window.
Another issue I had, while developing a parallel event, that occassionaly displays some popup information. Normally, you haven't got an easy option of knowing if a message window is currently active & if so, where on the screen it is.
You can't really react & redirect your custom drawn picture/strings/etc. to another part of the screen, so that it won't overlap with the system textbox.

@florianessl
Copy link
Member Author

Nearly forgot..
Here's a small test project for these new operations:
ControlVarsEx.zip

…ure for "ControlVariablesEx"

 (partly cherry picked from commit f860eff @EasyRPG-NewFaturesNewFeatures:NewCommand-GetTime)
…essible info on current map ("ActiveMapInfo") or info on any map settings straight out of the map tree ("InspectMapTreeInfo" -> parent map, troop info, arena info)
…her feature branch 'LcfInspection' that has a more general approach for lcf data lookup)
@florianessl florianessl force-pushed the features/ControlVar_NewOps branch from b92572d to a9a4b8a Compare March 24, 2025 16:29
@Ghabry Ghabry added this to the 0.8.2 milestone Mar 25, 2025
@jetrotal
Copy link
Contributor

btw, you spoke about retrieve data based on string, maybe this could work as an replacement for #3214

@florianessl
Copy link
Member Author

florianessl commented Mar 27, 2025

btw, you spoke about retrieve data based on string, maybe this could work as an replacement for #3214

Yeah, I'll give it some thought when I get back to further developing that feature. (And I'll also consider compatibility for/extending the new JSON command as well)
Right now I have to examine my priorities again & focus on some other stuff.

The first (very rough) draft for that feature can be found in my personal repo here:

@fdelapena fdelapena added the EasyRPG New functionality exclusive to EasyRPG Player label Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EasyRPG New functionality exclusive to EasyRPG Player
Development

Successfully merging this pull request may close these issues.

4 participants