Homebrew [Release] Homebrew Launcher with grid layout

  • Thread starter Thread starter mashers
  • Start date Start date
  • Views Views 672,257
  • Replies Replies 4,218
  • Likes Likes 139
He might try to find a new exploit? Anything is possible?
All of what he said literally made no sense to me since the exploits brahma used are all patched. He never mentioned looking for a new exploit(which btw it is not easy) especially since this Chelsea guy used to copy most of Roxas' work to implement it into his work back then(claiming it was better)while dissing Roxas for not doing a better job than him.
 
Last edited by insidexdeath,
All of what he said literally made no sense to me since the exploits brahma used are all patched. He never mentioned looking for a new exploit(which btw it is not easy) especially since this Chelsea guy used to copy most of Roxas' work to implement it into his work back then(claiming it was better)while dissing Roxas for not doing a better job than him.
I never said it was. But meh, if he does it's great! If he doesn't whatever.
 
Last edited by teampleb,
I never said it was. But meh, if he does it great! If he doesn't whatever.
it would be great if he does, but recently many people are putting their hope into some members who never contributed anything to the scene apart from starting drama or copying each other's work and Chelsea is one of those people sadly.
 
OK, I've got an idea for a new font engine for the HBL but I'm not sure if it will be as efficient as what is currently in place. However, I can't get smea's font conversion Python script to work, and using sftd/freetype seems to crash the launcher.

So I spent some time this morning looking at the specification for the .fnt file. It seems quite straightforward: it gives you the x/y offset and w/h of each character within a .png file, as well as the x/y offset from the current position where it should be drawn. It also matches this to the ASCII id of the character. I should be able to use this information to build a drawing engine which does the following:
  • Look up the ASCII id in an array to get the details of the character
  • memcpy the image data for the character using the x/y/w/h
  • Draw the image to screen using the current ('cursor') x/y position, adding the x/y offset for the character to position it correctly
  • Add the character's xadvance value to the cursor x position ready to draw the next character
This should work, but I don't know how efficient it will be. I'll try to knock up some code and see if it actually works.
 
Thanks, but I can't read it.

I've made some good progress this morning. I've defined a C structure to contain the .fnt character details, and another one to contain the font data and an array of the character details. I've then created a function which iterates through the string you pass it, converts each character to its ascii value, and looks it up in the font's array of character details. If it finds a match it then draws the character on the screen. If it doesn't find a match, then the user is trying to draw a character which doesn't exist in the font so a generic character is drawn.

This is currently working, but not utilising the actual font at all (currently it just uses ctrulib's existing text drawing routine). The next step will be to use the character details to find the character in the font image data, memcpy it to a separate image, and then draw that image onto the screen at the appropriate location. This shouldn't be too hard to do, and will hopefully result in the text being drawn to the screen in the selected font.

Currently, my C struct contains manually-entered data for just two characters for testing. Once the basic engine is working I'll need to create a script which will take the .fnt file and convert it into C code which I can copy and paste to form a struct containing the full character data. I will also write a small programme to copy just the alpha channel data from the font's png file into a separate bin file. That way the font can be rendered in any colour and the unneeded colour data from the PNG can be discarded, reducing the filesize.
 
Thanks, but I can't read it.

I've made some good progress this morning. I've defined a C structure to contain the .fnt character details, and another one to contain the font data and an array of the character details. I've then created a function which iterates through the string you pass it, converts each character to its ascii value, and looks it up in the font's array of character details. If it finds a match it then draws the character on the screen. If it doesn't find a match, then the user is trying to draw a character which doesn't exist in the font so a generic character is drawn.

This is currently working, but not utilising the actual font at all (currently it just uses ctrulib's existing text drawing routine). The next step will be to use the character details to find the character in the font image data, memcpy it to a separate image, and then draw that image onto the screen at the appropriate location. This shouldn't be too hard to do, and will hopefully result in the text being drawn to the screen in the selected font.

Currently, my C struct contains manually-entered data for just two characters for testing. Once the basic engine is working I'll need to create a script which will take the .fnt file and convert it into C code which I can copy and paste to form a struct containing the full character data. I will also write a small programme to copy just the alpha channel data from the font's png file into a separate bin file. That way the font can be rendered in any colour and the unneeded colour data from the PNG can be discarded, reducing the filesize.
Wow, you got this down. Don't let your dreams be dreams, just do it! :)
 
  • Like
Reactions: BurningDesire
Wow, you got this down. Don't let your dreams be dreams, just do it! :)
Heh, thanks! Just got it working. The TTF to FNT converter I'm using is shareware and the PNG was so heavily watermarked that I couldn't tell if the data copying was working properly or not. So I overlayed solid backgrounds on two of the letters and just put the text on there manually (basically so I had two legible letters in the correct place in the PNG file). This was the result:

f.png

The word "foo" has been written on the page by passing the text "foo" to my font rendering function. The letters were retrieved from the PNG data using the font map converted from the FNT file.

Now I need to get a full TTF to FNT+PNG converter to get a full, un-watermarked PNG and character map, and convert the full FNT data to the struct I have created. Then the font should be able to use all available characters (I think).
 
Fontforge (free and opensource) have TTF to FNT.

And I found also an online tool that can output both a fnt and a png from a ttf: http://kvazars.com/littera/

Hope this helps.
Thanks mate. I think I tried FontForge but couldn't get it to work properly so in the end I used Littera. I've converted Roboto to a FNT and PNG and have just finished writing a PHP script which parses the FNT file and prints the C code to create an array of my character details structs. I'm just trying to test this now, but the image to BIN converter is taking forever due to the size of the PNG file.
 
  • Like
Reactions: teampleb
Thanks mate. I think I tried FontForge but couldn't get it to work properly so in the end I used Littera. I've converted Roboto to a FNT and PNG and have just finished writing a PHP script which parses the FNT file and prints the C code to create an array of my character details structs. I'm just trying to test this now, but the image to BIN converter is taking forever due to the size of the PNG file.
My bro, you have to get SVDT working asap
 
My bro, you have to get SVDT working asap
People keep saying that, but nobody has yet taken the time to tell me what is supposed to do and what actually happens. I have no need for it so haven't got round to try it out yet. If somebody would care to actually explain the problem then I might be able to get round to it sooner.
 
  • Like
Reactions: teampleb
People keep saying that, but nobody has yet taken the time to tell me what is supposed to do and what actually happens. I have no need for it so haven't got round to try it out yet. If somebody would care to actually explain the problem then I might be able to get round to it sooner.

As far as I know it should be working. The "problem" is that by default, you have to select the target app/game twice: once in the hbl, and again in svdt. Suloku's hbl manages to bypass this by feeding the target app straight to svdt so you don't have to select it again. I think you can just ask @meladroit on how to do that.
 
People keep saying that, but nobody has yet taken the time to tell me what is supposed to do and what actually happens. I have no need for it so haven't got round to try it out yet. If somebody would care to actually explain the problem then I might be able to get round to it sooner.
What is suppose to happen is that the titles of games are suppose to show up and you can choose between them. After you find the game you wan't select a and it will launch the app. The only problem is the titles don't show up. The select title/target shows up on the bottom screen but all the icons are broken.
 
My bro, you have to get SVDT working asap
He doesn't HAVE to do anything if he doesn't bloody want to! Especially when people (like you) basically demand it be done.
And people wonder why a lot of stuff doesn't get done in the 3ds scene... :dry:
Ah yeah, great work so far @mashers btw. :)
 
Last edited by Shadowtrance,
  • Like
Reactions: SLiV3R and Garcia98
He doesn't HAVE to do anything if he doesn't bloody want to! Especially when people (like you) basically demand it be done.
And people wonder why a lot of stuff doesn't get done in the 3ds scene... :dry:
yo bro. It's not just me. Why do you have to hate? I didn't say do it or i'll kill you i said "as soon as possible" meaning no rush get what you want done when you want to get it done.
 

Site & Scene News

Popular threads in this forum