+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  [GBA] Need advice to learn graphic editing
Pages: [1] 2 3
Author Topic: [GBA] Need advice to learn graphic editing  (Read 1568 times)
lastevil
Guest
« on: July 23, 2007, 04:39:05 am »

Hi there.

Im currently doing a translation for the game "1432 - Harvest Moon - Friends of Mineral Town" in game. I have learn pointers system (so i can eaisly change text), also learned basic graphic editing like adding é è and other specials letters i need (also change days name by french equivalent). Now im looking to learn how to change bigger sprites like, for example the Natsume screen or the Title Screen. I don't really need to change them. I just want to learn how i can do that. I do not have knowledges in asm (even if im not against to learn that if you can show me a complete tutorial).

Im using the DEVEL version of VBA so i can see logs.
I already try the things in http://www.romhacking.net/forum/index.php/topic,4203.0.html topic. Didnt work with me (maybe my fault?).

Well anyway, if you can give me some advice, tutorial or even learn me some technic.

Thanks !

(btw, escuse my lame english ^^)
KaioShin
Guest
« Reply #1 on: July 23, 2007, 04:48:48 am »

We've had much worse English here already than yours, don't worry.

So, you already tried SWI logging to look for compressed images?

If that didn't turn anything up the graphics are most likely plain tiles. The first step would be searching for them. You can open the ROM in a tile editor like TLP or Tile Molester and just search for graphics like you did for the font. You won't find the graphic as a whole image there, it will be in little pieces. Try looking for that, if you got it we can go on from there.

(Using a debugger it would be much faster to find the graphics, but it's also much more complicated to explain to someone who doesn't know about it. If someone else wants to give the full tutorial go ahead Tongue )
RomekG
Guest
« Reply #2 on: July 23, 2007, 05:06:39 am »

Quote from: KaioShin on July 23, 2007, 04:48:48 am
(Using a debugger it would be much faster to find the graphics, but it's also much more complicated to explain to someone who doesn't know about it. If someone else wants to give the full tutorial go ahead Tongue )

http://www.romhacking.net/forum/index.php/topic,743.0.html  Smiley
lastevil
Guest
« Reply #3 on: July 23, 2007, 05:24:04 am »

I already tried to find if theese picture was like normal tile. Haven't found hem (or the piece are very very little :p:p).

I will be really happy to learn debugger method. I will get a look on the link you gave me.

About Swi log, i dont have vanilla gba so as the other guy, i dont have exactly the same text > can't see any LZ77UnCompWram: anywhere in the log, even if i check all the logging options).

Anyway, for now, i will take a look on the link you gave me. Hopefully, it will help me ^^
lastevil
Guest
« Reply #4 on: July 23, 2007, 06:33:49 am »

k im back ^^

I got some problem to understand that :

How do we know that this is the right break? If you open the memory viewerbr /in VBA and see what 06013020 is whilst on the menu, you'll know that thesebr /are the correct values. So now we need to see what opcode triggered thisbr /breakpoint. In VBA's diassembly viewer, go to 080adf3e and scroll up a bit.br /The instruction that triggered the breakpoint is the one immediately beforebr /080adf3e, i.e.:

(and if i continue with the tutorial, i don't find the same asm function... ans since i don't know asm...)

Anyway, one thing im sure now : The title screen is in tile while the Natsume SpashScreen is a background (so i can't use the tutorial for it).

Anyway, if someone can help me out with my problem...
Solid One
Guest
« Reply #5 on: July 23, 2007, 08:14:46 am »

I don't know if you have the DEV version of VBA, but anyway here's a link for it:

http://sourceforge.net/project/downloading.php?group_id=63889&use_mirror=ufpr&filename=VisualBoyAdvance-Dev-1.7.2.zip&32863005

if it don't work this way, go and access sourceforge manually and get it.

SWI logging functions only work with this version.

I heard that Harvest Moon is pretty big game. with a lot of texts to change. assuming that the size of that rom is 8mb, and the very big size of the events of this game, it's very high the probability of most graphics of the game are compressed in some way.
« Last Edit: July 23, 2007, 09:06:45 am by Nightcrawler »
lastevil
Guest
« Reply #6 on: July 23, 2007, 08:53:27 am »

GBAmdc won't create any .dat files.
Someone know where i can find Vanilla forks of VBA ? (the one used by the guy is the othen post)
Odin_Knight
Guest
« Reply #7 on: July 23, 2007, 09:18:58 am »

The data isn't LZ compressed. If it was VBA would registered it in the log. From what I saw the logo from the game is built from sprites and not from tiles, so I think you'll need to backtrace it's place in the memory from the instructions in the VRAM. To do that you'll need VBA-SDL-H, you need to put some breakpoints in those positions of the VRAM and try to see where are they loaded from.
Solid One
Guest
« Reply #8 on: July 23, 2007, 09:28:30 am »

Quote from: lastevil on July 23, 2007, 08:53:27 am
GBAmdc won't create any .dat files.
Someone know where i can find Vanilla forks of VBA ? (the one used by the guy is the othen post)

can you search in the log for instructions like that:

"LZ77UnComp"
"HuffmanUnComp"
"RLEUnComp"

and post here in the channel? it would be better for us to analyse data.

GBAmdc just generate .DAT file if it finds instructions of that way i mentioned above. else, it won't find any data.
lastevil
Guest
« Reply #9 on: July 23, 2007, 09:41:00 am »

There is nothing like that in my log. Should i check only swi logging options? Or another?

About the link to find my title screen with VBA-H, can smeone explain me this line (asm) :

080d0f08 c307 stmia r3!, {r0-r2}
(This is the line directly before the one with breakpoint.)
vba sdl H says > R3 : 040000e0 / R0 : 02002204 / R2 : 84000ED0


(on the text of labmaster, he got something like 080adf3c  6090 str r0, [r2, #0x8] at this moment).

Thx
« Last Edit: July 23, 2007, 10:33:50 am by lastevil »
Ryusui
Guest
« Reply #10 on: July 23, 2007, 01:02:08 pm »

Quote from: Odin_Knight on July 23, 2007, 09:18:58 am
The data isn't LZ compressed. If it was VBA would registered it in the log.

SF5 uses its own LZ compression for its title screen. What you mean to say is that it doesn't use the GBA BIOS' built-in compression.
RadioShadow
Guest
« Reply #11 on: July 23, 2007, 01:09:34 pm »

I was bored and had a go at changing the text:



If you want the table file, I can give it to you but at the moment, its incomplete. 

EDIT: If you already figured out how to change text, ignore the above. Tongue


As for the background title image, (the people use separate sprites) is not compressed so you will need to use a different method of locating the date. 

I'm having a play about with it now. 
« Last Edit: July 23, 2007, 01:18:49 pm by RadioShadow »
Odin_Knight
Guest
« Reply #12 on: July 23, 2007, 01:31:54 pm »

Quote from: Ryusui on July 23, 2007, 01:02:08 pm
Quote from: Odin_Knight on July 23, 2007, 09:18:58 am
The data isn't LZ compressed. If it was VBA would registered it in the log.

SF5 uses its own LZ compression for its title screen. What you mean to say is that it doesn't use the GBA BIOS' built-in compression.

Yes, you're right. That's why I sugested backtracing the data, that way you could locate the place in the ROM where the data is and the figure out the compression used.
lastevil
Guest
« Reply #13 on: July 23, 2007, 01:40:55 pm »

Yep.

Changing text is not actually a problems. I know how to use pointers. I even began to translate alle the intro and a little more in game. I have the full table (and the letters i have added inside the rom, in replacement of the japanese table, like é è à ...).

I have also doen some changement to the graphic of the rom. (like days name).

For now my challenge is to fing a way to locate and modify picture like the TitleScreen (in tiles somewhere in the rom, but can't find where nor how to load a great color palette) or the Natsume logo (Which is actually not a sprite but a Bacground).

I have tried some things i found on this great forum (and things people here show me) but I still can't change them (and can't locate them).

From now, i have tried several times with VBA-SDL-H to put breakpoint following the example with Zelda minish Cap. But im stuck on the debugger step, since i don't know asm. I can't figure which opcode called the breakpoint (and unfortunaly for me, the asm funcion is not the same at all ^^).

I think it's all i know for that now. But i won't stop trying. Everything is possible i guess Wink.

Another thing i found. On VBA, while looking for the titlescreen tiles in the Tiles Viewer, i only can see them in 256 colors mode. Does that mean i have to look something in the rom with a 256 color mode?
The example with Zelda tilescreen was with 16 color mode only.

Guess i have no choice other than learn asm. Someone can help me to found a great way to learn?

@ Odin_Knight :
Is the method with breakpoint on the example of Zelda the thing you are calling "backtracing the data" ?
If yes, and if you can, can you help me with teh issue i got by following this kinf of tutorial?

I can see stmia on my asm line. Labmaster talk about a different kind of loading method at the end of his document.
Odin_Knight
Guest
« Reply #14 on: July 23, 2007, 01:51:10 pm »

look at this trace done by labmaster
http://www.romhacking.net/forum/index.php/topic,3913.msg62321.html#msg62321
I had the same problem, I had data that used in the game I could not see directly where it was stored.
With that I was able to find where the data was stored and change it.
Pages: [1] 2 3  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC