News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Zelda 1 Redux / The Legend of Zelda Redux  (Read 52463 times)

lexluthermiester

  • Hero Member
  • *****
  • Posts: 766
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #120 on: January 13, 2020, 04:58:11 pm »
Wait so you got Patras to work on other dungeons that are not Level 9?
How did you do so? Same for the Lanmolas.

How are you implementing them into the game, exactly?
A utility made by RHDN's own Snarfblam called DungeonMaster.
https://www.romhacking.net/utilities/605/

The way that he has set it up is that it will let you know which groupings of enemies can be selected for each level.
For example, I selected Ganon/Patra and then placed the Patra in the room where Auqamentus was in L1Q1. In doing so the correct tilesets and palettes are assigned. The same applies with minor enemys, including Lanmola's. Select the correct enemy set, then place them where you wish. The catch is, you can only place enemies from that sub-set group in the entire level. Any other enemy's will still appear and function, but their graphics will be glitched because only the graphics and palettes for that subset are loaded into memory. It's how the internals of LOZ1 works.

So unless you are going to get into some serious ASM coding(which has been done) to change those behaviors, those predetermined behaviors will be the limiting factor.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #121 on: January 14, 2020, 01:35:52 pm »
A utility made by RHDN's own Snarfblam called DungeonMaster.
https://www.romhacking.net/utilities/605/

The way that he has set it up is that it will let you know which groupings of enemies can be selected for each level.
For example, I selected Ganon/Patra and then placed the Patra in the room where Auqamentus was in L1Q1. In doing so the correct tilesets and palettes are assigned. The same applies with minor enemys, including Lanmola's. Select the correct enemy set, then place them where you wish. The catch is, you can only place enemies from that sub-set group in the entire level. Any other enemy's will still appear and function, but their graphics will be glitched because only the graphics and palettes for that subset are loaded into memory. It's how the internals of LOZ1 works.

So unless you are going to get into some serious ASM coding(which has been done) to change those behaviors, those predetermined behaviors will be the limiting factor.

Interesting.
I used Zelda Tech for the boss changes, so maybe that's why I ended up with things borked in that regard.

Could I ask you for a favor?
Could you perhaps try to recreate the changes I did for the bosses with Dungeon Master over a clean Zelda 1 (PRG0) ROM, and make an IPS out of it with just those changes, please?

The enemy changes are as follows:
Quote
    1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
    1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
    2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
    2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle

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

Aside from that, I might need a little help with some ASM I started doing for trying to Switch items with the Select button.
I managed to get rid of the Pause when pressing Select by NOP'ing the code from 0x1EC4C-0x1EC51. That makes it so that pressing Select doesn't Pause the game. Basically, RAM address $00E0 is the one that handles whether the game is paused or not ($00 for unpaused, $01 for paused), so I simply got rid of the code that sets that byte.

I made some custom code, which I tested with an online 6502 assembler, but I can't get it to work in-game, not sure why.
Some explanation before the code:

1) RAM $0656 is the one that determines the position of the cursor on the inventory screen, or rather, what item is selected. This value goes from anything between $00 (Boomerang) up to $08 (Rod). It can still go past $08, but that will put Key items in the B button instead, like the Raft and so on, so the limit should be $08. Once it tries to reach $09, it should reset to $00.

Item values are:
$00 - Boomerang
$01 - Bombs
$02 - Arrows (Normal/Silver)
$03 - Bow
$04 - Candle (Red/Blue)
$05 - Flute
$06 - Food/Bait
$07 - Potions (Red/Blue)
$08 - Magic Rod

2) The cursor should bypass any possible position if a particular item has not been obtained.
For example, I think bombs are $01, so if the player still hasn't obtained bombs, the cursor should skip value $01, and instead go for the next possible value. This can be done by checking if the item in a certain item slot is obtained (each item has a RAM address to know if Link has obtained it) before incrementing the value at $0656.

Here are the RAM addresses for each item, to know if it has been obtained or not:
0658    Number of Bombs     
0659    Arrow status                $00=None, $01=Arrow, $02=Silver Arrow
065A    Bow in Inventory            $00=False, $01=True
065B    Status of candle            $00=None, $01=Blue Candle, $02=Red Candle
065C    Whistle in Inventory        $00=False, $01=True
065D    Food in Inventory           $00=False, $01=True
065E    Potion in Inventory         $00=None/Letter, $01=Life Potion, $02=2nd Potion
065F    Magical Rod in Inventory    $00=False, $01=True

3) The bow and arrows are special cases for this hack.
If you have the bow, but not the arrows, and you change the RAM address $0656 manually to value $03, then the B button item changes to the bow alone (no arrows). Same for having arrows but no bow, value $02 can select the arrows as the item, but not use them since you don't have the bow yet.
So for these two, I need to check specifically if any type of arrows ($01 - Normal, $02 - Silver) have been obtained at $0659, and if the bow has been obtained as well at $065A, to effectively make the proper check for the increment of the inventory/item select.

With those points made, here's the code I have:

Code: [Select]
bank 7;
org $EC3C // $1EC4C
jsr $BFC0
nop // NOP the LDA $00E0 at $EC3C (A5 E0)
nop // NOP the EOR #$01 (49 01)
nop // NOP the STA $00E0 (85 E0)

bank 5;
org $BFC0 //$17FD0
inc $0656 // Increment value at $0656
lda.w $0656 // Load value from $0656
cmp.b #$02 // Is the item position $02?
beq check_bow_arrow
cmp.b #$09 // If $0656 < 9, reset to $00
bcc end
lda.b #$00
bcs set_selection // Carry is known to be set, so this act as a "BRA" from 65816

check_bow_arrow:
lda.w $065A // Does the player have the bow? (0 if no)
beq select_04
lda.w $0659 // Does the player have arrows? (0 if no)
bne end

select_04:
lda.b #$04

set_selection:
sta.w $0656

end:
//jmp $EC42
rts

Any suggestion or help would be greatly appreciated!

aml435

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #122 on: January 14, 2020, 06:49:15 pm »
Would there not also need to be a flag set on the rod as to whether or not you have the magic book?

lexluthermiester

  • Hero Member
  • *****
  • Posts: 766
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #123 on: January 14, 2020, 10:15:12 pm »
Interesting.
I used Zelda Tech for the boss changes, so maybe that's why I ended up with things borked in that regard.
Very likely.
Could I ask you for a favor?
Could you perhaps try to recreate the changes I did for the bosses with Dungeon Master over a clean Zelda 1 (PRG0) ROM, and make an IPS out of it with just those changes, please?
No problem.
The enemy changes are as follows:
    1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
Done

    1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
Done Please note: This change requires the Dodongos and Digdoggers be changed to Patra's or minor enemies as well.

    2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
Done Please note: This change required the changing of the minor enemy subset and thus level enemies have been adjusted accordingly.

    2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle
Done Please note: This change required the change of both Digdoggers and Aquamentus to Patra's as well.

Check your inbox here on RHDN.
« Last Edit: January 16, 2020, 12:16:51 am by lexluthermiester »

DarkSamus993

  • Sr. Member
  • ****
  • Posts: 280
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #124 on: January 14, 2020, 11:50:53 pm »
I might need a little help with some ASM I started doing for trying to Switch items with the Select button.

No need to reinvent the wheel, the game already has a routine for switching the selected item in the pause menu, so we can just use that. Your choice of with or without playing a sound when the item is changed.
Code: [Select]
bank 7; org $EC3C  // $1EC4C

    // switch to bank 5
    lda.b    #$05
    jsr      $FFAC

    // hijack PAD_SELECT pressed on the overworld
    jsr      quick_select

//==============================================================================

bank 5; org $BFC0  //$17FD0

quick_select:
    lda.b    #$01   // PAD_RIGHT
    ldy.w    $0656  // current item
    jsr      $B7C8  // get next item (use 'jsr $B7A8' to also play sfx)
    rts

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #125 on: January 17, 2020, 04:29:55 pm »
Thank you both, lexluthermeister and DarkSamus993!

@DarkSamus993, damn, you REALLY saved me a lot of trouble with that.
I never thought about using the code that was already available in the game for the inventory items in such a way, I thought I had to do my own thing.
Very appreciated! As always, remarkable work you do :)
Added the code to my source, compiled it, and now the Pause is removed, but we have item switching through the Select button!

@lexluthermeister, I got your IPS, and your new message from today.
I haven't tested it yet, but I have successfully disassembled the changes you did and added them to the source code I have.
I won't be able to test them until next week, but your word on it working fine on your end is sufficient to me :P
I might treat this patch as an optional patch, alongside the lower bomb max and LA's graphics.

Also, after testing out the new Bosses patch that Lex did, I will go ahead and start work on another optional patch, which is the unique colour scheme for each dungeon!
I will take Modern Classic Edition as the base for this, but given how I will make it all into source code, people will be able to re-arrange what Levels/Dungeons they want with which colours!

Once that's done, I'll see what comes next.
The biggest implementations I want for the hack are still really far-off my scope.
These three being the 999 Rupees, Diagonal sword swing and adding the Arrows as purchasable items and adding their own counter in the HUD.

There are still other points remaining, but those 3 will prove to be a real pain down the road for sure.

Zimgief

  • Jr. Member
  • **
  • Posts: 87
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #126 on: January 17, 2020, 04:47:58 pm »
A french hacker made a hack that let you switch items with start button.
Also you can freely move on the item menu (right-left, up-down).
Also, the cursor moves silently now.
Also he sped up exiting the item menu.


https://www.youtube.com/watch?v=d4DM_3Nklec
Download link in the description. In the video he explains how he did some of these things.
« Last Edit: January 17, 2020, 04:53:49 pm by Zimgief »

lexluthermiester

  • Hero Member
  • *****
  • Posts: 766
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #127 on: January 17, 2020, 06:30:05 pm »
A french hacker made a hack that let you switch items with start button.
Also you can freely move on the item menu (right-left, up-down).
Also, the cursor moves silently now.
Also he sped up exiting the item menu.


https://www.youtube.com/watch?v=d4DM_3Nklec
Download link in the description. In the video he explains how he did some of these things.
It makes more sense to have the item select on the Select button. Great idea though.

Zimgief

  • Jr. Member
  • **
  • Posts: 87
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #128 on: January 17, 2020, 06:33:16 pm »
Well, it can be tweaked, I suppose. :) (I agree it makes more sense with select, he just got rid of start as pause and used the freed button.)
Anyway, just thought it would save some work to use it. :p

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #129 on: February 04, 2020, 12:57:17 pm »
Sorry for the really long delay, guys!
I've been currently working on some of the optional patches, working closely with lexluthermiester for the boss rearrangement patch, and I've been doing some other work which I'll post below!

A french hacker made a hack that let you switch items with start button.
Also you can freely move on the item menu (right-left, up-down).
Also, the cursor moves silently now.
Also he sped up exiting the item menu.


https://www.youtube.com/watch?v=d4DM_3Nklec
Download link in the description. In the video he explains how he did some of these things.

As lexluthermiester said, it's better to have the switch items be on the Select button rather than Start.
Start button is used to access the full map of the Overworld/Dungeon, as well as seeing what items/key items you have obtained, and your status altogether. It also shows the Triforce pieces you have gained so far.
So indeed, it is better to use Select, since all Select does is simply pause the game, and nothing more, which is something we can get rid off, seeing how the Inventory screen used in Start can act as a pause as well.

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

Now for the optional hack I've been implementing these past days, is a unique colour scheme for each and every dungeon found in the game!
It closely resembles that of Modern Classic Edition, but for Redux, there's an additional feature to it:



You can interchange the colours between whatever Level/Dungeon you want!
Given how Zelda Redux will be open-source and ready for a quick compile using xkas, you can easily modify the lines of the optional section exclusive to the unique dungeon colours, and then simply switch the colours to your liking!

After I am done with some tweaks to the code, I am unsure as to what to tackle next.
I've been trying to tackle the "Flip heart rows on File Selection screen" yet again, and I have encountered some more routines related to it.

This is what I have right now for the flipped hearts on File Select screen:

Code: [Select]
// Flip heart rows in the File Select Screen:
bank 2;
// Move upper row of hearts next to the Death counter

org $A268 // $0A278
// Move lower row of hearts next to the Player's name
db $21,$12,$08,$00,$00,$00,$00,$00,$00,$00,$00,$FF

//Found the routines, now I just gotta figure out how to invert the heart printing
//A4C6: B9 54 A2  LDA $A254,Y @ $A258 = #$24 // 0xA4D6
//A254: 21 09 11 24 24 24 24 24 24 24 24 2F 00 00 00 00 00 00 00 00 // PPU Transfer for Name and Upper (starting) hearts (0xA264)

//A268: 21 32 08 00 00 00 00 00 00 00 00 FF // PPU Transfer for lower Hearts (0xA278)
//         ^ Changing this to 21 12 08 positions the bottom hearts where desired.
// 66F9 -> 6E79

//A520: B9 74 A2  LDA $A274,Y @ $A278 = #$24 // 0xA530
//A274: 21 89 03 24 24 01 21 E9 03 24 24 01 22 49 03 24 24 01 FF // PPU Transfers for Death counter(s) (0xA284)

The important part is this one:

Found the routines, now I just gotta figure out how to invert the heart printing
A4C6: B9 54 A2  LDA $A254,Y @ $A258 = #$24            // 0xA4D6
A254: 21 09 11 24 24 24 24 24 24 24 24 2F 00 00 00 00 00 00 00 00   // PPU Transfer for Name and Upper (starting) hearts (0xA264)

The routine seems to grab the number of hearts obtained from RAM $0650-$0655, and then prints them according to the subroutine found here:
PC address: 0x0066F9 -> NES address: $6E79

I already figured out how to move the lower hearts to the row above, but I'm still trying to figure out how to move the upper hearts to the bottom to have them match the in-game hearts (and how most Zeldas display health)
« Last Edit: February 04, 2020, 03:47:50 pm by ShadowOne333 »

Shade Aurion

  • Submission Reviewer
  • Sr. Member
  • *****
  • Posts: 278
  • Shadow Keeper
    • View Profile
    • DudeGoBack
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #130 on: February 04, 2020, 05:48:25 pm »
God damn it man.. Now I gotta add this to the Let's Play shortlist  :-[ ( Awesome work <3 )

DannyPlaysSomeGames

  • Jr. Member
  • **
  • Posts: 97
  • Wait, this isn't Burger King
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #131 on: February 04, 2020, 08:16:12 pm »
So anyways, I wanted to share an idea (that will probably not get added).

I was messing around with the idea of splitting up the Triforce into pieces and labeling order to tell you which dungeons you have left, as a neat touch and a quick check for players.
Though with the default order that the pieces are put in, the numbers were cramped, so I tried to make some variations to see which one looked better:
(I also messed around with the text below, being more consistent and labeling it as the triforce of wisdom, though the combination of letters always left me with a double space, so I messed around with that too.)

Up left is the original triforce piece layout.
Up right is the pieces vertically ordered.
Down left is the pieces (somewhat) horizontally ordered.
Down right is an odd fusion between horizontal and vertical.

Obviously, this was me playing around with an idea. I heard somewhere that all (if not, most) graphics space had been used up, though all the new tiles fit in a solid line (two tiles would end up getting replaced, but then you need two extra for two of the inner pieces in order to match with the outline, so...)


Obviously this is just me messing around with ideas that I wanted to share on here, even if it's probably not getting implemented, I just wanted to share a cool concept on this thing because I liked it (I've considered adding these into my Z1 hack, though the issue is that the automap takes up so much of the tileset space, which is annoying), but at the end of the day, it's ShadowOne333's project, and this might seem like total trash to him and that's fair.
Hey there

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #132 on: February 05, 2020, 12:30:41 pm »
So anyways, I wanted to share an idea (that will probably not get added).

I was messing around with the idea of splitting up the Triforce into pieces and labeling order to tell you which dungeons you have left, as a neat touch and a quick check for players.
Though with the default order that the pieces are put in, the numbers were cramped, so I tried to make some variations to see which one looked better:
(I also messed around with the text below, being more consistent and labeling it as the triforce of wisdom, though the combination of letters always left me with a double space, so I messed around with that too.)

Up left is the original triforce piece layout.
Up right is the pieces vertically ordered.
Down left is the pieces (somewhat) horizontally ordered.
Down right is an odd fusion between horizontal and vertical.

Obviously, this was me playing around with an idea. I heard somewhere that all (if not, most) graphics space had been used up, though all the new tiles fit in a solid line (two tiles would end up getting replaced, but then you need two extra for two of the inner pieces in order to match with the outline, so...)


Obviously this is just me messing around with ideas that I wanted to share on here, even if it's probably not getting implemented, I just wanted to share a cool concept on this thing because I liked it (I've considered adding these into my Z1 hack, though the issue is that the automap takes up so much of the tileset space, which is annoying), but at the end of the day, it's ShadowOne333's project, and this might seem like total trash to him and that's fair.

While the idea does sound good, there's some drawbacks that prevent this from being an option:

1) I already hit the limit of available tiles for both overworld and dungeons. The very last thing I did was rework the Automap hack to work in 1/4 heart decrements instead of 1/8, so I could remove the additional heart sprites Automap used and repurpose those very tiles for the cracked walls in both overworld and dungeons.

2) I tried doing the "TRIFORCE OF WISDOM" text in the Inventory Screen, but for some odd reason I am having two issues:
  • The normal TRIFORCE letters are being sent to PPU to address $2BAC. The line above it is $2B80-$2B9F, but no matter what I try putting in that specific PPU range, the game overwrites whatever is being written there with blank spaces ($24) after one frame of opening the inventory.
  • If I try to put the whole "TRIFORCE OF WISDOM" text in one single line, I get garbled data right after the last letter (E from TRIFORCE). I noticed that the garbage data seems to be being pulled off from the Screen Attributes Table #0 at $18400 (A3 93 63 73 C3 53 ...). This is very strange, I am not sure why the game just simply starts taking those values as tile IDs to be written after TRIFORCE, but that's what it does.
So yeah, sadly I don't have much to do here given how weird the Inventory screen behaves at the moment.
Best I can do is maybe try to fix and fit the "TRIFORCE OF WISDOM" text there, but that's a stretch, given how I still have no clue as to what the game does there or what routine is the one overwriting PPU range $2B80-$2B9F.

51mmz0rz

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #133 on: February 14, 2020, 01:57:41 am »
I'm not sure if it's normal, or maybe something weird I did (this is actually my first playthrough), but the old women in the southwest near the lost woods says "." (single period) when you pay her 30 rupees.  Might be missing text but again I'm not really sure.  Anyway great work so far!

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #134 on: February 14, 2020, 11:55:32 am »
I'm not sure if it's normal, or maybe something weird I did (this is actually my first playthrough), but the old women in the southwest near the lost woods says "." (single period) when you pay her 30 rupees.  Might be missing text but again I'm not really sure.  Anyway great work so far!

Oh yeah.
I did notice that some months ago and fixed it on my end.
Although, I believe I never pushed an updated IPS file for the fix. Sorry!

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

With that said, I believe it is the perfect time to release this:

The Legend of Zelda Redux - Source code (so far):
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux


That repository should have everything I have at the moment.
All the changes I've done and every other thing should be in there, even the optional patches.
Although, the optional patches haven't been tested in compilation yet :P
But I know the main Redux compilation does work, I just haven't bothered to try out the optional patches, but the source should have them included as well.

Right now, I am kind of in a halted state for the hack.
What's left to be done is really ASM heavy, and while I could attempt a try at the 999 rupees hack using Attack Helicopter Edition as a base, I still haven't disassembled and commented it out properly.
Automap is fully working with 1/4 hearts now as well.

The remaining stuff to do is the following:

  • Be able to kill the Pols Voice by playing the flute, and also with arrows to retain the original way of killing them
  • Flip the heart rows in the File Select Screen
  • Have 999 rupees as the maximum amount, instead of 255. The rupee amount also needs to be saved in SRAM for when the game loads, so it starts with whatever amount you had last time
  • Save the amount of hearts you last had if the game was saved manually, so when you load, you start with the same amount of life (this I'm not sure if it will be implemented in the end hack)
  • Slight graphic changes to make certain sprites match their official artwork (Link now has his yellow hat line, some shield slight change, etc.). This won't be a graphic update of the game, as I still want to retain the original game's overall art design and aesthetic, but with sprites that better depict their official artwork designs.
  • Add a proper arrow item (arrows should only be purchased in shops, NOT as enemy drops), and an arrow counter
  • Diagonal sword swing

Help needed for these points:
  • Fix the collision detection for the new cracked tiles in the Overworld
  • Fix the new cracked tiles appearing as if both Quests entrances were available, despite being in 1st or 2nd Quest, the entrances show up as if both Quests caves were available (though only the respective cracked tiles corresponding to the proper Quest can be bombed). If you are on 1st Quest and try bombing a 2nd Quest tile, it won't affect it, and viceversa.
  • Have 999 rupees as the maximum amount, instead of 255. The rupee amount also needs to be saved in SRAM for when the game loads, so it starts with whatever amount you had last time
  • Pols Voice can be killed with the flute and/or an arrow
  • Add a proper arrow item (arrows should only be purchased in shops, NOT as enemy drops), and an arrow counter
  • Diagonal sword swing

Optional patches (so far):
  • Unique bosses in each Dungeon/Level (Halfway there, LexLutherMeister has been of great help with this, right now Levels 4 and 7 of the 1st Quest are already done, we are only missing the 2nd Quest changes to Levels 2 & 8 )


@Trax, if you are reading this, do you happen to perhaps have a clue as to why my cracked tiles show up the entrances of all the caves for both quests, despite what quest you are in?
Although, if you are in the 1st Quest and try bombing a 2nd Quest tile, it won't affect it, only 1st Quest cracked tiles can be bombed. But the cracked tiles still apepar regardless of what quest you are in.

lexluthermiester

  • Hero Member
  • *****
  • Posts: 766
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #135 on: February 14, 2020, 06:35:29 pm »
@Trax, if you are reading this, do you happen to perhaps have a clue as to why my cracked tiles show up the entrances of all the caves for both quests, despite what quest you are in?
Although, if you are in the 1st Quest and try bombing a 2nd Quest tile, it won't affect it, only 1st Quest cracked tiles can be bombed. But the cracked tiles still apepar regardless of what quest you are in.
I can answer this one. All cave entrances are present in both quests whether they are a bombable wall, burnable bush, whistle triggered or rock-push triggered. Whether or not they can be triggered depends on the quest flag. So in the case of bombable caves, the tile used to cover the cave entrance is always present, even if it can not be triggered by a bomb.

For example, let's look at the cave directly above the overworld start screen. In the first quest it can be bombed and opened. Yet in the second quest it can not because that cave has no quest 2 flag, so while it is still there, it can not be opened, even though the "bombable wall crack" tile is still present. The game will display that tile for every bombable wall, but it will not open unless it set to do so for the quest the player is in.

Does that make sense?

darthvaderx

  • Full Member
  • ***
  • Posts: 166
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #136 on: February 14, 2020, 07:58:23 pm »
How to implement the options in your new file? In the old one it was just to apply the .ips.

And my suggestion for Link colors in the New GFX version (0F 29 27 17  >   0F 29 37 07):

     

     

« Last Edit: February 16, 2020, 04:55:30 am by darthvaderx »

Trax

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 548
    • View Profile
    • Trax ROM Hacking
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #137 on: February 16, 2020, 01:58:17 am »
What Lex said about the cracks in the wall is on point. Visually speaking, the tile itself is the same no matter if a secret is present or not. Bombable wall tiles have code E6. When the game loads the tiles, it goes through a routine to check if the tile should be replaced by something else. But that's for when the secret has been revealed vs not revealed yet. Now for the crack to show up only on its relevant quest (1st, 2nd or both), I think that would need some extra code.

51mmz0rz

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #138 on: February 17, 2020, 12:04:41 am »
I tried to patch the ROM using the GitHub source, but when I do, the output ROM has some issues.  Select doesn't pause, it swaps items, and the start menu is garbled.  I think I'm using the right ROM because the previous IPS patch from DropBox seemed to work fine.  Anyone else having issues or am I doing something wrong?

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1330
    • View Profile
Re: Zelda 1 Redux / The Legend of Zelda Redux
« Reply #139 on: February 17, 2020, 12:44:20 pm »
What Lex said about the cracks in the wall is on point. Visually speaking, the tile itself is the same no matter if a secret is present or not. Bombable wall tiles have code E6. When the game loads the tiles, it goes through a routine to check if the tile should be replaced by something else. But that's for when the secret has been revealed vs not revealed yet. Now for the crack to show up only on its relevant quest (1st, 2nd or both), I think that would need some extra code.
Oh I see.
That makes sense.
So it would require a custom codes that detects whether the current quest loaded is either 1 or 2 (I assume from making a code combined with checking RAM $16 and then checking RAM $062D-$062F), and then make it so that the tiles from the other quest get unloaded according to that?

I tried to patch the ROM using the GitHub source, but when I do, the output ROM has some issues.  Select doesn't pause, it swaps items, and the start menu is garbled.  I think I'm using the right ROM because the previous IPS patch from DropBox seemed to work fine.  Anyone else having issues or am I doing something wrong?

By Start menu, you mean the inventory screen with the items and the Triforce pieces?
If that's it, then I think I screwed up something in misc.asm when I attempted to do the changes Danny suggested for adding "TRIFORCE OF WISDOM" to the Inventory screen. I just uploaded a fix to the GitHub page.

Try compiling again, it should work just fine now.
And Select swapping items instead of pausing is normal, that's one of the last changes I did thanks to DarkSamus.
Select is pretty much useless, since Start pauses the game as well.

If you refer to the Start screen as in the File Select screen not showing the second row of hearts, that is normal, since I still haven't found a way to move the upper row of hearts below, only the lower ones.

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

Also, I should probably make a quick tutorial on how to compile the ROM.
I will start doing a proper ReadMe for the project, but in the meanwhile, all you need to do is simply download the repository, and run either the make.bat file if you are on Windows, and make.sh if you are on Linux.

It's as easy as that.
If you want to compile the ROM with the optional patches, open up the main.asm, comment out the Graphic section and uncomment the Optional.asm line.