Homebrew [Release] ORGANIZ3D - Filebrowser for 3DS

  • Thread starter Thread starter Rinnegatamante
  • Start date Start date
  • Views Views 174,115
  • Replies Replies 518
  • Likes Likes 63
With the upcoming Copy function, using ORGANIZ3D to manually set your new custom theme in order to be loaded with extdatatool is possible but i'm not going to add any kind of parser. ORGANIZ3D is not a side homebrew to work only for extdatatool but it's born as a Filebrowser/Media Reader.

With v0.4: you would take singularly files from a folder theme and copy them one by one without the use of a PC (And old theme files will be overwritten).

Little question: There are some N3DS users? I want to know if ORGANIZ3D works on N3DS (Cause the CSND support not available, i think it will be recognized as a Gateway user by lpp-3ds so maybe, i need to patch lpp-3ds to prevent this).
 
Time for v.0.4 has come!

http://rinnegatamante.netsons.org/ORGANIZ4D.rar

Changelog:
- Solved a bug with BMPVs and GW users. Now BMPV files are playable also with a Gateway.
- Now customization for the browser can be made editing CONFIG.txt file
- Added Copy function for files and directories (R button)
- Removed hidden screenshot function when pressing L button (It was used for Debug)
- Now TXT files can be scrolled with Left and Right digital pad
- Added an HEX Viewer to usable file opening mode
- Added possibility to open every file as any type of file (independently from its file format)
- Solved a minor bug which causes crashes with Text Reader
- Added a security check to Delete function

I also updated first post with all the news of this version, new screen and new infos.
 
Whenever I get a problem and it crashes, it tells me to go to support.nintendo.com. who the fuck would go there to get help with a hacked 3ds homebrew application that's not licensed or endorsed by nintendo?
 
DarkFlare, please report me your errors if they are solveable.

ryanjf97 I don't know how to make a CIA file but ORGANIZ3D uses the latest revision of lpp-3ds so if someone want to try to make a CIA version, here are the interpreter sourcecodes: https://github.com/Rinnegatamante/lpp-3ds

Started working on v.0.5.

Current changelog:
- Added Theme system to filebrowser with two themes as samples.
- Solved alpha blending. Now is correctly calculated alpha channel for images.

Note: Themes are very easy to create and they can be setted as Default by editing CONFIG.TXT (Which now contains only a string LoadTheme("NAME THEME")) or they can be loaded by ORGANIZ3D and recognized as Themes
theme.png


I was wondering if a background music theme could be neat.
 
Bug:
1. go to a .PNG file -> copy into the same folder -> View -> image view on top screen -> 5 seconds later -> Error (3DS Homescreen)
2. go to the copied .PNG again -> open -> view -> only 10% of the image is visible on the screen -> same error
:/
 
Just finished to write a very crappy keyboard for lpp-3ds so next release will have rename function (and maybe a complete text editor/hex editor).

As i said:
Current changelog:
- Added Rename function for files and directories (B button)
- Now multimedia files can be stopped and resumed with left and right digital pads
- Added Theme system to filebrowser with two themes as samples.
- Solved alpha blending. Now is correctly calculated alpha channel for images.

:P
 
Is there a proper way to "exit" the program? I use the 3DS version on my Gateway (since emunand has been updated to 9.4, I can not use Cubic Ninja). I have to either eject the cart or force a powerdown to exit. Unless I'm being stupid and didn't figure out the button combination to exit if there is one. :P

The home button seems to be disabled while this program is running. Might want to find a way to fix that. ;)

I'd also recommend having a CIA version at some point. I don't really like running homebrew off the Gateway card. :P
 
i think it is a big image :)
ok nice!

Problem solved now. With the actual fix, lpp-3ds simply crop image but i'm now adding possibility to see big images and move pixel to show on screen with the cstick pad :P

As i said:
- Solved crashes with big images, now they can be loaded and viewed entirely thanks to Circle Pad
:D
 
  • Like
Reactions: Chrisser_75
I have a question/feature request, Rinnegatamante, but I know close to nothing about Lua and would only know how to do this in Python, so indulge me for a second.

Assuming the text reader will be used mainly to read guides from GameFAQs, would it be possible to convert their table of contents on-the-fly into hyperlinks? That would speed up usage considerably by simply letting you jump to the point you want to read of that 500KB+ file. This would also work well for the indexes of books and etc.

TOC structures are usually very similar and I can think of a few ways to code a fuction to generate that stack which would act as hyperlinks, but I dunno how your code strucure is and how easy that would be to implement.

Anyway, thanks for the hard work.
 
Rinnegatamante If I might make a suggestion, use organiz3d.bmp for the background instead of bg.bmp. It's far less likely that it will interfere with another application. You can compatibility by using this:
Code:
FILE background = fopen("organiz3d.bmp");
if (background == NULL) fopen("bg.bmp");
 
Rinnegatamante If I might make a suggestion, use organiz3d.bmp for the background instead of bg.bmp. It's far less likely that it will interfere with another application. You can compatibility by using this:
Code:
FILE background = fopen("organiz3d.bmp");
if (background == NULL) fopen("bg.bmp");

In next release, ORGANIZ3D will use Themes (which are located in /Themes folder for GW and /3ds/ORGANIZ3D/Themes for ninjhax users) so there is no problem with bg.
[Also, ORGANIZ3D is wrote in LUA, not C so code is not this cause when it will interpreted by lpp, it will use FS service.]

For TOC stuctures: Yes, it will be easy to do but Text Reader could exchange normal text as TOC text for normal texts. If you want, you can modify my Text Reader to generate these hyperlinks.

Actually main code of Text Reader is this:

Drawing Part:
Code:
function BuildLines(file, index)
    MAX_LENGTH = 1200
    SIZE = io.size(file)
    if ((index + MAX_LENGTH) < SIZE) then
        READ_LENGTH = MAX_LENGTH
    else
        READ_LENGTH = SIZE - index
    end
    if (index < SIZE) then
        Console.clear(text_console)
        Console.append(text_console,io.read(file,index,READ_LENGTH))
        txt_words = Console.show(text_console)
    else
        txt_words = 0
    end
    if (txt_words > 0) then
        table.insert(old_indexes, index)
        index = index + txt_words
        txt_i = txt_i + 1
    end
    return index
end

Updating draw part:
Code:
if (current_type == "TXT") then
        if (updateTXT) then
            txt_index = BuildLines(current_file,txt_index)
            updateTXT = false
        end
        Console.show(text_console)

Controls part:
Code:
elseif (Controls.check(pad,KEY_DLEFT)) and not (Controls.check(oldpad,KEY_DLEFT)) then
            if (current_type == "TXT") or (current_type == "HEX") then
                if (txt_i > 1) then         
                    updateTXT = true
                    table.remove(old_indexes)
                    txt_index = table.remove(old_indexes)
                    txt_i = txt_i - 2
                end

Code:
elseif (Controls.check(pad,KEY_DRIGHT)) and not (Controls.check(oldpad,KEY_DRIGHT)) then
            if (current_type == "TXT") or (current_type == "HEX") then
                updateTXT = true
 

Site & Scene News

Popular threads in this forum