Golden Sun Hacking Community
March 24, 2018, 02:03:03 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: [1]   Go Down
Author Topic: Lash Ropes  (Read 565 times)
0 Members and 1 Guest are viewing this topic.

Regular Member

Coins: 2
Offline Offline

Posts: 135

« on: September 18, 2017, 05:18:01 AM »

Okay so these are driving me crazy. The length of the rope on a lash post is variable in length - either short, medium or long (as far as I know). But there doesn't seem to be a good reason why the length of the rope changes? It definitely isn't based on the GRN? Is it related to a global counter or something?

EDIT: Whoops wrong game :D
« Last Edit: September 18, 2017, 06:04:04 AM by Plexa » Logged
View Profile
Fox McCloud, the Hacking Doctor
Mercury Clan


Coins: 28
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2408

« Reply #1 on: September 18, 2017, 03:06:06 PM »

Sounds interesting. Would it have to do with the distance between both posts? I guess I can take a closer look at exactly what's being checked.

There are two types of Ropes - One that requires Lash, the other that's already connected... So I'll post the sections of code for both... (To point out the general section is already known, but a lot of it might not be documented good enough.)

Lash Pegs Group 1 (0300009C)
080D897C = Lashy - Initialization (Called from Map Code.)
080D8A00 = Lashy - Called every ~frame?
080D8C10 = See Movement Type - This is based on Lash pegs. - Called every ~frame?

080D8FA8 = Lashy
080D8FF8 = Lashy

080D9104 = Lash/peg/rope related (If flag is off) (pegset,peg1,peg2)
080D9194 = Lashy
080D92A4 = Lashy
080D92D4 = Lashy
080D9498 = Lashy
080D9710 = Lashy
080D9790 = Lashy
080D9974 = Return
080D9978 = *Research needed: One place tries to write “1” to 080F3944.
080D99B8 = isPlayerNextToPeg(peg1,peg2) Returns 1 if the player is next to a peg, otherwise 0. ; The pegs that you use Lash on.
080D9A74 = Lash/peg/rope related(peg1,addr1,addr2) peg2 placed in addr1, pegset placed in addr2.  (When r0=peg1, returns -1 if no match.)
080D9AB0 = Lash/peg/rope related
080D9AD0 = addLashy(pegset,flagInd,peg1,peg2) (Called from Map Code.)

Lash Pegs Group 2 (030000A0) - May not contain flag indexes, so these probably don’t need the Lash psynergy.
080D9D40 = See Movement Type - This is based on Lash pegs.
080D9E74 = [030000A0]+EC, return an empty slot (return address)
080D9E98 = addLashy(pegset,peg1,peg2)
080D9F1C = Lashy
080DA060 = Lashy(,peg1?,peg2?,)
080DA0B0 = Lashy
080DA1B8 = Lashy
080DA22C = Lashy
080DA334 = Lashy
080DA3BC = Lashy
080DA660 = Lashy
080DA6E0 = Lashy
080DA908 = Lashy
080DA938 = Lashy
080DA968 = *Research needed: One place tries to write “1” to 080F3950.

@ room 23 (Shrine of the Sea God entrance room.)
02036CF8 = (value is 6) Seems to affect the sprite. But not length.
First rope entry:
02036D00 = Length of rope. (Probably for number of rope segments in a list.)
02036D18 = Pointer to what looks like a list of entries for each rope segment.

So I guess I kind-of see it?
Shrine of the sea god (Map 23) = Length 15
Kandorian temple lobby (Map 22) = Two ropes that are length 10
Madra catacombs (Map 47) = Length 17
Ahafran Cave (Map 101) = Length 8

But to figure out how the length is decided, I'll need to study one quick thing.

Looking at 080D9194 function for calculation:
Yep! Distance between both is checked - So that means Pythagorean Theorem is used.
(root(x^2 + y^2 + z^2) / 6) + 1
(Where x, y, and z are the difference between both objects, ofcourse.)

Was that what you were looking for, or did I miss something?
« Last Edit: September 18, 2017, 05:11:19 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Regular Member

Coins: 2
Offline Offline

Posts: 135

« Reply #2 on: September 18, 2017, 09:37:44 PM »

Oh my god that makes so much sense. The room where we're having trouble with it is the third floor in Gabomba where you need to use lash on the spinning gear. For some inexplicable reasons we didn't know why the rope changed length after the encounter, and this is why - the distance from the rope to the pole on the gear keeps changing.
View Profile
Pages: [1]   Go Up
Jump to:  

March 12, 2018, 02:21:06 AM
Fox: say*
March 12, 2018, 02:20:53 AM
Fox: I saw we need an event this April Fools/Easter... because two holidays are in one, why would we not want to miss having something special? (Unfortunately, there's no one here to make an event be successful.)
March 12, 2018, 02:18:17 AM
Fox: And since that's the case...  I have thought of another fun experiment idea. - What if we had an auction on who should run this site, and waited for 10 people to bid and also for a bare minimum of 24 hours. Who would bid the highest, and how much would that bid be? - The idea is more for lulz (Maybe for April Fools?), and a theory to get an idea of how much the site might be worth as well.
March 11, 2018, 03:02:31 AM
Fox: Creepy, isn't it?
March 10, 2018, 02:19:04 AM
Fox: It's frog legs now.. It's something that's dead, but somehow still manages to wiggle.
March 09, 2018, 04:12:17 AM
JamietheFlameUser: I think this place is still dead.
March 02, 2018, 09:43:18 AM
Pkmn-Master: Lol I haven't been here in like 6 years. How is everyone?
February 26, 2018, 06:15:34 AM
Salanewt: Heads up: I finally finished the Wisp animation hack, and it has been posted in the downloads section.
February 19, 2018, 09:50:20 PM
KyleRunner: "difficult thing about the army": I'm very good at taking orders, so I don't have issues with autority or discipline. The most difficult thing is to be away from my family sometimes. I lived an entire year away from my son, so I'd say that was the most hard part by far. Now it's great!
February 19, 2018, 05:51:35 AM
Fox: I'm happy to see we have plenty of people serving the country here. :)
February 19, 2018, 05:47:15 AM
Fox: Civilian here.
February 19, 2018, 03:05:38 AM
Majora: Good for you, something to be proud of. Air Force, here
February 19, 2018, 02:11:31 AM
Fox: That's good to hear... just checking if there were any possibility of doubt. What would you say was your most difficult thing about the army?
February 18, 2018, 12:39:38 PM
KyleRunner: Well, it was a destiny kinda thing, but I was very happy when I decided to join. It was just like I thought it would be (not in the beginning, though). I'm very pleased with my decision.
February 17, 2018, 11:32:41 PM
Fox: That's awesome!  Trying to figure what question I want to ask Something about how you felt when you made the decision to do the army, and whether it was different than your expectations/etc.
February 17, 2018, 01:53:41 PM
KyleRunner: Wow... My english got rusty. Anyway... I'm in the army now. My life turned 180. But I think it was for the best.
February 16, 2018, 12:45:45 AM
Fox: Hm? So where does that make you today?
February 16, 2018, 12:06:38 AM
KyleRunner: Five years ago I could not even imagine where I am today. I hope it works well for you too!
February 12, 2018, 07:22:50 PM
Fox: 2018 - The year that I will probably be working a manufacturing job. xP What would I have thought, if I told myself this five years ago. Eh?
January 28, 2018, 08:35:28 PM
Fox: You referring to changing the PC/leader sprite to someone else? - I forgot to mention that you can do this using VBA's memory viewer. (Found under Tools.)

Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.047 seconds with 22 queries.