EasyRPG / Player

RPG Maker 2000/2003 and EasyRPG games interpreter
https://easyrpg.org/player/
GNU General Public License v3.0
991 stars 186 forks source link

Error when using VehicleTeleport from Parallel Map Event. #2568

Open Goburinbro opened 3 years ago

Goburinbro commented 3 years ago

Shoukan Gaki 2nd V1.05 2nd EASYRPG BUG TEST EDITION.zip

Save file is included in zipped game folder.

Please fill in the following fields before submitting an issue:

Name of the game: Shoukan Gaki 2nd - UNSEEN

Player platform:

Windows, Linux, Android, ... Linux, Windows, Browser version as tested.

Attach files (as a .zip archive or link them)

Describe the issue in detail and how to reproduce it:

Description of bug When transporting a player/vehicle using a parallel process map event, an error is thrown by EasyRPG Player stating that "VehicleTeleport not allowed from parallel map event." However, this is not something which occurs when using the official RM2k exe. How: Use Save File Save02.lsd and enter the cat-shaped tent in front of the player. Speak to the black cat and skip through the dialogue, then fly right until you reach the end of the map with a starry night sky. This error will be thrown after a brief fade out where the player would normally be transported to a blank map for some dialogue.

image

Ghabry commented 3 years ago

Thanks for reporting the bug.

When the party is inside a Vehicle and you use "Change Vehicle Position" to move to a different map it will instantly transport the party inside the vehicle to a new map.

This is a bug in RPG_RT and will always crash when you are using it in a parallel event.


However, here this looks like a timing problem in our engine:

@> Get Player Location: Variable [0490][0491][0492]
@> Conditional Branch: Variable [0491:curlo x END] == 99
  @> Fadeout BGM: 5 seconds
  @> Tint Screen: (0,0,0,0), @5.0s, Wait
  @> Transfer Player: [0016:FAKE MAP] (010,007), Retain
  @> Get On/Off Vehicle
  @> Set Vehicle Location: Airship, [0001:OVERWORLD MAP] (058,048)
  @>
 : Branch End

As you can see there is a "Get On/Off Vehicle" before the "Set Vehicle Location", so there is no "Vehicle Teleport" happening here.

So yeah this is a bug in our engine.

Ghabry commented 3 years ago

I replicated this now in a testgame and this does indeed crash for me in RPG_RT:

So yeah this triggers a "Vehicle Teleport" from a parallel event but it somehow survives instead of crashing the RPG_RT engine...

Ghabry commented 3 years ago

@Goburinbro A quick workaround for you: Replace Map0039 with this one:

Map0039.zip

Goburinbro commented 3 years ago

Thank you very much for looking into this. I didn't realize that this was in fact a bug in the stock EXE, I suppose I've just been very lucky this whole time.