One last release of the scripts so you don't have to do your own hex editing, as it includes the configs according to your set fps and copies and renames them to config alongside your anim file
ffmpeg -i 3dslogo.mp4 -vf fps=30,scale=400:240:flags=lanczos,palettegen palette.png
ffmpeg -i 3dslogo.mp4 -i palette.png -filter_complex "fps=30,scale=400:240:flags=lanczos[x];[x][1:v]paletteuse" output.gif
It's perfectly compatible with BootCTR9, just make sure you rename BootCTR9's 'arm9loaderhax.bin' to 'arm9payload.bin'Would this be compatible with BootCTR9? Or will we be stuck in a boot loop?
Uhh, sorry for my n00biness with ffmpeg, but what on earth does that do? That's just for converting an MP4 to a GIF, right? Here, you have to convert *any* format to a BGR24 RAW dump stream, with each frame having a (400*240*3) bytes size or (320*240*3).that command to make the gif is pretty bad, you'll get ugly results out of ffmpeg with it. ex. something like this works much better:
Code:ffmpeg -i 3dslogo.mp4 -vf fps=30,scale=400:240:flags=lanczos,palettegen palette.png ffmpeg -i 3dslogo.mp4 -i palette.png -filter_complex "fps=30,scale=400:240:flags=lanczos[x];[x][1:v]paletteuse" output.gif
I see where you're going with this, but it shouldn't be generating a gif unless you're giving it a gif, even then the end product is always a renamed rgb dump. I'll see if it improves the end product though.that command to make the gif is pretty bad, you'll get ugly results out of ffmpeg with it. ex. something like this works much better:
Code:ffmpeg -i 3dslogo.mp4 -vf fps=30,scale=400:240:flags=lanczos,palettegen palette.png ffmpeg -i 3dslogo.mp4 -i palette.png -filter_complex "fps=30,scale=400:240:flags=lanczos[x];[x][1:v]paletteuse" output.gif
I'd prefer if you included BUTTON_START in the same header that is used by BUTTON_R1. Other than that, you may fork it if you want and just push changes if you have a GitHub account, otherwise I might do it, but with the SELECT button.I'm having fun with converting family videos into anim files. Problem is that some videos last for minutes.
I made the following changes (in bold) to the file draw.c to exit the animation when pressing START (meaning 'START' to boot normally) ;-) )
Just posting in case anyone is interested. Will look also into an option to randomly select an animation from the folder at each boot.
...
#include "buttons.h"
...
for (u32 curframe = 0; curframe < maxFrames; curframe++) { // loop until the maximum amount of frames, increasing frame count by 1
u16 pressed = HID_PAD;
if (pressed & BUTTON_START)
curframe = maxFrames;
I see where you're going with this, but it shouldn't be generating a gif unless you're giving it a gif, even then the end product is always a renamed rgb dump. I'll see if it improves the end product though.
ffmpeg -i %1 -s %res% %output1%
Thanks for the tip, I'd have finished comparing results already if my computer didn't think it was a good idea to cut power to my sd reader.
You make a gif as an intermediary file in your .bat, you'd get better results pursuing what I posted rather than this bit:
Code:ffmpeg -i %1 -s %res% %output1%
In any case, good luck! FFmpeg is pretty fickle, you often have to beat good results out of it.
I'd prefer if you included BUTTON_START in the same header that is used by BUTTON_R1. Other than that, you may fork it if you want and just push changes if you have a GitHub account, otherwise I might do it, but with the SELECT button.
ASM and VB... those are pretty much polar opposites!I'm fine if you do it (your way). I have no GitHub account (yet), I only recently started to learn 'C' (as being an experienced programmer from the past but mainly in assembler and Visual Basic). These type of 'tasks' help me in the C learning process. But I have still a long way to go.... First proper use of my Linux virtual machine as well ;-). I want to become more knowledgeable first about GitHub before starting my own forks to be honest.
It doesn't, I was an idiot and didn't actually check to see if the chainloader sources actually worked. I accidentally deleted them, and when I wanted to post the source I didn't bother to check if they worked. It's already fixed tho, both on BootAnim9 as well as FakeBrick9 (really creative names, huh?)Oh, btw, Wolfvrak. If f_open requires sdmc:/ now, you're going to need to fix the paths in draw.c, since I did directly f_open of the anim and anim_bottom file.
Thanks for the tip, I'd have finished comparing results already if my computer didn't think it was a good idea to cut power to my sd reader.
It doesn't, I was an idiot and didn't actually check to see if the chainloader sources actually worked. I accidentally deleted them, and when I wanted to post the source I didn't bother to check if they worked. It's already fixed tho, both on BootAnim9 as well as FakeBrick9 (really creative names, huh?)
It actually does look a ton better. I was actually wanting to find some way to increase the quality of the animation, that's a big help. I never noticed I had artifacts all over my gamecube one til I ran the video through the new procedure and it does look a ton sharper.It was night-and-day difference for me, my boot animation is nice and sharp now; using that .bat you posted (thanks for that, btw, it was useful as a starting point) gave me dithered-looking results, like web GIFs from the '90s.
Anyways, hope it ends up helping in some way, it'd be great for folks to have a drag-n-drop creator that gives snazzy results.
Yeah, I like to follow the KISS principle as much as I can(Hey, the names get the point across. Better to have a boot animation tool named BootAnim9 than Phoenix or something else that sounds neat but doesn't explain what it does. Heh.)
It's running the input file through a the lanczos filter at what I edited to be the target framerate and size to create a palette for the second line which uses that palette as well as the filter to create a good quality gif before we dump the gif to rgbIt's perfectly compatible with BootCTR9, just make sure you rename BootCTR9's 'arm9loaderhax.bin' to 'arm9payload.bin'
Uhh, sorry for my n00biness with ffmpeg, but what on earth does that do? That's just for converting an MP4 to a GIF, right? Here, you have to convert *any* format to a BGR24 RAW dump stream, with each frame having a (400*240*3) bytes size or (320*240*3).
I'm trying to set up a converting server, so is there a chance you could provide commands to convert from whatever format to the format I'm using?
That's what I generally do: don't convert to GIF and then convert to RAW, just dump inmediately from source.@Docmudkipz Just so you know, that will decrease colors to 256. It's not necessary, since the 3DS is perfectly capable of rendering standard 8bit video. When using an MP4 as input, you're destroying the colors with no real gain.
Also in general - the more transcodes, the worse the result will be.