Primary Zelda Hacking
April 21, 2014, 09:26:03 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: The website has switched hosts and now has the domain zeldahacking.net!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: How to Make Maps Swap With Underwater Maps (Like Symmetry Village)  (Read 637 times)
Lin
ZOLE Creator
Administrator
Hero Member
*****
Online Online

Posts: 580



View Profile
« on: June 07, 2011, 10:37:08 PM »

Well, Fatories and I needed this for our hack but I didn't actually know how to do it. So, after looking into it, as long as bit 0 is set in the room's flag, it will use 02 or 03 for the map group, depending on what map group you're on. So how could you do this via script? Simple.

Code:
setroomflag 01

Or you could make events in the past change the ones in the present by using my custom command setroomflago. Very easy and very powerful. Note this can indeed be used for single-tile changes because ZOLE doesn't support any tile changes (Except for map scripts). Note that the tileset must be different in the original room or you'll be using the original tileset with a different palette until you press the start menu.

Edit: I found out in order for the map to properly swap, a value must be unset and another value must be set. First off, the 6th byte in the area data must be 00 in the unswapped one. In the swapped one, it must be 01. So, what does that mean? You're gonna need a hex editor and to do a little math.

For the unswapped one: Go to address 10FBC + [unswapped area ID * 8] + 6 and make sure the byte is 0.
For the swapped one: Go to address 10FBC + [swapped area ID * 8] + 6 and make sure the byte is 1.

This means you have to use two different area IDs. Have fun.

~Lin
« Last Edit: June 08, 2011, 05:17:23 AM by Lin » Logged
supershadow64ds
Newcomer
*
Offline Offline

Posts: 4


View Profile
« Reply #1 on: November 27, 2011, 10:55:21 PM »

Uh.... this would be helpful, unfortunately I have no idea how to do... what you just said, seeing as how ZOSE crashes my game (Probably because I dont know how to use it) and I don't...speak ZOSE code. I am but a kid, ZOLE is easy to use, all I do is find a tile I want, then I click down on it. Easy to use, and ZOCF is even easier when you know how to use it. Please translate into Noob talk?
Logged
Lin
ZOLE Creator
Administrator
Hero Member
*****
Online Online

Posts: 580



View Profile
« Reply #2 on: November 28, 2011, 10:19:04 PM »

Uh.... this would be helpful, unfortunately I have no idea how to do... what you just said, seeing as how ZOSE crashes my game (Probably because I dont know how to use it) and I don't...speak ZOSE code. I am but a kid, ZOLE is easy to use, all I do is find a tile I want, then I click down on it. Easy to use, and ZOCF is even easier when you know how to use it. Please translate into Noob talk?
Your ZOLE and ZOSE versions might not match. That's important. And you're but a kid? I'm 16. I made ZOLE when I was 15 Tongue It really is not hard. You need to actually think hard and follow the instructions listed above. Surely you can do even the most basic algebra which is plugging in a variable.
Logged
Marky
Newcomer
*
Offline Offline

Posts: 20


View Profile
« Reply #3 on: January 10, 2012, 02:59:24 AM »

This is fantastic, I just got it to work on a map of mine.  I was just wondering, is there any way I can trigger the change from another map?
Logged
Fatories
LALE Creator
Administrator
Full Member
*****
Offline Offline

Posts: 223



View Profile
« Reply #4 on: January 10, 2012, 03:06:29 AM »

This is fantastic, I just got it to work on a map of mine.  I was just wondering, is there any way I can trigger the change from another map?
Yes there is. Rather than doing a setroomflag comand you could do a setmemory C7xx if the map is in the present overworld. I believe C8xx is for the past overworld. C9xx is for dungeons at least ones in the real map group 04.

xx is the map value and for further information C7, C8 and C9 are where the roomflags are stored in the memory
Logged

The force of a true man can penetrate all. Nothing is safe.
Marky
Newcomer
*
Offline Offline

Posts: 20


View Profile
« Reply #5 on: January 10, 2012, 03:27:05 AM »

Fantastic, thanks heaps!
Logged
Marky
Newcomer
*
Offline Offline

Posts: 20


View Profile
« Reply #6 on: January 10, 2012, 04:26:24 AM »

Scratched the contents of this post because the problem I was having I fixed, but I did discover something.  Changing the bytes at the required addresses in a hex editor had the unfortunate effect of glitching my tilesets for whichever area ID was 4 numbers up from the one I was trying to edit.  So, when I modified area ID 3 ($10FDA) in the hex editor, area ID 7 became glitchy.  Same thing happened when editing ID 4 ($10FE2), causing problems with ID 8.

So, I avoided using the hex editor and just tried to use Fatories' suggestion of using setmemory C7xx.  I found it worked perfectly if the area IDs were different, but the rest of the area properties (Tileset, Palette, etc) were all the same.
« Last Edit: January 10, 2012, 06:23:48 AM by Marky » Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!