Zelda III: Hyrule Explorer

Page 2 of 3 Previous  1, 2, 3  Next

Go down

20161227

Post 

Zelda III: Hyrule Explorer - Page 2 Empty Zelda III: Hyrule Explorer




Zelda III: Hyrule Explorer - Page 2 Zelda-3-explorer

Patch Download:

http://www.romhacking.net/hacks/4399/

-------------------------------------------------------------------------

This is my first attempt at a hack (actually it is merely a modification) of A Link to the Past.

As you all know, ALttP enforces a very linear order of the dungeons (at least until you've played a large part of the game). This minimizes the exploration aspect to a large extend. The goal of this hack is to remove the linearity as much as possible, without changing anything substantial. In fact, I would very much prefer if the changes are completely unnoticeable if not invisible.

Obviously, it would not make sense to allow access to everything at any time. There are a few necessary "sync points" for the story: Link needs all pendants to get the Master Sword, to fight Aghanim, to transfer to the Dark World. Link needs all crystals to access Ganon's tower. Etc. I tried, however, to allow an as arbitrary as possible™ order to get the crystals and pendants, respectively.

Quite likely, someone has had this idea before. I could, however, not find a released hack.


So far, the (Overworld-only) changes are as follows:

Changes:


I have some things left to change, which are probably trivial for you guys.
So, if anyone could give me some pointers for these...

Questions:


And some other things ...

To-Do:


I'd certainly appreciate if someone finds something that could be changed to further remove dungeon-order restrictions without removing riddles or the like. Also, if I made mistakes somewhere, please let me know. Thanks!



md5 checksums:


Last edited by SePH on Thu 23 Jul 2020 - 17:26; edited 7 times in total
eyeballkid
eyeballkid

Zelda III: Hyrule Explorer - Page 2 Image213

Since : 2016-12-26

Back to top Go down

Share this post on: reddit

Zelda III: Hyrule Explorer :: Comments

qwertymodo

Post Sat 31 Dec 2016 - 1:12 by qwertymodo

Still, even if he doesn't use the actual code, at least bringing it up as something to be included, as well as providing your code for a reference implementation would still be useful.

Back to top Go down

eyeballkid

Post Sat 31 Dec 2016 - 1:19 by eyeballkid

Sure.

OTOH, I'd never aim for writing a HM replacement. More like a supplement. I just thought of having a nimble program to flick a few switches in the ROM employing the knowledge gathered in the Single Codes collection.

Back to top Go down

eyeballkid

Post Mon 2 Jan 2017 - 16:55 by eyeballkid

I updated the first post to reflect the latest version (boots alt-item fixed) and to summarize the answered questions ...


However, somehow I'm not able to upload the patch file anymore. I am getting
Code:
Could not upload file : exceeded user allowed storage. (Free space : 93)

I thought, I needed to delete the old zip file. But that didn't remove the error message. (Now I also cannot upload the old zip anymore Very Happy)

Any idea?

EDIT: So, now it worked to add the new zip. I then tried to also re-add the old one. But got the error again ...

Back to top Go down

Puzzledude

Post Wed 4 Jan 2017 - 18:35 by Puzzledude

EDIT: So, now it worked to add the new zip. I then tried to also re-add the old one. But got the error again ...
I suggest you use a separate uploading host, such as zebucket or dropbox to upload files and then link to them, as it is usual when it comes to uploading. The attachement was meant only for small files and is very limited. The attachement will also have conditions to download (which is why it was implemented), while other links can just be direct and without condition (like: need to be logged in to download).

Back to top Go down

eyeballkid

Post Wed 4 Jan 2017 - 18:51 by eyeballkid

Thanks. I see what you meant.

I hadn't thought about this, as the IPS files are really tiny ...


By the way, would it make sense to move the Chest Alt-Item Editor post to the Tools section. I suppose no one would ever find it in here...

Back to top Go down

Puzzledude

Post Thu 5 Jan 2017 - 6:43 by Puzzledude

You can just make an additional post in the tools instead.

Back to top Go down

eyeballkid

Post Thu 5 Jan 2017 - 14:39 by eyeballkid

Will do ...
EDIT: Done Smile

It's here ...

Back to top Go down

avatar

Post Fri 6 Jan 2017 - 13:30 by Mr.x

qwertymodo wrote:Still, even if he doesn't use the actual code, at least bringing it up as something to be included, as well as providing your code for a reference implementation would still be useful.

I saved the file, I probably won't be using the source code in the project as a huge reference, C# is too different from python. The most import things are the ROM address 0x3B528 and the general logic.

Back to top Go down

eyeballkid

Post Fri 6 Jan 2017 - 16:11 by eyeballkid

Trovsky wrote:The most import things are the ROM address 0x3B528 and the general logic.

Exactly. But the logic is really trivial... And the address came from qwertymodo, not me!

I also meant, you have more important things to work on if you want to replace HM. I doubt it makes sense to re-implement my tiny single-purpose editor (at least just now) as you aim for having a a full-blown sound/graphics/text/map editor.

Back to top Go down

avatar

Post Fri 6 Jan 2017 - 16:18 by Mr.x

eyeballkid wrote:
I also meant, you have more important things to work on if you want to replace HM. I doubt it makes sense to re-implement my tiny single-purpose editor (at least just now) as you aim for having a a full-blown sound/graphics/text/map editor.

Well, yes. It's a feature to consider in the future. It have to use my time intelligently. The text editor is mostly done so you can use it on your projects. The DTE table is a little off and doesn't read it from the ROM. The credit text also doesn't have an editor.

Back to top Go down

eyeballkid

Post Sun 8 Jan 2017 - 0:58 by eyeballkid

While trying my luck at editing the title screen, I noticed that the original title seems to have a mistake. The last "T" has 3 pixels of the black outlines missing (click for larger image):

Zelda III: Hyrule Explorer - Page 2 Title10

Is this known?
Could a simple fix be done and added to the Original ALTTP bug fixes?


Anyway, is editing the title supposed to be that complicated?
How do you usually do this?

BTW., this is what I got so far (click for larger image):

Zelda III: Hyrule Explorer - Page 2 Titles10

I've simply drawn the new letters by hand. They do not really fit to the old font, though ... I'll work on that. OTOH, I could also re-draw the upper letters. For starters, I just wanted to make sure I can fit it into the available space.

Back to top Go down

Puzzledude

Post Sun 8 Jan 2017 - 6:46 by Puzzledude

Is this known?
Could a simple fix be done and added to the Original ALTTP bug fixes?
Yes, however this can not be fixed, as there is no space left, because you would need one small square of empty gfx just for these 3 pixels. Original authors thus didn't bother to fix this.

Anyway, is editing the title supposed to be that complicated?
Not sure what you mean by complicated, but yes it is considered "advanced" editing.

How do you usually do this?
As any other gfx only more advanced.
First you need to manipulate the 3 main gfx sets which will be loaded when the title screen is loaded (note: there are more than 3 loading obviously, as it is presented in HM on the right. All together you have 2 banks going from 00 to FF).

Once this is done in correspondence with the pals, you can "load" the gfx onto the title screen with HM's title screen editor either on bg2= title itself, or bg1= castle, clouds, mountains etc in the back, or even bg3. Right click then inserts so called "elements" to be filled. These elements can be expanded from one single square into horizontal, vertical or both, and could be of "normal filling" or "fill all with the same". Gfx parts can be loaded normally, x mirrored, y mirrored, or rotated and can be loaded on diffrerent pals.

For the background, multiples of the one gfx can be loaded usually along the entire horizontal, to form a "horizont" effect and on multiple pals, which can again be manipulated with HM's separated pal editor.

I've simply drawn the new letters by hand. They do not really fit to the old font, though ... I'll work on that. OTOH, I could also re-draw the upper letters. For starters, I just wanted to make sure I can fit it into the available space.
In YY chr, you have the option of "copy paste", rotate, mirror etc. So you really don't need to draw everything by hand. You can copy paste parts/parts of letters from ALTTP to match their style, but you are limited with space: Hyrule Explorer is a bit to long to fit with standard letters I would say.

Otherwise all brand new gfx is drawn by hand, unless you are using gfx from other games, in which case you can copy paste them and manually adopt them to 16bit. Specially Gameboy gfx is compatible with SNES.

Back to top Go down

eyeballkid

Post Sun 8 Jan 2017 - 17:46 by eyeballkid

Puzzledude wrote:
Is this known?
Could a simple fix be done and added to the Original ALTTP bug fixes?
Yes, however this can not be fixed, as there is no space left, because you would need one small square of empty gfx just for these 3 pixels. Original authors thus didn't bother to fix this.

I guessed so. However, after I've noticed it now, I cannot unsee it ;-)


Puzzledude wrote:
Anyway, is editing the title supposed to be that complicated?
Not sure what you mean by complicated, but yes it is considered "advanced" editing.

Mainly, that the tile placement ("draw" in the editor) is very picky about how and where you click. It seems you have to drag a slight bit to actually place a single tile. I seem to be more likely filling adjacent ones ... I guess a zoom feature in that window would be awesome!

And, I can't make sense of the palettes. There are 8 in the main editor window, which you can choose by entering a number (0..7). And there are many more in the window where you can copy/paste a tile bank. It seems a bit random which color ends up where, when you switch between the windows.

Also the tile re-use: For instance, I was very confused until I noticed that the tiles for "THE" and a bit of the "P" in "PAST" is also used at the top in "THE L". I edited the bottom, and ended up with a broken top. I solved this for now, by keeping the "THE P" part...

I suppose there's no way to export an assembled image. Change it, and then take the new image apart as new tile set. But I also see why this is hard to automate. The number of tiles is highly optimized, hence you have to end up with an image using the same number max. This obviously needs careful manual adjustments to allow tile re-use.

Speaking of which, I think it would be possible to alter the original font slightly to better fit into the tile size. Then, parts could be recycled. Like, combine the lower P with an upper E to form an F. This might save a lot of space... But, is certainly harder to make still look nicely.


Puzzledude wrote:
How do you usually do this?
As any other gfx only more advanced.
First you need to manipulate the 3 main gfx sets which will be loaded when the title screen is loaded (note: there are more than 3 loading obviously, as it is presented in HM on the right. All together you have 2 banks going from 00 to FF).

Once this is done in correspondence with the pals, you can "load" the gfx onto the title screen with HM's title screen editor either on bg2= title itself, or bg1= castle, clouds, mountains etc in the back, or even bg3. Right click then inserts so called "elements" to be filled. These elements can be expanded from one single square into horizontal, vertical or both, and could be of "normal filling" or "fill all with the same". Gfx parts can be loaded normally, x mirrored, y mirrored, or rotated and can be loaded on diffrerent pals.

For the background, multiples of the one gfx can be loaded usually along the entire horizontal, to form a "horizont" effect and on multiple pals, which can again be manipulated with HM's separated pal editor.

I see. Thanks!
This is basically what I did ...


Puzzledude wrote:
I've simply drawn the new letters by hand. They do not really fit to the old font, though ... I'll work on that. OTOH, I could also re-draw the upper letters. For starters, I just wanted to make sure I can fit it into the available space.
In YY chr, you have the option of "copy paste", rotate, mirror etc. So you really don't need to draw everything by hand. You can copy paste parts/parts of letters from ALTTP to match their style, but you are limited with space: Hyrule Explorer is a bit to long to fit with standard letters I would say.

I said "drawn by hand" loosely. I used idraw3 to draw the letters. You can rotate, mirror, etc. there, too. I used these features ... I drew them new and manually to understand the size constraint better. And, yes, you are right: With the original letters it cannot fit. But, I'll think about it some more.

I'd also welcome a better name ;-)


Puzzledude wrote:Otherwise all brand new gfx is drawn by hand, unless you are using gfx from other games, in which case you can copy paste them and manually adopt them to 16bit. Specially Gameboy gfx is compatible with SNES.

Good point. Thanks.

I think, I need to stick to my basic premise: The result should blend in with ALttP. So, I'll first try to edit the original font.

Back to top Go down

Puzzledude

Post Sun 8 Jan 2017 - 18:42 by Puzzledude

Mainly, that the tile placement ("draw" in the editor) is very picky about how and where you click. It seems you have to drag a slight bit to actually place a single tile. I seem to be more likely filling adjacent ones ... I guess a zoom feature in that window would be awesome!
That's true. However HM's editor does not have the zoom, and because of that, it is very difficult to actually fill in the correct tile and usually you will fail with the first try, unless you decide to go for the small squared tiles, which can only be filled correctly with one click if they are not expanded. This is not recomended though as the game might simply not allow aditional elements (this is why PW's title screen was glitched and yet everything was done correctly).

And, I can't make sense of the palettes. There are 8 in the main editor window, which you can choose by entering a number (0..7). And there are many more in the window where you can copy/paste a tile bank. It seems a bit random which color ends up where, when you switch between the windows.
I suggest you open the Palette editor in Hyrule Magic and then open the World colours 1 Pal 5. These are main pals for the title screen. 5 horizontals contain 7 colours each. Each line is one global pal, which is set in HM as pal from 2 to 6. (pals 0, 1, 7 are elsewhere). Pal 7 should be a derivate of 4 for a different fade in effect. Then they should just repeat.

Knowing this you can manipulate all pals: 1st parameter is the actual colours you choose when drawing gfx in YYchr (should be 8), 2nd is to actually set the coresponding colours in World colours 1 pal 5 in HM, and finally choosing the global pal in the title screen editor before drawing.

With this you can actually make brand new backgrounds of different colours and gfx as what the original is using.

Additional pals 0, 1, 7 are then set for the bg1 (sword, actual big Zelda name and its parts/fillings, as well as the title, which is usually black, grey, white pal).


Also the tile re-use: For instance, I was very confused until I noticed that the tiles for "THE" and a bit of the "P" in "PAST" is also used at the top in "THE L". I edited the bottom, and ended up with a broken top. I solved this for now, by keeping the "THE P" part...
I suppose there's no way to export an assembled image. Change it, and then take the new image apart as new tile set. But I also see why this is hard to automate. The number of tiles is highly optimized, hence you have to end up with an image using the same number max. This obviously needs careful manual adjustments to allow tile re-use.
That's the whole point, everything is reused, sometimes even multiple times. You can draw an "unlimited" amount of times by using the same gfx tile. And the gfx tiles are not only "highly optimized", they are 100 percent optimized, meaning no small 8x8 tile/region will ever repeat in the gfx set.
This is how the game was made.


Back to top Go down

eyeballkid

Post Sun 8 Jan 2017 - 18:51 by eyeballkid

Puzzledude wrote:Knowing this you can manipulate all pals: 1st parameter is the actual colours you choose when drawing gfx in YYchr (should be 8), 2nd is to actually set the coresponding colours in World colours 1 pal 5 in HM, and finally choosing the global pal in the title screen editor before drawing.

Thanks! I think, this mapping was what I didn't understand.
If I remember correctly, this is however what I used ... but only found by trial and error.


Puzzledude wrote: That's the whole point, everything is reused, sometimes even multiple times. You can draw an "unlimited" amount of times by using the same gfx tile. And the gfx tiles are not only "highly optimized", they are 100 percent optimized, meaning no small 8x8 tile/region will ever repeat in the gfx set.

By "highly optimized", I also meant 100% ;-)
But I understand what you mean.

Back to top Go down

avatar

Post Sun 8 Jan 2017 - 20:50 by Mr.x

Refer to this topic to get all the pointers for the screens: https://www.zeldix.net/t229-all-screens-title-naming-screen-etc

@Puzzledude: You seem to have (supposedly) deleted most of the content on the topic I linked. I restored the content. Is that okay?

For what it's worth, I am currently coding the menu screen editor for Zeldix Magic based on Puzzledude's documentation. I'm coding it so that it can handle changed pointers and expansion.

Back to top Go down

Puzzledude

Post Mon 9 Jan 2017 - 6:43 by Puzzledude

@Puzzledude: You seem to have (supposedly) deleted most of the content on the topic I linked. I restored the content. Is that okay?
Sure. As I remember correctly, I wanted to bring the data to one document, instead of it being a forum post message, but never got around doing so. A lot has also been lost due to my dropbox crash (which resulted in a lot of download links not working).

For what it's worth, I am currently coding the menu screen editor for Zeldix Magic based on Puzzledude's documentation. I'm coding it so that it can handle changed pointers and expansion.
This is great. That's why I published all that data in the first place. I also decoded pointers for main screens only, and specially the title screen data needs to be repointed, since the custom title screens can have a lot more data than what the original had.

Back to top Go down

avatar

Post Mon 9 Jan 2017 - 12:01 by Mr.x

Puzzledude wrote:Sure. As I remember correctly, I wanted to bring the data to one document, instead of it being a forum post message, but never got around doing so. A lot has also been lost due to my dropbox crash (which resulted in a lot of download links not working).

If you find any posts that you removed, input the URL topic's into archive.org, that's what I did.

Puzzledude wrote:This is great. That's why I published all that data in the first place. I also decoded pointers for main screens only, and specially the title screen data needs to be repointed, since the custom title screens can have a lot more data than what the original had.

For what it's worth, the main screen pointers for the original, unnmodified ROM seem to vary from the pointers in your guide.

Back to top Go down

Puzzledude

Post Mon 9 Jan 2017 - 12:14 by Puzzledude

For what it's worth, the main screen pointers for the original, unnmodified ROM seem to vary from the pointers in your guide.
Yes, I just noticed that.

However the location of pointers seems to be the same, but the code is different.
Code at 137D is:
6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E

Try to save once with HM and you'll see this code gets overwritten with new code. So my guide has what HM does uppon the first save, ie a slight reallocation of the code. Yet pointer location is the same, so is the code for actual screens. But in unmodified rom the title screen is at 0C DD 6D= 65D6D, for instance.

PS
Getting off topic.

Back to top Go down

eyeballkid

Post Mon 9 Jan 2017 - 13:35 by eyeballkid

Puzzledude wrote:PS
Getting off topic.

Don't worry. I guess, I off-topic'ed this thread several times now myself ... Wink

Back to top Go down

eyeballkid

Post Wed 20 Mar 2019 - 10:05 by eyeballkid

A few days ago, I finally uploaded this hack/mod to RHDN:

http://www.romhacking.net/hacks/4399/

Some nice person actually found and reported a bug. I am, however, fairly clueless on what causes it since I never touched anything about this part of the game. Maybe one of you has seen this before:

When pulling the lever in the swamp ruins (to drain the outside water and find the heart piece), the jingle plays twice and the water rises twice. Basically overflowing the room, however only visually (one walks on the water). This stays until one leaves and re-enters the ruins. Afterwards everything looks and behave normally.

Any ideas?

Zelda III: Hyrule Explorer - Page 2 Screen11

---
EDIT: After a little bit of digging, I found a thread that seems to contain the solution:
https://www.zeldix.net/t884-various-glitches-in-my-nearly-complete-hack
I'll give that a try Smile

Last edited by eyeballkid on Wed 20 Mar 2019 - 12:36; edited 2 times in total (Reason for editing : found thread with solution)

Back to top Go down

Puzzledude

Post Wed 20 Mar 2019 - 12:57 by Puzzledude

From my notes:

When you pull the switch in the Water Gate Room to unleash the water,
the entire room is flooded instead just the corridor (visually only):
change one byte at address 00CBAD using a hex editor:
00CBAD: 0C --> 04
Note: in some cases the fix will not work since the rom is bugged to much

Back to top Go down

eyeballkid

Post Wed 20 Mar 2019 - 13:33 by eyeballkid

Puzzledude wrote:From my notes:

When you pull the switch in the Water Gate Room to unleash the water,
the entire room is flooded instead just the corridor (visually only):
change one byte at address 00CBAD using a hex editor:
00CBAD: 0C --> 04
Note: in some cases the fix will not work since the rom is bugged to much

Thank you very much!

That's exactly from the thread I found. I've tried it in the meantime. However, it's not completely fixing the problem. Now the gate opens but the water does not rise at all ...

Zelda III: Hyrule Explorer - Page 2 Screen12

Back to top Go down

Puzzledude

Post Wed 20 Mar 2019 - 16:18 by Puzzledude

Well, the byte you fixed is correct. If you still have problems, it means Hyrule Magic destroied some more bytes in this routine. Try to mimic the original ALTTP code, which is on this location (in the proximity of address 00CBAD) to fix the problem and make sure the size of the rom is exactly 1MB or 2MB. Do note, on some point the rom might also be too affected to be fixed.

Back to top Go down

eyeballkid

Post Wed 20 Mar 2019 - 18:52 by eyeballkid

Puzzledude wrote:Well, the byte you fixed is correct. If you still have problems, it means Hyrule Magic destroied some more bytes in this routine. Try to mimic the original ALTTP code, which is on this location (in the proximity of address 00CBAD) to fix the problem and make sure the size of the rom is exactly 1MB or 2MB. Do note, on some point the rom might also be too affected to be fixed.

Sure, that makes sense. It doesn't fix the problem, though.

Next to the difference at CBAD there are only two other bytes that differ: CBA2 and CBA3.

I changed these too:
CBA2: 43 -> F0
CBA3: E5 -> 7E

The next differences are at 9C2B (going backwards) and EA87 (going forward). So, that's quite a bit of space around CBAD that is identical to the original ROM. I also re-checked with the original ROM, there the watergate works fine.

Back to top Go down

Page 2 of 3 Previous  1, 2, 3  Next

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum