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

Hello, I'd like to receive advice

Started by GuerreraD, 11, March, 2017, 11:49:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GuerreraD

Hello everyone! :happy:
I've just joined this community, wishing to some day (and somehow) be able to make my own GS hack-game, since that was the bait I read for join at the Home in this website.
Also because Camelot doesn't seem to be into it anymore :sad:
As for now, I simply wanted to greet everyone, and thank beforehand any help I could get. Hi!

Luna_blade

Hello there and welcome!
Unfortunately I don't know much about the hacking tool. I do understand a bit of GBA assembly, but not enough to really hack.
There are/were also non-hacking related projects here, if you are into it.

Yeah it is quite a shame Camelot is done with it.
"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"

Rolina

For advice, you'll probably want to seek out Salanewt/Squirtle.  They seem to be the ones who understand the inner workings of GS the most, or at least that's my impression.  Caledor's a good choice for advice as well, given that they have a full release and continue to update their second mod set.

GuerreraD

Oh, thank you both! I don't know those names you mentioned, but I'll do some research on them when I have more time (right now I'm having exams every week).
Until now I've been using Atrius' editor, which allows you to modify a lot in-game, but I never got around making my own maps, scenes, events or whatever...

What about you? What have been your projects about the game?

Daddy Poi's Oily Gorillas

#4
Yes. Outside of Atrius, Salanewt, and me, there's not really many other people to ask for help from when it comes down to the game's code....? (But as time goes on, people's knowledge can grow... And I'm hoping the docs in my sig have really helped some people.)
I believe I am perfectly capable of learning mostly anything concrete about all three GS games.... but sometimes the motivation just isn't strong enough. Plus, it can take time when I do. (Whoops/Sorry. But hopefully one day, though??)
@time: That can either be a short period of time, or a very long tricky amount of time, sometimes leading you in circles if you're unlucky.... (I think.) ... But as I like to think... where there's a will, there's a way.

(I say concrete, because you can't always know the why , etc. ?)

---
I have had a bunch of projects for GS... Not many hack projects, but plenty of mostly-incomplete editor projects.

-In the early days, I started with modding Atrius's editor, had some minor releases (likely bugged)... and then at one point, I discontinued it.
-Java project = Was meant to list data in the order they are shown -
-C# Map Editor project = Well, not really a map editor yet... but it does have a text editor. (Fully utilizing the compression so you can have any text you want... Should also be better compression than Atrius's editor... but for those who don't need the space (you probably won't), it doesn't matter...)
-At some point, I was rewriting the game code (or trying to) in C/C++ to be compiled by some gbadevkit thingy.... It wouldn't be 1:1 (Original wouldn't be same as newly compiled) ... Plus, it'd take an excruciating long time.... so can't say whether that's a good idea...
-Latest project was: ... C# and possibly Python (Not sure yet) Data Exporter project = Hoping this one will replace all my previous editor projects.... so that you can edit almost anything about the game.... (Staying in the confines of the GBA? Unless we figure out a way for platform-conversion... but I'm no where near that stage yet.) ... and use armips for compiling.

It's probably been several month since I've last touched the last project, so I should really get back to it at some point.
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! :)

GuerreraD

Whoa, you certainly sound quite experienced about this!  :happy: Would you mind if I ask you a little?

Using Atrius' editor, I wanted to make my own classes using attached items, in the same style as the Whip or the Book. However, I am unable too... I looked throughly at those items and their given classes, but I couldn't find what "linked" them together. Until know I had to say goodbye to one class or another in order to transform into what I wanted, but since there are many empty spaces in that cathegory, I'd prefer to make my own from scratch.

Daddy Poi's Oily Gorillas

#6
You mean Item Classes?

Some items set your Class Type to another value if you have them equipped. The problem is that this is hard-coded, so it was never added to Atrius's editor.
(Innate Psys were also hard-coded, but Atrius added a code patch to help with making it easier to edit with-in the editor. Basically making it so the psys are in a simple table instead of keeping it hard-coded..)

So if you are only using Atrius's editor, the best you can do is know which class type each of those items use...


You could try using a Disassembler and hex editor if you know what you are doing though.
As a matter of fact, all you need is VisualBoyAdvance to do it (See Tools menu from VBA's toolbar), assuming you already know the where-abouts of which you'd like to edit...
If you wish to do your editing in VBA's memory viewer, then you must know how to use the Save button in the memory viewer and making a dump of the ROM section...
The hardest part in all this, if you don't already know it... is learning how the code works. (Thumb assembly required.)


Relevant part in the document of mine:
GS2:
080B0144 = find_matching_class(pc,pcDjinnRamAddr,item)
Unfortunately, the function is a bit long to explain.... but the part that sets the class type based on item is pretty short. (Scroll down... I may have to explain it, though.)

A lot of times when I do text(text,text....) , It's basically names I make up... that are like what I might name the function and parameters... functionName(r0=parameter0, r1=parameter1, r2=parameter2...)
So, since I have already figured out the r2 one... which is "item" from way before... I can just scroll down to see where that is used.... First usage, it moves it to r8... This is a common thing that happens in functions, esp. large functions.. = The arguments are moved/stored somewhere else to be referenced....
....so scrolling down to see where r8 is used....

And BAM!
080B01D2 = Compares r8 with 0x1BC (Trainer's Whip), if it matches, set class type to 0x10 (16 in decimal)
080B01DE = Compares r8 with 0x1BB (Mysterious Card), if it matches, set class type to 0xF (15 in decimal)
080B01EE = Compares r8 with 0x1BD (Tomegathericon), if it matches, set class type to 0x11 (17 in decimal)

After a class type has been calculated... that's when it is compared against the class type values listed in each class  (The Class Types you see in Atrius's editor.), to figure out which class you will be getting.

NOTE: I really should have explained that portion of assembly in great detail, but it takes time.


---

EDIT AGAIN: Oh wait... I forgot about this!

http://forum.goldensunhacking.net/index.php?action=downloads;sa=view;down=34 <== This is a simple option, should you choose to use it over working through the above complications.
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! :)

Manu

#7
Er...wrong thread, sorry D:

GuerreraD

Fox, that sounds so difficult...  :sad: I never had any kind of programming experience or instruction, so I don't even know what most of what you said meant.

However I did understand it's not possible to do what I intended, such pity... But of course, if hacking this game was that easy, then I guess we would have tons of GS hacks to play like it happens with Pokémon or Mario (and there's none as far as I know).

Luna_blade

Quote from: GuerreraD on 02, May, 2017, 01:27:30 PM
Fox, that sounds so difficult...  :sad: I never had any kind of programming experience or instruction, so I don't even know what most of what you said meant.
Well if you are interested, he wrote down some GBA CPU instructions. Better know as ARM instructions.
Even though you have no programming experience, I'd say ARM is relatively easy to understand. Mostly because normal programming languages have quirks to understand and ARM has almost none. At any rate, this forum might be the best place to learn it.
Quote from: GuerreraD on 02, May, 2017, 01:27:30 PM
However I did understand it's not possible to do what I intended, such pity... But of course, if hacking this game was that easy, then I guess we would have tons of GS hacks to play like it happens with Pokémon or Mario (and there's none as far as I know).
Well... those games are also simply more popular.
"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"

Salanewt

#10
Hey there! It looks like I missed your introduction, but welcome! :p


Small question, but do you know how to apply patches? Or how to use a hex editor?
Oh yeah baby, £ me harder.

Fusion is just a cheap tactic to make weak Adepts stronger.

Yoshi's Lighthouse is a hacking website in progress. Why not check it out if you like Yoshi or the Mario & Luigi games?

Daddy Poi's Oily Gorillas

I would say that learning assembly is easier than proper game balancing.... but it depends on what you are interested in.
Also, I cannot express how much pictures help to teach people things! So I should try to use them more often. :/


As for you finding it difficult to understand... that's what the last part of my post was about. = Expanding the number of items that have item classes from 3 to 5... It is better than nothing. But the main thing is the "link" between them is hard-coded. (Don't look at hard-coded as unreachable, just a learning curve that requires Thumb knowledge.)
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! :)