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

Parse maps Warp data #64

Closed
kemenaran opened this issue Oct 9, 2018 · 2 comments
Closed

Parse maps Warp data #64

kemenaran opened this issue Oct 9, 2018 · 2 comments
Labels
help wanted contributions gladly accepted

Comments

@kemenaran
Copy link
Collaborator

For now maps have their header and blocks data disassembled, but not their warp data.

From the LALE hacking notes:

Warps
Each screen can have one warp

5-Byte Warps

  • First byte = Area Type (E tells it to be a warp, 2 = area type)
    • 00 = overworld
    • 01 = dungeons A
    • 02 = dungeons B
  • Second byte = Dungeon map (00 = Level 1, 01 = Level 2, etc)
  • Third byte = Dest Room (Must be in map of the dest dungeon)
  • Fourth byte = X (Tile x, extra X)
  • Fifth byte = Y (Add 10, starts at header)

These Warp data can probably be parsed and disassembled to a readable ASM format (by a script similar to tools/generate_map_data.py).

@kemenaran kemenaran added enhancement help wanted contributions gladly accepted labels Oct 9, 2018
@kemenaran
Copy link
Collaborator Author

Note by @Xkeeper0:

map_parser.py currently treats any FE as an end-of-room marker, but this appears in warp data for a few rooms (namely Overworld13 and OverworldE3, maybe others)

This means room objects need to be properly parsed to parse warp data.

@kemenaran
Copy link
Collaborator Author

Fixed by #67

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted contributions gladly accepted
Projects
None yet
Development

No branches or pull requests

1 participant