(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-08-24 08:03 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Zelda 3: entrance and exit issue
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
Deflaktor
Posts: 22/53
ok thanks, that would help a lot
MathOnNapkins
Posts: 893/1106
http://math.acmlm.net/Zelda_SRM_ReferenceV4.log

Look for "overworld event information"

Since $7EF000 is the start of what will eventually go into SRAM, this data lies at $7EF280 to $7EF2FF. Working in an .srm file works similarly.

As for how you'd set the bits, I'll use Misery Mire as an example. Say you wanted to make it so that, after doing a certain thing, Misery Mire entrance would be revealed, but the thing you did would be done outside of the Misery Mire overworld area (Swamp of Evil). The proceses of revealing the entrance in real time is a little more involved and actually uses several different overlays being drawn in succession. That's what you see if you use the Ether Medallion in the original game to open it up. However, suppose you have some trigger in overworld area $7A that causes the entrance to be revealed. You'd have to use code somewhat like this:

PHP ; store processor state

SEP #$30 ; makes X, Y, and A registers all 8-bit.

LDX #$79 ; This is the offset in $7EF280 for Misery Mire's data
LDA $7EF280, X
ORA #$20 ; This sets the bit for the entrance overlay to be drawn.
STA $7EF280, X

PLP ; retrieve original processor state
Deflaktor
Posts: 20/53
yeah, but how to set this bits?? and which adress are they?
MathOnNapkins
Posts: 889/1106
The revealing of the entrances to Turtle Rock and Misery Mire (among others) are considered overlays. In the data for overworld areas there is a set of bits that controls whether an overlay is "pasted" over the old graphics if certain bits are set. e.g. if you open Misery Mire, it will paste over with the opened entrance tiles rather than the ominous face looking tiles.
Deflaktor
Posts: 19/53
well, i think they are used in combination of events. for example when a rock is lifted and below is a staircase, the game saves this and tells the overlay to overlay this rock everytime it is shown. but how to call this "events"??
pikaguy900
Posts: 306/748
My guess would be that you'd have to click on the tile again to change it after making changes to it. I'm not sure though, but it's worth a shot. If not, you can always read the readme (if it comes with one...).
Souledge
Posts: 17/33
Well, I learned it can be used together with the "grid " checkbox. When both checked, you get a 16x16 grid, which makes it easier to find the X and Y position for certain events (like opening a fancy door f.e.)

But when I make changes to the map when the overlay is checked, it reverts back to normal as soon as I uncheck the overlay. Also when I test it ingame, the changes I made on the overlay don't show up. Why is this?
Deflaktor
Posts: 18/53
whats the deal with that overlays? how to use them?
Reshaper256
Posts: 171/196
Wow, I didn't have the newest version either. Thanks MON.
Souledge
Posts: 16/33
As I suspected, the version number is the same, but now the overlay checkbox and graphic schemes menu is added.
Tx a bunch
MathOnNapkins
Posts: 888/1106
Here, try this out
Souledge
Posts: 15/33
Tx, both of you
I'll keep this in mind for future references. I used MathOnNapkins' suggestion to copy the part where Link already is under the block. But now I know how to make new blocks as well. Tx again

I'd still like to see if your version is different since I don't have the 16x16 grid (overlay checkbox) and "graphic schemes" directory. So I'd appreciate if you could send it anyways
Orochimaru
Posts: 88/139
The 16x16 grid does exist in the normal HM, you just have to do a certain manipulation to get to it, here's how:



1: Select the tile you wanna have "in front", right click on it (Red)
2: Now it goes to the same tile on the right section, double click it (Blue)



That brings up a new window, the 32x32 tile editor.

3: Right click on the tiles you want to be in front, one at a time (Red)
4: Double click on the same tile on the right (Blue)



Voila! You're now in the 16x16 tile editor.

5: Right click on the tiles (Red) and make sure they all have "in front" (green)
6: Repeat steps 3, 4, 5 for each 32x32 tiles you wanna have over the sprites.

That may seem like a long process but it goes pretty faster then that once you got the hang of it

Edit: haha MoN beat me to it XD
MathOnNapkins
Posts: 887/1106
Double click on the right hand side in the overworld editor on a particular 32x32 block. Then in the right hand side of that dialog box, double click on a particular 16x16 block. I would think that your version should have this.
Souledge
Posts: 13/33
Could you tell me where I could find this "16x16" block editor? I really think I have old version of HM, since the 16x16 grid isn't in it, as well as the "graphic schemes" folder in HM's main tree.

Would you mind sending me your version of Hyrule Magic?

Souledge4458@hotmail.com

Tx
Orochimaru
Posts: 87/139


^^ For overworlds it's really easy, just don't forget the "In front" checkbox. (Blue rectangle)
Right click on all of them (Red square) and make sure all the tiles you want to be over Link have this setting.
Souledge
Posts: 9/33
Thanx again, that did it.
MathOnNapkins
Posts: 884/1106
I'm not big on how the overworld works, but I do know this - the internal SNES hardware is such that each tile is set to have priority over certain thing and some are not. This is not necessary hardcoded into Zelda3, but it is "hard data-ed," if that's even a word. To solve that problem I just copy pasted the structure from the top corners of that section (where the existing doors are). Those specific 32x32 tiles would obviously be known to have priority over sprites, whereas, say, the blue floor would not have priority, which is why you see Link instead of him slipping beneath a blue opaque cloud . Basically, use tiles that are known to obscure Link b/c that is your best option at this time. Other options may come about later since I'm working on an editor but it's not even close to being done.
Souledge
Posts: 8/33
Thanks man! That solved the issue of the door not opening.

Altough I counted the grids manually (1,3,5,7,9,...) since I can't seem to find that "overlay" checkbox you were talking about. My version of HM is 0.962, perhaps there is a newer version?

Also, the problem of Link showing up on the wall instead of coming out from under the wall, is still there (like in the picture above).
Any suggestions for that?
MathOnNapkins
Posts: 882/1106
Using a scientific principle of control (modifying only certain things while leaving other things constant), you would see that you are in fact wrong that the X and Y coordinates don't matter. Unknown 1 and Unknown 2 don't seem to effect any of this behavior. As for calculating what the X and Y coordinates should be... well that doesn't seem that intuitive. However, if you turn on "grid" and also check the "overlays" box you basically find the coordinates as detailed below. (This combination of checkboxes makes the grid chop up the screen into 16x16 boxes instead of 32x32 ones.

start counting in each direction from the upper left. The coordinate you need is the 16 x 16 pixel box that the upper left quadrant of the door resides in. The first square on the left is zero, then the next is one, and so on. Count up until you reach the upper left quadrant of the door and you will have your answer. e.g. if you have to count to box 19 from the left then the X coordinate is 19. Shame seph3 didn't take the hassle out of doing this.
This is a long thread. Click here to view it.
Acmlm's Board - I3 Archive - ROM Hacking - Zelda 3: entrance and exit issue


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.043 seconds; used 362.16 kB (max 421.32 kB)