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

Author Topic: Link's Awakening - Small Hack Request  (Read 449 times)

Steffenfield

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Link's Awakening - Small Hack Request
« on: June 25, 2019, 07:24:06 pm »
I would like to patch the game with permanent death.

Drowning, lava, sinkholes, and falling off a ledge would all be Game Over instead of being respawned.

How might I start on this?

Please and thank you.

Cyneprepou4uk

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #1 on: June 26, 2019, 01:58:08 am »
Start by checking what caused death and set lifes and continues counters to zero in those conditions
I am the baldest romhacker
NES Romhacking Guide

FAST6191

  • Hero Member
  • *****
  • Posts: 2538
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #2 on: June 26, 2019, 06:37:45 am »
It will be some assembly but it should hopefully not be too complicated -- you are editing within game parameters rather than creating whole new code sections.

Anyway you lose some life as a result of this sort of thing. Find the life location in memory (infinite life cheat will have it, or you could just remake such a cheat).

Now you have the life location set a breakpoint on it (I think we are still suggesting bgb debugger for GB/GBC debugging so bpw aka break on write). Go find some lava, water, ledges and sinkholes (make a custom level if you want, savestates should also be an option) and jump off/into them. The game should then write to the health counter and the debugger will say hold up something wrote to it. Look back up the instructions preceding this and something should be a subtract somewhere along the line. Change this from probably 2 or 4 (Zelda health counters are hearts and if they count in quarters then you have 4 life per heart) to something that will kill even a maxxed out player and you have your hack (I don't recall a lives system or bottle fairies in this one).
I imagine the reset part at least will be common between the various hazards but do check. Alternatively you could find the thing that happens when the falling/drowning/whatever occurs and branch immediately to the death event but that would be a bit harder if you are not used to assembly and the major damage thing is a perfectly fine of doing the hack as well (I occasionally do some dubious stuff to achieve results but that is not one of them).

Cyneprepou4uk

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #3 on: June 26, 2019, 06:50:15 am »
FAST6191, I've been watching you for a while, and I think you probably should be writting some vast useful guides since you like to talk so much, not just explaining every little issue in such great details for a single person. First make sure he is really interested, then it is understandable if you tell him more. I bet almost none of these guys will actually achieve their goals and give up in the middle since they don't know assembly. No offence, but I guess you are wasting your time here. Your guides would be great.

Look at this dude for example, he didn't even bother to check his topic for your answer.
« Last Edit: June 26, 2019, 07:08:02 am by Cyneprepou4uk »
I am the baldest romhacker
NES Romhacking Guide

Steffenfield

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #4 on: June 26, 2019, 07:36:07 am »
Oh.

I was hoping for perhaps some in game debug utility or generated GameShark code as a starting point.

ASM might be out of reach for myself.

I'll spend a few hours tonight on your suggestions though, so thank you very kindly for them.  :)


FAST6191

  • Hero Member
  • *****
  • Posts: 2538
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #5 on: June 26, 2019, 12:22:55 pm »
It is not really a thing I have ever seen an in game debug option have, unless there is a hard mode that does have instant death for falls or something.

Gameshark codes... maybe on a later system (some of the same things that do experience multipliers would also do here) with a more fully realised gameshark/action replay code system where you could do basic if this then do that type setups but GB/GBC stuff is a bit basic here ( https://doc.kodewerx.org/hacking_gb.html ).

It really should not be that difficult though to increase the damage of a fall as it is all literally within the code already and you are not having to learn much of anything. Just an in place change using a larger value.


@Cyneprepou4uk I did write a guide once http://www.romhacking.net/forum/index.php?topic=14708
Got a few things still to finish it in but most of that is available.
For stuff like this and the other topic linked I don't really know what I can do there to make a guide -- most of these sorts of replies (by the way 3 or 4 paragraphs is usually nothing especially effort intensive for me) are more that I can usually see a way to achieve stuff like this. At the same time though they are usually nothing that most newbie hackers will want to do and having a mountain of "pointless" examples does nobody much good.

It is more that I have now made enough cheats, pulled apart enough games, learned enough general coding that along with spending my days also reading and seeking out stuff like
https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub?embedded=true
http://hciweb.usask.ca/uploads/332-aim-assist-cameraReady-v8-final.pdf
https://magic.wizards.com/en/articles/archive/duels-planeswalkers-all-about-ai-2014-02-13
https://www.dragonflycave.com/mechanics/gen-i-capturing
https://towardsdatascience.com/predicting-hit-video-games-with-ml-1341bd9b86b0
3kliksphilip's series on counterstrike go bots and their navigation/behaviours

that I am pretty good at seeing paths to this sort of thing, or playing "if I were the dev then what would I do/have done?". I don't mind a worked example to reinforce or showcase a general technique but a list of them I don't see serving much purpose. Best I could really do it scan through all the common questions on forums and such, or commonly made types of balance/enhancement hack or review criticism and do those for a handful of games, similar to how I added a minor note on the whole randomiser thing that got popular a few years back during a later version of the guide I did do.

#

  • Full Member
  • ***
  • Posts: 135
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #6 on: June 26, 2019, 02:22:39 pm »
Oh.

I was hoping for perhaps some in game debug utility or generated GameShark code as a starting point.

ASM might be out of reach for myself.

I'll spend a few hours tonight on your suggestions though, so thank you very kindly for them.  :)
I had a look at the code and you don't really need to learn any ASM to make this hack. All you need to do change numbers. It writes one number when you respawn and another number when you GO to the same address. Add a breakpoint for that address when you find it and you should see the respawn number (usually the ASM code shows a # in front of numbers that are not addresses) when you trigger it. Then just replace it with the GO number.

Steffenfield

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: Link's Awakening - Small Hack Request
« Reply #7 on: June 26, 2019, 06:01:35 pm »
I think I'll try that any fatal fall, drowning or lava injury will result in 20 Hearts worth of damage.

If the Secret Medicine still triggers and revives Link, that would be fine for its single use.

After all, this feature will be some next level Dark Souls nonsense.  :D