Golden Sun Hacking Community
27, November, 2020, 07:58:29 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: The last working version of the classic TLA Editor is Teawater's unofficial "mapeditor" draft.
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: 1 [2]   Go Down
  Print  
Author Topic: Separation Patch Guide  (Read 15274 times)
0 Members and 1 Guest are viewing this topic.
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

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

« Reply #20 on: 21, August, 2013, 05:09:44 PM »

Because r7 is the Player Character.

0 = Isaac
1 = Garet
2 = Ivan
3 = Mia
4 = Felix
5 = Jenna
6 = Sheba
7 = Piers

In Atrius's patch, blt means Branch(code jump) if Less Than. So all PC numbers BELOW 4 skip the add 20 instruction.

And from just looking at it, you can already gather that r6 is the class type... (Later in the code, it checks for a match to this number in the class data.)

(And b is just a simple branch/jump.)
« Last Edit: 21, August, 2013, 05:20:05 PM by Teawater » 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...

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! :)
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #21 on: 21, August, 2013, 05:39:13 PM »

That makes... a lot of sense.
It also means I'm not going to be able to do any quick fix...
Of course, it's still possible to change the character data, but it would take a bit of work.
I'll leave the subject for now.
Logged
View Profile
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6049

« Reply #22 on: 23, August, 2013, 12:07:13 PM »

Yeah, to get rid of symbiotic classes, there's two options available to you:

1:  Just build them like normal classes, adding a step to emulate the 6 tier class.  This only works for Dual-Element, though. 
2:  Full Character Separation.  This will require a new patch to implement.

Both, however, likely require the editor to list more space than it currently does.  Right now, using a 1 space separator to keep things easy to find, you have no space left.  Sure, you can actually bunch them all up together, but even then you may not have enough space for an FCS patch model unless you get rid of an item class, since you'll have to list every class available to every character.

Personally, I like the idea of an FCS patch, but there just isn't room to make it practical yet.  There is space, though.  We just can't access it with the editor.
Logged

View Profile WWW
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #23 on: 23, August, 2013, 01:34:06 PM »

Once again, I only want to specify if a character belongs to party 1 or party 2.
I do not wish to get rid of symbiotic classes.
I am not trying to make a full character separation patch.
I just want to change who characters share their symbiotic classes with.
Since the separation patch only splits the party's by an "if character ID is greater than..." statement, there is no simple way to accomplish that.

This can be done without any code changes, but it would require swapping a lot of pointers (or simply replacing the graphics data, but that wouldn't solve the problem with weapon graphics). If you wanted to keep the original game but with different classes, you'd also have to change a lot of scripts and functions for which characters are used, which characters are assigned certain djinn, etc. If I were making completely custom characters, this wouldn't be a problem.

And yeah, I noticed that with the separation patch, the class slots get filled very quickly. Which is a shame since I would've preferred to add more than a few new ones... I don't understand why the full ability list must be included in every class when so many of them have the same abilities, I mean, they could've just referenced a list elsewhere.

There is space, though.  We just can't access it with the editor.
I assume the code can address up to 255 classes, but I had a look at the data after the necromage class, and it's not empty but occupied by something that at a quick glance doesn't appear to be class data. Of course, I have no idea what it's used for, so it's not impossible that it's simply leftover or garbage data.
Logged
View Profile
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6049

« Reply #24 on: 23, August, 2013, 05:27:53 PM »

Oh, I guess I misunderstood... Yeah, if you're gonna have them, then you've got like, no wiggle room, sadly.  The most you can do is to literally change all the instances of the characters around.  Swap Garet and Jenna's stats, then go in and manually change each call for Jenna to be a call for Garet and visa versa.
Logged

View Profile WWW
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

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

« Reply #25 on: 25, August, 2013, 07:58:05 AM »

@Misery: It's not really that difficult. just insert a table look-up code.

I think you are free to use registers r0-r4, if I'm not mistaken.

r5 is pointer for elemental stuff.
r6 is class
r7 is PC.

Plan A:

ldr r0, [08??????] (=Player Character Party 1 or Party 2 data) //Should point to var.
add r0, r7
ldrb r0, [r0, #0x0]
cmp r0, 0x0
beq $b1
add r6, #0x14
b $b1
var:(POINTER to  PC Party data)

b1: Rest of the code.


And then just fill out 8 bytes for each party member. 0 For Party 1, and 1+ for Party 2.


---


Plan B:

Ofcourse, with a bit of revision to my code, you could make it so that the new database contains values to add to the class value:

ldr r0, [08??????] (=Player Character Party 1 or Party 2 data) //Should point to var.
add r0, r7
ldrb r0, [r0, #0x0]
add r6, r0
b $b1
var:(POINTER to  PC Party data)

b1: Rest of the code.


And then just fill out 8 bytes for each party member. Basically a number of where their class numbers should start. If you decide to insert the database into this same code section, Consider swapping the first ldr instruction for an "add r0, pc, ?" one. (So that you don't have to have that pointer value.)
« Last Edit: 25, August, 2013, 08:22:36 AM by Teawater » 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...

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! :)
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #26 on: 25, August, 2013, 06:09:50 PM »

@Misery: It's not really that difficult. just insert a table look-up code.
You underestimate my laziness. That, and I don't have that much experience working with assembly, nor do I remember ever trying to implement any custom code... but I think I'm going to do so now that you've essentially done all the work.

Well, not all the work... I still have to convert it into hex. Not to mention I'm not sure where exactly it should be executed. But I guess I'll take a look at the class sorting code and try to figure out where to put it.

On another note, with this you've made the basis for a full character separation patch. Nice. I think I'll go ahead and actually make a patch of this.
Logged
View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

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

« Reply #27 on: 25, August, 2013, 08:04:43 PM »

I remember before I first learned assembly, it was mostly gibberish. The first thing I recognized were the data pointers scrabbled through the code. Ofcourse, in the end, the bulk of my learning the language came from reading GBATEK and comparing what happens in SDL-H.

Quote
Not to mention I'm not sure where exactly it should be executed.
It should replace Atrius's patch. (At 080B01BC.)

Speaking of, I could probably also create a look-up table for class items as well. (To replace those item checks beneath.) (Not sure if I will, though.)
« Last Edit: 25, August, 2013, 08:09:57 PM by Teawater » 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...

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! :)
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #28 on: 25, August, 2013, 08:53:11 PM »

I think the same would go for anyone, assembly will look like gibberish if you don't know it. Fortunately, I can understand it somewhat. I didn't understand your code at first though since I didn't realize ldrb would load a byte from the address in r0 (rather than the actual value stored there), but I believe I do understand it now (at the very least, it all makes sense).

I'm only going to use the second piece of code ("plan B") for the patch, since it gives a lot more flexibility.

Quote
Not to mention I'm not sure where exactly it should be executed.
It should replace Atrius's patch. (At 080B01BC.)
Well thanks, that saved me another bit of work.
Logged
View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

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

« Reply #29 on: 25, August, 2013, 09:04:18 PM »

Okay, by the way, I forgot that the ldrb one could replace a number for a variable as well, so here's the updated code.


???? ldr r0, [08??????] (=address of bank)
5DC0 ldrb r0, [r0, r7]
???? add r6, r0
???? b $b1
« Last Edit: 25, August, 2013, 09:12:08 PM by Teawater » 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...

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! :)
View Profile
Luca100
I'm Noish's biggest fan. Thanks to my wise advice about love relationships, he made his crush Ayra fall in love with him and they now have two incredible twins

Hi everyone!!!

New User


Coins: 0
Offline Offline

Gender: Male
Posts: 3

« Reply #30 on: 09, October, 2020, 10:21:15 PM »

Hi, I was wondering if there is any way to use the patch to separate the classes in the Spanish ROM. I don't know much about Hacking and there is no information on the internet about roms in Spanish, so the patch simplifying things would help me a lot. Thanks!  Happy
Logged

Golden Sun The Lost Age, Fire Emblem Genealogy of the Holy War, Pokemon Cristal, Inazuma Eleven, Dragon Quest IX ... What else does someone need to be happy?
View Profile
Pages: 1 [2]   Go Up
  Print  
 
Jump to:  

Chatbox
15, November, 2020, 03:45:26 PM
Salanewt: We're more alive than the board implies; most discussion takes place over on the Discord server.
15, November, 2020, 03:45:06 PM
Salanewt: Haha, heya!
15, November, 2020, 02:07:50 PM
Frog: Nice to see this place is still alive...ish anyway xD
30, October, 2020, 11:10:23 PM
Salanewt: ... Actually, it's almost time for me to post an update on the forum. It's been coming along really nicely overall, and it was only a couple months or so ago that I added some new status effects to the game.
30, October, 2020, 11:08:41 PM
Salanewt: I need to get it done to start making progress on the parts of the AI Overhaul I want to start working on.
30, October, 2020, 11:08:14 PM
Salanewt: It's going well! I wanted to get more of my djinn reform done this week but I've been busy with other things sadly.
30, October, 2020, 09:58:14 PM
KyleRunner: Hi guys! How are you doing?
13, October, 2020, 11:19:21 AM
MaxiPower: first chapter of my golden sun inspired webtoon is now live. be cool if yas could check it out. https://www.webtoons.com/en/challenge/legacy-of-the-lost-dragoon/the-northern-reaches/viewer?title_no=508487&episode_no=6
31, August, 2020, 08:40:32 AM
Daddy Poi's Oily Gorillas: Being able to convert IPS files to text files to also supporting commenting, and convert back to IPS after changes.... sounds like a fun strategy? 
27, August, 2020, 10:37:30 PM
Salanewt: Hey, thanks! 
25, August, 2020, 12:59:22 AM
Foreclosure: Yo! Looking forward for this AI OVerhaul patch when it's finished :) :) 
19, August, 2020, 07:00:17 PM
Salanewt: That's awesome! I'm pretty good; been working on an AI Overhaul project and have made some nice progress in the past couple weeks; the goal for tonight is to add Deadbeard to GS2 and then I can move onto something new.
19, August, 2020, 01:14:56 PM
Awec: Ye not bad, just checked back in for updates on GS Reloaded really. Although now I'm looking back through some of my old forum posts, which is fun :D how are you?
19, August, 2020, 01:43:07 AM
Salanewt: It sure is! How have you been?
16, August, 2020, 09:40:57 AM
Awec: Yo nice to see this forum is still going
14, August, 2020, 09:06:44 PM
Salanewt: Hey! How goes it?
01, August, 2020, 01:31:53 PM
KyleRunner: Hello, people!
08, July, 2020, 08:57:11 PM
Salanewt: That awkward feeling when almost a quarter of a year goes by without anyone posting a message in this chatbox.
27, April, 2020, 07:54:10 PM
Daddy Poi's Oily Gorillas: I'm having a thought. So I know Atrius's editor is slow at saving sprites.... So I've been thinking.   I am considering another console program.  This time, for importing and exporting sprites/animations. Image files (for sprites), binary files (for animation data), and maybe binary or text files for Settings. Would certainly be cool if it works out. - Console programs are fun, when you can (at least temporarily) cheat out making a full interface editor for them. =P
25, April, 2020, 10:42:07 PM
Daddy Poi's Oily Gorillas: Tried to list those in order of importance, but anyway....
25, April, 2020, 10:37:59 PM
Daddy Poi's Oily Gorillas: GSHC, GS Speedrunning, /r/Golden Sun, GS United Nations, ToK.  Sixth one is border-line I'm not sure.
25, April, 2020, 08:00:21 PM
Daddy Poi's Oily Gorillas: (low as in <100)
25, April, 2020, 08:00:04 PM
Daddy Poi's Oily Gorillas: So while there are quite a few GS Communities out there. There are only up to maybe ~6 Discords worth even the consideration of joining, I think. Most of the rest of them have a fairly low member count. (Of which I can tell?)
14, April, 2020, 10:49:35 AM
Daddy Poi's Oily Gorillas: The Essential Age could be what it stands for?
13, April, 2020, 05:23:32 PM
Misery: Tea editor... that's a cute name for it
01, April, 2020, 02:42:48 AM
JupiterDjinn: Also my browser is sending two o f my messages srry.
01, April, 2020, 02:42:06 AM
JupiterDjinn: Just got the reply. Ok my question is: how can I get the tea editor on Android, because I already have an emulator. But no computer.
31, March, 2020, 07:18:29 PM
Salanewt: Sure thing!
31, March, 2020, 03:38:27 PM
JupiterDjinn: Can I have a question answered?
28, March, 2020, 12:50:13 AM
Salanewt: I want to shrink it down in size later, but yup!

Affiliates
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.067 seconds with 23 queries.