Graphics.transition doesn't honor target viewport tone? #199

Closed
opened 2018-05-21 04:27:50 +00:00 by pulsejet · 8 comments
pulsejet commented 2018-05-21 04:27:50 +00:00 (Migrated from github.com)

If I have a viewport in the target frame with tone set, Graphics.transition ignores it and goes to the frame without the tone, and the tone is set at the next update.

For example, if I have a menu system that creates a new map spriteset at the background, and I go to it from a map with some dark tone set, default RGSS behavior allows this and the transition is seamless. In mkxp, however, it first transitions to the map without the tone and then the tone is suddenly set to dark.

Is this related to some known behavioral difference or a bug in my scripts/mkxp?

If I have a viewport in the target frame with tone set, Graphics.transition ignores it and goes to the frame without the tone, and the tone is set at the next update. For example, if I have a menu system that creates a new map spriteset at the background, and I go to it from a map with some dark tone set, default RGSS behavior allows this and the transition is seamless. In mkxp, however, it first transitions to the map without the tone and then the tone is suddenly set to dark. Is this related to some known behavioral difference or a bug in my scripts/mkxp?
Ancurio commented 2018-05-21 07:33:45 +00:00 (Migrated from github.com)

This definitely shouldn't be happening.

This definitely shouldn't be happening.
pulsejet commented 2018-05-21 07:49:22 +00:00 (Migrated from github.com)

So a bug in my scripts? The game does have quite a few custom scripts ...

So a bug in my scripts? The game does have quite a few custom scripts ...
Ancurio commented 2018-05-21 08:09:43 +00:00 (Migrated from github.com)

I tried to reproduce this in two ways right now:

  • Create sprite with a viewport, freeze, set tone, transition
  • Create sprite without viewport, freeze, recreate sprite with toned viewport, transition

In both cases, the bug you described didn't happen. Can you isolate a test case (ideally just a ruby script) that reproduces the issue? And yes, if what you describe does happen, that's a bug in mkxp.

I tried to reproduce this in two ways right now: * Create sprite with a viewport, freeze, set tone, transition * Create sprite without viewport, freeze, recreate sprite with toned viewport, transition In both cases, the bug you described didn't happen. Can you isolate a test case (ideally just a ruby script) that reproduces the issue? And yes, if what you describe does happen, that's a bug in mkxp.
pulsejet commented 2018-05-21 08:19:30 +00:00 (Migrated from github.com)

Couldn't reproduce with the standard scripts, so I'll close this. Sorry for the trouble and thanks for help. Any ideas what this might be related to? The only thing I can think of right now is syntax differences between 1.8 and 2.x

Couldn't reproduce with the standard scripts, so I'll close this. Sorry for the trouble and thanks for help. Any ideas what this might be related to? The only thing I can think of right now is syntax differences between 1.8 and 2.x
Ancurio commented 2018-05-21 08:33:31 +00:00 (Migrated from github.com)

Impossible to say without debugging the scripts.. although it doesn't sound like an issue that would be caused by Ruby differences. I encourage you to keep this bug open and to try isolating the root cause, it might be with mkxp after all.

Impossible to say without debugging the scripts.. although it doesn't sound like an issue that would be caused by Ruby differences. I encourage you to keep this bug open and to try isolating the root cause, it might be with mkxp after all.
pulsejet commented 2018-05-21 08:56:37 +00:00 (Migrated from github.com)

Okay managed to reproduce it. It happens only when the Gray value in Tone is non-zero (the exact value doesn't seem to matter. When it is zero, behavior is as expected). To reproduce, (the lame minimal case I could think of), start with the stock scripts and

  1. Create an event on a new map that sets the tone to something violent, with a non-zero gray value
  2. In Scene_Menu, add @spriteset = Spriteset_Map.new at the top of main and @spriteset.dispose at the bottom
  3. Move one of the windows aside/remove one so that you can see what's happening behind

The tone flickers if I do this with mkxp, but not the default player

Okay managed to reproduce it. It happens only when the Gray value in Tone is non-zero (the exact value doesn't seem to matter. When it is zero, behavior is as expected). To reproduce, (the lame minimal case I could think of), start with the stock scripts and 1) Create an event on a new map that sets the tone to something violent, with a non-zero gray value 2) In `Scene_Menu`, add `@spriteset = Spriteset_Map.new` at the top of `main` and `@spriteset.dispose` at the bottom 3) Move one of the windows aside/remove one so that you can see what's happening behind The tone flickers if I do this with mkxp, but not the default player
pulsejet commented 2018-05-21 09:44:09 +00:00 (Migrated from github.com)

Confirmed this. Having the following in Spriteset_Map before the tone is set fixes transitioning

if $MKXP
    $game_screen.tone.gray = 0
end

EDIT: Maybe I should mention, I'm on Windows 10 x64

Confirmed this. Having the following in `Spriteset_Map` before the tone is set fixes transitioning ```ruby if $MKXP $game_screen.tone.gray = 0 end ``` EDIT: Maybe I should mention, I'm on Windows 10 x64
Ancurio commented 2018-05-21 09:47:04 +00:00 (Migrated from github.com)

Thanks, changing the tone in my minimal sprite testcase also produces the issue you described. Now I have something to work off of :)

Thanks, changing the tone in my minimal sprite testcase also produces the issue you described. Now I have something to work off of :)
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: MapleShrine/mkxp#199
No description provided.