Player icon indicating copy to clipboard operation
Player copied to clipboard

Allow to set more command line parameters in RPG_RT.ini's [EasyRPG] section

Open fdelapena opened this issue 9 years ago • 13 comments

This way allows to set useful persistent parameters by default when not set from the command line. If set again from the command line interface, they would override them.

encoding is already implemented. Other useful features would be new-game e.g. for games with BetterAEP, window and other.

fdelapena avatar Oct 07 '15 22:10 fdelapena

Available commands (for discussion):

[EasyRPG]
Encoding=1252
disable-audio=0
disable-rtp=0
hide-title=1
new-game=0

About fullscreen/window: It might be better to not use boolean for this, but instead:

displaymode=window
displaymode=fullscreen

carstene1ns avatar Oct 07 '15 22:10 carstene1ns

I would like to have also yes and no as alternate valid values for 0 and 1 for a better experience (maybe INIReader supports this somehow, not checked).

For the window and fullscreen they could also be replaceable as alternate options.

In case of parameter conflict, the last line might be the proper to use (drop warnings when happening?). About duplicates I'm not sure how INIReader handles this.

And case insensitive support for all of them, if not done already (is INIReader case insensitive already?).

About disable-rtp: which is the difference with [RPG_RT]'s FullPackageFlag=1?

fdelapena avatar Oct 07 '15 22:10 fdelapena

Actually you are right about disable-rtp. I thought it would be useful as an option exclusive for player use, i.e. you do not want to load rtp assets albeit existing. However, current way it is handled in player would be the same. Only real change it could do is disable the nasty warning :grinning:.

carstene1ns avatar Oct 07 '15 22:10 carstene1ns

A while ago we had in IRC a discussion concerning which arguments are useful in ini and which are useless and how to behave when the Game Browser is used. I can't remember the full discussion so, from scratch.

Global: Applies for all games started from game browser. This shall be only for things that don't alter the game behaviour. As a long term solution the game browser should get game settings (#666) that can be edited. Game: Applies to the game ONLY when started directly (no browser) Ini: Argument is useful in the INI (applies to the game also when started from browser obvisouly)

Arguments have preference over INI

Argument Global Game Ini
battle-test X X
disable-audio X X
disable-rtp X X
encoding X X
engine X X
fullscreen X X
show-fps X X
hide-title X X
load-game-id X X
new-game X X
project-path X X
save-path X X
seed X X
start-map-id X X
start-position X Y X X
start-party A B… X X
test-play X X
window X X
version X X
help X X
steam-compat X X

Steam compat remaps F12 to Shift-F12 to allow screenshots.

To sum up: When it is used to alter global behaviour (needs a way to be configured someday) it is not available as a INI setting.

Corner case are project-path and save-path. I vote for ignoring save-path frmo game browser because it generates chaos (everything in the same directory, bad). As an ini setting this needs to be sanitized to prevent writes in folders above.

Ghabry avatar Jul 05 '16 10:07 Ghabry

I think test-play is a corner case too. I often start multiple games while bugfixing and would like to pass the flag from the gamebrowser too.

carstene1ns avatar Jul 05 '16 21:07 carstene1ns

Maybe add an extra argument (--expert ???) that enables game only parameters in the game browser... And then log that this causes problems.

Ghabry avatar Jul 06 '16 20:07 Ghabry

A minor detail: to keep consistency with the existing parameters, could the new parameters ignore the hyphen so that HideTitle=1 is equivalent to hide-title=1?

Zegeri avatar Jul 13 '16 15:07 Zegeri

Does not really matter really, the ini reader does not even care for uppercase or lowercase currently, so imo we could easily support with-hyphen and without-hyphen commands in one go. Or decide for one :V.

carstene1ns avatar Jul 13 '16 16:07 carstene1ns

I would say we can postbone this one because the initial motivation (.flow) is solved.

Ghabry avatar Aug 14 '16 19:08 Ghabry

Will postbone this to 0.6 or 0.5.1, too much work.

Ghabry avatar Aug 19 '16 18:08 Ghabry

It would be greate to have more options.

For example this game skips the start screen if I start the game with the default RPG Maker 2003 Player (Presumably there is a patch for this?). It would be nice if I could set the new-game option in the RPG_RT.ini so that the game can behave the same way with EasyRPG Player

JumpLink avatar Dec 14 '21 12:12 JumpLink

Hi, just found this thread, is the "window/fullscreen" parameters is supported? And I also saw there is a "seed" argument in the above discussion, what's that used for? I also use this "parameters" in my local version to generate maze in runtime.

lychees avatar Mar 30 '22 21:03 lychees

And I also saw there is a "seed" argument in the above discussion, what's that used for?

The seed argument allows to replay randomness in a deterministic form. Some behavior and replay is only reproducible using the same seed in order to make the random behave as in was saved in logs. It is also tightly related to the record and replay feature (useful for demo recording without wasting too much space compared to video recording. It is also useful for unit tests where randomness-dependent events need to be compared. The random seed seems to be useful to make your random maze generator reproducible, too. See also https://github.com/EasyRPG/Player/issues/2748#issuecomment-1077333131 for the original 2003 dungeon generator research to be implemented.

fdelapena avatar Mar 30 '22 21:03 fdelapena