Skip to content
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

Die Reise ins All: XO puzzle can't be solved (Tile substitution bug) #1834

Closed
Ghabry opened this issue Jul 14, 2019 · 3 comments

Comments

@Ghabry
Copy link
Member

commented Jul 14, 2019

Please fill in the following fields before submitting an issue:

Name of the game:

Die Reise ins All
https://rmarchiv.tk/games/50

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

Save01.zip

Describe the issue in detail and how to reproduce it:

Load the save, walk through the door (jump with enter) and walk on the XO-tiles, only the O are save.
When you walk the marked tile in the screenshot it will behave like a X and you fail.
Based on the events I think this is tile substitution related.

screenshot_0-fs82-fs8

@Ghabry Ghabry added this to the 0.6.1 milestone Jul 14, 2019

@Ghabry

This comment has been minimized.

Copy link
Member Author

commented Jul 14, 2019

I marked it incorrectly, the problematic tile is the one below and when you open the editor this is the first one that is X by default when not substituted.

@Ghabry

This comment has been minimized.

Copy link
Member Author

commented Jul 14, 2019

@fmatthew5876
The solution seems to be changing

Player/src/game_map.cpp

Lines 720 to 722 in caf789c

// Apply tile substitution
if (chip_index >= 18 && chip_index <= 144)
chip_index = map_info.lower_tiles[chip_index - 18] + 18;

to

if (chip_index >= 18 && chip_index <= 144 + 18)

But I let you handle this with some testing as I'm not sure if this is correct and I also have no idea why there is even the "18". I didn't write the tilemap code :/

@fmatthew5876

This comment has been minimized.

Copy link
Contributor

commented Jul 15, 2019

tiles

There are 2 A tiles, 1 B tile, 3 C tiles, and 12 D tiles. That's where this magic 18 offset comes from. There are 162 = 18 + 144 lower tiles in all.

fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Jul 15, 2019

Terrain / Tile fixes
* Add some new chipset BLOCK constants
* Add function for chip id -> chip index mapping
* If out of bounds coordinates are requested on non-looping map,
  RPG_RT will use the terrain of the first tile.
* Fix bug where tile substitution for last few tiles
  was broken for terrain lookups. Fix: EasyRPG#1834

fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Jul 15, 2019

Terrain / Tile fixes
* Add some new chipset BLOCK constants
* Add function for chip id -> chip index mapping
* If out of bounds coordinates are requested on non-looping map,
  RPG_RT will use the terrain of the first tile.
* Fix bug where tile substitution for last few tiles
  was broken for terrain lookups. Fix: EasyRPG#1834

@Ghabry Ghabry closed this in #1836 Jul 15, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.