News:

As a consequence of the forum being updated and repaired, the chatbox has been lost.
However, you can still come say hi on our Discord server!

Main Menu

"Linked" game solution?

Started by Mion Sonozaki, 17, August, 2013, 04:38:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mion Sonozaki

Since most Rom Hacks will NOT Use a traditional linked games with GS1, I'm wondering if we have a solution yet?

Something that "defaults" a link game configuration, which sets all the linked game flags and NPCs to appear (like the Colloso gladiators) and grants the player all the GS1 djinn upon Isaac joining the party?

Since we're making rom hacks here, we shouldn't have a need for the link game screen from appearing in the first place, so a solution to eliminate that too would be necessary.

Misery

#1
Changing 080AE8F6 from 16 to 1A will give Isaac's party all djinn from GS1.
Source
I tested this to make sure it works, and it does.

You can edit their starting inventory to include whatever you would expect from a linked game...

As for the transferable events, setting the appropriate flags at some point in the game should be very simple if you can just figure out where they are. I personally don't feel missing out on those would be a very big deal though.

For the prompt to link your game in the beginning, disabling it should be fairly simple, but you might just as well ask players to simply choose "no".

Edit: Aaaand I wrote the first address wrong despite linking the source. How's that for a fail? Corrected it now though.

Mion Sonozaki

Quote from: Misery on 20, August, 2013, 06:30:04 PM
As for the transferable events, setting the appropriate flags at some point in the game should be very simple if you can just figure out where they are. I personally don't feel missing out on those would be a very big deal though.

For the prompt to link your game in the beginning, disabling it should be fairly simple, but you might just as well ask players to simply choose "no".
I'm new to rom hacking, but I would assuming this would be done with a hex editor.

Setting flags doesn't seem hard, and in theory imagine it's as simple as changing 00 to 01 when the game checks for an "if"-statement somewhere in the code. However, I have no idea how in practice this even works? How would I find the offset for the Thieves outside Madra?

As for simply asking players to select "No", I'm not really satisfied with that as a solution..

Daddy Poi's Oily Gorillas

#3
QuoteChanging 030AE8F6 from 16 to 1A will give Isaac's party all djinn from GS1.
Source
I tested this to make sure it works, and it does.
Note that "16" is in Decimal (base 10), and 1A is in hexadecimal (base 16).


@The transferable events: I believe the flags can be modified in the Storybook Flags menu. However, I haven't looked at what sets the appropriate flags in the code, though.

@prompt: I haven't checked this out either, but I assume researching from the map code may help.


Fun Tip: If you choose to edit via VBA's memory viewer, you can still put your cursor on 08000000 and save 16 mega-bytes via the Save... button.
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...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Mion Sonozaki

Quote from: Teawater on 20, August, 2013, 06:46:26 PM
@The transferable events: I believe the flags can be modified in the Storybook Flags menu. However, I haven't looked at what sets the appropriate flags in the code, though.
In the Golden Sun TLA editor? I don't see in the version I'm using, or is it a feature inside yours?

Rolina

No, in the Password Generator.

To be honest, though, I think we should probably make a custom generator tool with hacks in mind.  Even something simple and useful like sorting the item list can completely screw over a password.

Misery

#6
Quote from: Lishy on 20, August, 2013, 06:38:27 PM
I'm new to rom hacking, but I would assuming this would be done with a hex editor.
Setting the amount of djinn you get would be done with a hex editor (also, note that it will likely omit the first 08 of the address)
Code for setting flags and skipping the intro would also be done in a hex editor, but you'd use the GS editor to find the code.

Quote from: Lishy on 20, August, 2013, 07:02:01 PM
Quote from: Teawater on 20, August, 2013, 06:46:26 PM
@The transferable events: I believe the flags can be modified in the Storybook Flags menu. However, I haven't looked at what sets the appropriate flags in the code, though.
In the Golden Sun TLA editor? I don't see in the version I'm using, or is it a feature inside yours?
I think he's talking about setting them in the debug menu.

Quote from: Lishy on 20, August, 2013, 06:38:27 PM
As for simply asking players to select "No", I'm not really satisfied with that as a solution..
Understandable, although personally I think digging up the code used to make this prompt appear seems like more effort than it's worth.

Mion Sonozaki

Quote from: Misery on 20, August, 2013, 07:08:36 PM
Quote from: Lishy on 20, August, 2013, 06:38:27 PM
As for simply asking players to select "No", I'm not really satisfied with that as a solution..
Understandable, although personally I think digging up the code used to make this prompt appear seems like more effort than it's worth.
Actually I was thinking there may be a way to skip the menu entirely, which might be easier.

If there is an offset which decides which menu will trigger next, wouldn't it be easier to edit that offset just to go directly to naming Isaac instead of prompting a link game?

Misery

Yeah, that's probably what I would've done too. But you have to find the code that does it in order to be able to change anything.

Mion Sonozaki

Quote from: Misery on 20, August, 2013, 07:18:36 PM
Yeah, that's probably what I would've done too. But you have to find the code that does it in order to be able to change anything.
Right... I'll leave that for the experts in this thread, and edit the first post once we have the solution.

Daddy Poi's Oily Gorillas

#10
From the Text Editor:

36 = Transfer data from[3]Golden Sun?[30]

36 in base 16 is 0x24.

*Scans map code for this number.*

020084B6 = In the initialization code, as expected.

So yeah, it would take a map code modification.


Edit: Almost forgot.

Quote from: Misery on 20, August, 2013, 07:08:36 PM
Quote from: Lishy on 20, August, 2013, 07:02:01 PM
Quote from: Teawater on 20, August, 2013, 06:46:26 PM
@The transferable events: I believe the flags can be modified in the Storybook Flags menu. However, I haven't looked at what sets the appropriate flags in the code, though.
In the Golden Sun TLA editor? I don't see in the version I'm using, or is it a feature inside yours?
I think he's talking about setting them in the debug menu.
@Misery: Correct.
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...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Mion Sonozaki

Quote from: Teawater on 20, August, 2013, 07:39:18 PM
From the Text Editor:

36 = Transfer data from[3]Golden Sun?[30]

36 in base 16 is 0x24.

*Scans map code for this number.*

020084B6 = In the initialization code, as expected.

So yeah, it would take a map code modification.

What does that mean, and is this done with the GS editor or a hex editor?

We need to edit the "map" event code itself of the New Game screen? So skipping the Link Game prompt is more complicated than swapping a single value then?

Daddy Poi's Oily Gorillas

#12
It means the best way to go about editing the data is to use Atrius's editor. Since map code is compressed, unfortunately. But Atrius's editor both decompresses and compresses it back, so that's not much of a problem.

(Via his Code Disassemble and Code Hex options.)

Map 1 - UTIL


Pretty much, I'm guessing this purple section should be removed in the attachment. (I have not tested it myself to verify that it would work, though, but I believe it should.)


Note that removing this code does not enable the 6 event flags, nor give you all GS1 djinn.
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...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Mion Sonozaki

#13
Just tried it. It SEEMED to have worked at first, but once I saved and reloaded the game, it crashed on startup.

Daddy Poi's Oily Gorillas

#14
Quoteit crashed on startup.
If it's on startup, it might be the editor's fault. (Especially if you are using Atrius's latest official version.) See innate psynergies pointer, if it is an odd number, then that's the problem.

080ADF02 = Innate Psynergies code

The pointer you need to check is at 080ADF28.
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...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Mion Sonozaki

#15
Alright I tried again (this time using the offset correctly) and it works now without seemingly any bugs. (Even using the "update" feature seems to transfer correctly.. Hmm..)

Seems I was doing things incorrectly before and works now.. Heh..

edit: Teawater posted this in the chat.

Fill the grey highlighted offsets with 00000000 to remove the "Update' feature.

Mion Sonozaki

#16
Necroposting.

Contrary to the above post, I tried to replicate it, but to no success. I'm not sure what I've done different compared to the past, but it's not working.

Anything I might be doing wrong, about removing the Update icon? The results I get are the game hanging on the menu screen, without any buttons appearing.

edit: NVM, fixed it again. Apparently we are supposed to change the following value after 0804d62e to 0000....

Rolina

Eh, necroposting isn't necessarily bad if you're just doing it to ask a question of the same topic.  It's when you try to restart a dead conversation that it tends to irritate people.

Mion Sonozaki

Quote from: Rolina on 14, October, 2014, 11:17:13 PM
Eh, necroposting isn't necessarily bad if you're just doing it to ask a question of the same topic.  It's when you try to restart a dead conversation that it tends to irritate people.
Necroposting is generally excusable when it's your own thread. Also, in a forum as small as this, it's probably not a big deal.