• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Other] Creating a seamless overworld in Fire Red (removing border blocks outside)

Luster

Form changing script (HINT)
  • 29
    Posts
    15
    Years
    Hi all, long time lurker, first time poster -

    I've been wanting to create a seamless overworld in Fire Red. By this I mean each map outside of buildings will be a square tile and have connections to other maps in the north, south, east and west.

    I'm sure you'll know that if you've tried something like this yourself, it looks great until you see 4 map corners touching. Border blocks still spawn around the corners of each map randomly and block you just as they usually would.

    What I'm trying to do is find the routine that causes border blocks to spawn. I'll then modify it to check if the map type. If it is 0x02 or 0x03 (a "city" or "route" as AdvanceMap calls them) then the routine will simply stop there and border blocks won't spawn. If it is anything else, then the player must be indoors, in a cave or underwater and border blocks would still need to spawn.

    I know the very basics of ASM and am quickly picking it up, though my skills aren't good enough to find the offset for the border block spawning/generating routine. If anyone could help me out or give me a few tips, it would be very much appreciated. I'd love to see this developed and have always wanted to see seamless worlds in ROM hacks.
     
    Last edited:
    An alternative option would be adding more connections to each map (although that's a bit of a hassle...). Although there's no 'north-east' or 'south-west' connection type, you can instead work with existing connection types and place the maps via the offset property so that they appear to be diagonal. You are able to add multiple connections in one direction, after all.
     
    That's actually a brilliant idea, I can't believe I never thought about it! I'll try it out right now, thank you!

    I've been skimming through Knizz's Fire Red disassembly in IDA in the meantime and I've found a routine called "mapborder_visible_from_position" at $59334. I'll investigate further later.
     
    Back
    Top