Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,314,387
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 03-28-24 10:34 PM
Guest: Register | Login

0 users currently in Secret of Mana Hacking | 1 guest

Main - Secret of Mana Hacking - Possible to get exact animation times? New thread | New reply


SourceSeeker
Posted on 06-08-13 01:43 PM Link | Quote | ID: 154061

Newcomer
Level: 5

Posts: 2/4
EXP: 521
Next: 8

Since: 08-11-12

Last post: 3741 days
Last view: 3685 days
I trying to rip the waterfall from SoM. So far it works quite good, although I have look through every single frame (77 pngs) and cut out changing tiles. In addition I added the number frames between each tile change, so that I get proportions for later timing (as a simple example for gif-animation). Now I noted that this way isn't very accurate. Some tile animations where I'm rather sure they skip on a fixed amount of time each tile, seldom have 3 frames and msot of the times 4 frames. Even after 2 complete loops, the frame numbers doesnt have the same proportion like before. So where the two tiles between it needed 3 frames, now have 4 frames in the 2nd loop. So this confirms my assumption.

Now, is there a way to get proper animation times instead of counting inaccurate frame numbers?
Fast help would be very nice, as I'm continue working out the animations with counting frames which is really annoying...

Otrebla2
Posted on 06-08-13 07:00 PM (rev. 2 of 06-08-13 07:08 PM) Link | Quote | ID: 154064


Goomba
Level: 11

Posts: 6/20
EXP: 5691
Next: 294

Since: 02-26-13

Last post: 3091 days
Last view: 3055 days
Maybe this is not the answer you want, but I did some ripping of seiken 3 animation and I did it this way, which works nicely. It's a long read of very simple steps of how to do it easier.

What do you need:
-ZSNES (I think any version will work, but I use 1.51)
-the rom
-a trained eye to spot only ONE thing: when the animation "loops" or begins again

how to rip the waterfall:
1) Open the emulator, load the rom and watch the intro until you are at the waterfall (quite simple, thats why its stated in one step)
2) When Elliot & Timothy speak to you, don't hit B to keep talking
3) Disable the unwanted layers by hitting 1-6 on your keyboard.

(I guess you already knew how to do all that using your emulator. Now comes the fun part, and the reason why I wanted you to use ZSNES)

4) Hit F1, the game will pause and a sub menu will open.
5) Chose "Take Snap/Incr Frame" (or something like that). This button will take the snapshot you want, increase ONE frame in the game and reopen the menu.
6) Keep doing it until you have more pictures than what you actually need. The pictures will be saved alphabetically in order.
7) Go to the folder where the pictures are saved (if I'm not wrong, is going to be the folder where your game is located)
8) Compare. This can be done visually (the way I did it) or maybe with a program.

Instructions to do it visually:

- Alphabetically sort the files in the snapshot folder.
- Just open the image in the microsoft windows picture preview program and hit the right arrow key. You will skip to the next frame/picture and keep doing it until you find the "loop" or the same picture again.


Was this helpful?
Have a good one

Xeruss
Posted on 06-08-13 10:04 PM Link | Quote | ID: 154065


Sledge Brother
Compromised account.
Level: 86

Posts: 1792/1815
EXP: 6111866
Next: 30241

Since: 02-19-07
From: Oregon

Last post: 1784 days
Last view: 1784 days
This is totally speculative, but it's possible if you open a savestate from the same location in YY-CHR, load the appropriate palette, and adjust your view on a per-byte basis (using + and -) you'll find the animation graphics decompressed, thereby eliminating the need to find the loop.

____________________
Design © 2009 Stark
Once for the Super Dave TV show I was the stuntman that fell down the entire wtc stairwell. ~ jargon

SourceSeeker
Posted on 06-08-13 10:53 PM Link | Quote | ID: 154066

Newcomer
Level: 5

Posts: 3/4
EXP: 521
Next: 8

Since: 08-11-12

Last post: 3741 days
Last view: 3685 days
Cool!

Thanks so far for your replies Otrebla & Xeruss!

In the meantime I registered at 'http://www.romhacking.net' & used their chat function to have a little talk to some pros as I think now after the chat. 'Henke37' tried to explain me some things on how to get to the frame counts in the rom, but I understood almost nothing (talking about rom hacking I'm a bloody beginner). Nevertheless I realized that the latest 'ZSnes' (1.51) is from the year 2007, while the latest 'Snes9x' is from 2011!! So my new attempt is to try using the 'Snes9x' and hoping that the frame counts will be more accurate. I went to place of action where the sprites/objects are located I want to rip. Then in Snes9x you can also use 1-5 to toggle visibility of layers, nice! Then I used another integrated function to create an uncompressed avi-file. I recorded 4 secs, which were about 150 MB and had enough frames, because of the 50 FPS of SoM. Then I used Adobe After Effects to get every frame as a png. And this is where I'm again now. I have to compare every frame and count the frames till an animation changes. After that I will compare those results with the results from the Zsnes. Let's see if sth changed If not, my last try for the next time would be a 3rd comparison to 'BSnes'.

@ Otrebla2
1st I have to clearify sth. It is my mistake, because I didn't explained it with more detail, but I don't even try to rip the big waterfall in the beginning of the SoM, but later one of the waterfalls in the ... (hehe in german its called "Elfenteich") ah! found it! 'Gaia'sNavel'.
Yes, I already use the nifty functions with hiding layer through 1-5 or 6(?).
For the next tip I thank you (F1 & the menu)! I already fotgot about this function!! Right, I will have a look on that again, this was helpful.

@ Xeruss
Sounds very interesting, but I already tried a few things and only with minor success. I downlaoded vSnes and tried some palettes, but serious? I just clicked on any buttons without knowing what to do...
A direct rip would be awesome, but also impossible for me atm

Otrebla2
Posted on 06-09-13 09:30 PM Link | Quote | ID: 154073


Goomba
Level: 11

Posts: 7/20
EXP: 5691
Next: 294

Since: 02-26-13

Last post: 3091 days
Last view: 3055 days
heh, it seems that this forum is pretty popular among germans.

ich habe gehort dass die deutsch ubersetsung ist nicht gut, aber ich habe dass nicht gespielt. im only learning

i know zsnes is old, but i like it for ripping just because of that lil tool.

@xeruss:

explain how plz. i would like to try that. can you give clear instructions?

Xeruss
Posted on 06-09-13 09:58 PM Link | Quote | ID: 154074


Sledge Brother
Compromised account.
Level: 86

Posts: 1793/1815
EXP: 6111866
Next: 30241

Since: 02-19-07
From: Oregon

Last post: 1784 days
Last view: 1784 days
You'll just want to play the game in Zsnes until the graphics you want to capture are on screen. Then make a savestate (it should have an extension .zst or .zs1, .zs2, etc..) and open that file in the graphics editing program YY-CHR. Somewhere in the menu should be an option to load a palette from a savestate, so it may be beneficial to load the same savestate as a palette as well.

It will require some experimentation from there, but if you page through all the graphics (set to 4BPP SNES) and occasionally adjust the view using the + and - keys, you should come across some uncompressed graphics. Ideally, the waterfall will be among them.

____________________
Design © 2009 Stark
Once for the Super Dave TV show I was the stuntman that fell down the entire wtc stairwell. ~ jargon

justin3009
Posted on 06-13-13 04:46 AM Link | Quote | ID: 154093


Tektite
Level: 18

Posts: 29/56
EXP: 29484
Next: 413

Since: 09-08-10
From: Wisconsin

Last post: 2906 days
Last view: 857 days
Any graphic on screen I think is loaded decompressed in a savestate. On tile animation, it may just be quick palette swaps if not, a general rule is that the frames needed are already on screen, they just get loaded at different times.

SourceSeeker
Posted on 12-30-13 05:26 AM (rev. 8 of 12-31-13 06:14 AM) Link | Quote | ID: 155321

Newcomer
Level: 5

Posts: 4/4
EXP: 521
Next: 8

Since: 08-11-12

Last post: 3741 days
Last view: 3685 days
Hi again!

It took me the rest half of the year, but now Im wiser
I wrote a JavaFX project to crop and compare all those images I talked about earlier in post #4. Right now I wasnt sure what the right FPS of Secret of Mana is. But if ZSNES doesnt lie, then the english version of Secret of Mana has 60 FPS, while the german version has 50 FPS. Well, I will just accept then if you dont correct me...
So, I dumped an uncompressed video, recording a waterfall in Gaia's Navel (/Elfenteich) for about 9 seconds. As it was the english version with 60 FPS I got 566 PNGs through the help of Adobe After Effects. So whats the exact playtime? (98 bytes collapsed: )
Thanks to the tool I wrote, I made a discovery I wouldnt have made without it (because of the pain in the ass from making it manually). The waterfall uses 8 different pictures until the animation loop begins again. Before I had the tool I always stopped there or at least in the end of the 2nd loop. Now I can just pan through all those picture changes thanks to the automatically generated HTML. 1st I thought: "oh no, there is still no pattern in the animation times ".
But then!
I made a test which just came to my mind. I laughed because I still had to take a paper and a pencil to write sth down although I have written a tool for half a year *g
Now what I did was, I made 8 columns representing the 8 different textures. And then I wrote down the number of frames for every texture until I stopped at the 9th row. -No, there was no specific reason why I stopped at the 9th line, it was just the notepad which was covered.
So, here is what I got:

Wew... This div-table is a pain in the a*s!
...3 hours later... (when using a HTML [table] everything is f*cked up )
Done!
Well, nevermind, at least a nice result =)
So, can you see the pattern?
Okay, I also colorize it for you!
...30 min later...
Done!

I
II
III
IV
V
VI
VII
VIII
1
9
1
8
2
8
1
9
1
9
1
9
1
8
2
8
1
9
1
9
1
9
1
8
2
8
1
9
1
9
1
9
1
8
2
8
1
9
1
8
1
9
1
8
2
8
1
9
1
8
1
9
1
8
2
8
1
9
1
9
1
9
1
8
2
8
1
9
1
9
1
9



I didnt expect such a result! So the solution is that we have 8 different textures, but 10 different animation times. I always thought that the animation times are bound to the textures, but if this result is right, then bam! Textures and animation times are NOT coupled tightly, they can change over time! This is totally new for me, dont know whether you already knew this. But that must be the reason why I often found no pattern when I searched for it manually.

Long enough post, let me hear your opinion!

EDIT:
Shit! Now that I took a closer look at the table I can see that the pattern is broken at the 5th line... Oh nooo...

EDIT2:
Some good news and some less well, good 1st:
I havent yet told, how I got the uncompressed AVI, did I?
So, still using good old ZSNES. After dumping a "rawvideo.bin" I always used a tool called "ZRAW" from RealRPGer. As I have the german and the english version of Secret of Mana and realized that ZSNES tells me, that the german version has 50 FPS while the english one has 60 FPS (in ZSNES go to "MISC" > "MISC KEYS" > "DISPLAY FPS" > and assign a key), it was strange that the final uncompressed AVIs always showed 60 FPS, even when the input came from the german version with 50 FPS. And thats the crunchpoint! I think that ZRAW is the guilty one. I dont wanne blame ZRAW, quite the opposite, infact it delivers perfect uncompressed readable AVI video data, but it seems to have some weaknesses in terms of FPS-detection/conversion.
Now after some google I came across another tool for "rawvideo.bin"-conversion: AviSynth. Again I recorded a video in ZSNES of the english version of Secret of Mana, dumped it as "rawvideo.bin" and used an AVS-script to add the BIN-file to VirtualDub. In the AVS-script I used "AssumeFPS("ntsc_double")" as the tutorial suggested. From VirtualDub I saved the video as an AVI. Then used Adobe After Effects to extract all frames as PNGs (After Effects detected the frame rate as 59,94 FPS). In the last step I used my JavaFX-tool and got a new animation times table with some gratifying informations
I didnt even have to write it down, although for the first numbers I did it. But then on the 2nd loop I stopped writing and just scrolling through the generated list. Finally sth usable! The frame counts for the 8 different texture frames just were repeatingly 1 and 7. Just 1 and 7, not one break in the pattern throughout all 1035 frames!
So that was the good news! I will keep using AviSynth now for BIN-conversion to be able to get the right animation times.
Now the other news:
Yea, it would have been to easy if this would have been the final solution
Seems that another glitch rises again! While the animation timings seems solved, I realize that the recorded part of the waterfall in Gaia's Navel (/Elfenteich) in the bottom left corner where the water splashes makes further problems. My texture rips from ZRAW differ from the rips from AviSynth, meaning that the water splashes are still 100% identical, but the part of the waterfall in the background has different frames. I will have to make further tests to see whether this is a problem with ZRAW, with the different FPS-versions of Secret of Mana or just some loosely connection between the waterfall animation and the splash animation.
Okay, back! =)
Result: No problem with ZRAW and no problem with the different FPS versions! I ripped the waterfall part twice in the english 60 FPS version with AviSynth. Before the 2nd rip I closed ZSNES and restarted it. The water splashes again are 100% identical in both animation tables, but the falling water from the waterfall has another timing between them. This leads to the assumption, that the waterfall consists of different animation sprites with random start times. The falling water has its own animation timing and the water splashes has its own animation timing and both timings have a random start. So, a perfect rip would be a rip of just the water splashes and a rip of just the falling water. But that again seems hard work: 8 textures have to be customized for dividing the water splashes from the falling water. The hard part is to find out what pixels belong to the splashes and what pixels belong to the water...
Okay, back to the salt mines!
So long!

EDIT3:
I would like to upload the waterfall the way i divided it up for detected animations, but I dont know how to attach images easily...
There is a link to "Uploader" in the top of the website, but when I try to upload sth (after I logged in again) it says:
"You lack power to upload here."
Pity!

Otrebla2
Posted on 01-02-14 01:20 PM Link | Quote | ID: 155336


Goomba
Level: 11

Posts: 12/20
EXP: 5691
Next: 294

Since: 02-26-13

Last post: 3091 days
Last view: 3055 days
Heh, who would have thought that this game had so many different animations. Nice job with that tool. It would be cool if the 2 animations could be separated with the ZSNES layers tool (hitting 1 thru 6 while playing) but my guess is that you already tried that and that both of them are on the same layer.

Well, you can allways upload the videos, jpgs, etc. on sendspace or dropbox and post the link here, right?

Have a good one and happy new year peeps

Main - Secret of Mana Hacking - Possible to get exact animation times? New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.033 seconds. (339KB of memory used)
MySQL - queries: 77, rows: 94/95, time: 0.017 seconds.