-
Notifications
You must be signed in to change notification settings - Fork 199
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
Getting data from an invalid terrain is broken and unpredictable while it should not #3070
Comments
This map uses tiles with the ID 10000 on the lower layer but 10000 is for upper layer tiles. Our Player crashes because the tiles are out of range (needs better sanity checking). I think this works in RPG_RT due to an implementation detail: The upper layer tiles are directly after the lower layer tiles in memory. This is fixable but the tilemap code is complicated and very old so not a good 0.8.1 candidate... |
It was mentioned in the community forum that the game 海賊高校生 encountered a crash when entering in a specific town: this is due to some of its lower layer tiles being negative, which the Player doesn't seem to appreciate at all, making the Player run out of memory when loading the map. Example with the lower and upper layers of one of the maps affected:
|
Name of the game:
Uneven Dream version 0.07.
Player platform:
Windows, 64 bits continuous build of the Player as well as the webplayer version.
Describe the issue in detail and how to reproduce it:
Start a new game (the character choice is not important), and when you are able to move, teleport to Map 196 with the coordinates (88, 39) and then try to move to the left while holding the CTRL key in debug mode. You should get an invalid terrain error, but the number of the terrain ID and its data may not be consistent after retrying (either after exiting the game, reloading the map or save, or even on the fly): sometimes there will be a collision, sometimes there will be no collision, sometimes your character may be half-transparent when walking into it; sometimes the terrain ID can be 0, or 5471, or 3835, a complete other value or can even be considered as valid; and I've managed to encounter a crash once when trying to walk into it.
Here is an edited version of the ChipSet
EBroxas72-Purple-town
used on said map: while using the RPG_RT of the game and not EasyRPG, you will be able to see the tiles that are considered as an invalid terrain as a yellow x, and for some reason they use the data of said x tile (collision, graphic, terrain ID obtained with the command...) shown on the ChipSet here.The text was updated successfully, but these errors were encountered: