Homebrew Development

Discussion in '3DS - Homebrew Development and Emulators' started by aliak11, Jan 16, 2014.

Jan 16, 2014

Homebrew Development by aliak11 at 3:25 AM (814,269 Views / 41 Likes) 5,297 replies

  1. FrostyDialga

    Newcomer FrostyDialga Advanced Member

    Joined:
    Dec 28, 2016
    Messages:
    61
    Country:
    Australia
    Well, the problem is it says some things wrong with the code when i compile it. I'm trying to compile fbi for edited banner and icon. http://prnt.sc/dsiogx
     


  2. nop90

    Member nop90 GBAtemp Maniac

    Joined:
    Jan 11, 2014
    Messages:
    1,009
    Location:
    Rome
    Country:
    Italy
    You miss the definition of RM_APPLICATION that is defined in result.h of ctrulib, Maybe you don't have the last version of ctrulib. Can't say more than this from your printscreen.
     
  3. FrostyDialga

    Newcomer FrostyDialga Advanced Member

    Joined:
    Dec 28, 2016
    Messages:
    61
    Country:
    Australia
    How do you update it.
     
  4. nop90

    Member nop90 GBAtemp Maniac

    Joined:
    Jan 11, 2014
    Messages:
    1,009
    Location:
    Rome
    Country:
    Italy
    1) go to the ctrulib github page and download the repository as a zip file
    2) delete the old libctru sources folder, or better (like I do) rename it in libctru-yyyymmdd (yyyy = year, mm = month, dd = day of the lib date, you can check it from the folder creation date), this way you can revert to the old version if you need it
    3) copy from the ctrulib zip file the libctru folder in the same place the old one was
    3) run the command "make" from the ctrulib folder
    4) run the command "make install"

    you have done, but now you have to...

    5) try to compile all you old homebrews, take note of the errors than change the code to adapt to all the changes in ctrulib :nayps3:

    :lol:
     
    Hayleia and zoogie like this.
  5. FrostyDialga

    Newcomer FrostyDialga Advanced Member

    Joined:
    Dec 28, 2016
    Messages:
    61
    Country:
    Australia
    Did that now it gives me another error.
     
  6. kprovost7314

    Member kprovost7314 I AM 14, NOT 25!

    Joined:
    Dec 24, 2014
    Messages:
    1,286
    Location:
    In that bara manga ( ͡° ͜ʖ ͡°)
    Country:
    United States
    Would it be possible to create a FBX parser for use with Citro3D and be able to use animations?
     
  7. catlover007

    Member catlover007 GBAtemp Regular

    Joined:
    Oct 23, 2015
    Messages:
    112
    Country:
    Germany
    Yes, although it would be limited in some ways(texture resolution, polygon count, bone count, weights per vertex, animation interpolation method). So FBX isn't the optimal choice, but a custom format would do better, that's what Nintendo is doing(IIRC it's called something with BHCM or whatever, game modder use those model files all day). E.g. Pokemon uses skeleton animation(saved in this format) extensively.

    I actually tried to implement skeletal animations, loaded from a custom format, but I lost interest in it and gave up.
     
    kprovost7314 likes this.
  8. kprovost7314

    Member kprovost7314 I AM 14, NOT 25!

    Joined:
    Dec 24, 2014
    Messages:
    1,286
    Location:
    In that bara manga ( ͡° ͜ʖ ͡°)
    Country:
    United States
    If you mean using Nintendo formats for models/animations, where would I find any documentation on these?
     
  9. kasai07

    Newcomer kasai07 Advanced Member

    Joined:
    Jan 17, 2016
    Messages:
    66
    Country:
    France
    [​IMG]
     
    OctoNezd and nop90 like this.
  10. nop90

    Member nop90 GBAtemp Maniac

    Joined:
    Jan 11, 2014
    Messages:
    1,009
    Location:
    Rome
    Country:
    Italy
    Great, this should help people to follow the guide making it simpler.
     
  11. kasai07

    Newcomer kasai07 Advanced Member

    Joined:
    Jan 17, 2016
    Messages:
    66
    Country:
    France
  12. zombigrn

    Newcomer zombigrn Member

    Joined:
    Jan 20, 2016
    Messages:
    45
    Country:
    United States
    Noob here, are there any tutorials using builds as example? I see there is also programming via lua possible on the 3ds as well. Is lua a good place to start?
     
  13. ShinobuMeahera

    Newcomer ShinobuMeahera Newbie

    Joined:
    Jan 9, 2017
    Messages:
    1
    Country:
    Poland
    Can 3ds connect to wifi even if it doesn't have internet connection? (i mean using homebrew luncher)
    I need to connect 3ds to ESP8266 and recive/send info.
    Is it even possible?
    I did connected to wifi network without internet using nintendo browser and some http server on my phone, but that is all.
     
  14. CuriousTommy

    Member CuriousTommy GBAtemp Fan

    Joined:
    Jul 22, 2014
    Messages:
    312
    Country:
    United States
    It probably would be better to learn C or C++. Most 3DS code is in C. There might be certain things that you can't do in Lua that you can do in C or C++. Plus C (or C++) is more supported with other libraries than Lua.

    There is a guide on 3dbrew.
     
  15. Robz8

    Member Robz8 Coolest of TWL

    Joined:
    Oct 1, 2010
    Messages:
    3,605
    Country:
    United States
    How would I get my CIA to run in extended memory mode?
     
    Last edited by Robz8, Jan 10, 2017 at 4:15 AM
  16. zombigrn

    Newcomer zombigrn Member

    Joined:
    Jan 20, 2016
    Messages:
    45
    Country:
    United States
    Nice. Thanks for the info, going to have to do a lot of reading on programming in c.
    Wish I could just use game maker's drag and drop lol
     
  17. darkxex

    Newcomer darkxex Member

    Joined:
    Jun 13, 2016
    Messages:
    27
    Country:
    Chile
    How can I call the video player of the new 3ds? or call the webbrowser for open a url?
     
  18. OctoNezd

    Member OctoNezd GBAtemp Regular

    Joined:
    Aug 11, 2016
    Messages:
    128
    Location:
    /root
    Country:
    Russia
    How do I download file? I tried everything, here is mine current code(server is currently down):
    Code:
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #include <inttypes.h>
    
    #include <3ds.h>
    
    Result http_download(httpcContext *context)//This error handling needs updated with proper text printing once ctrulib itself supports that.
    {
        Result ret=0;
        u8* framebuf_top;
        u32 statuscode=0;
        u32 size=0, contentsize=0;
        u8 *buf;
    
        ret = httpcBeginRequest(context);
        if(ret!=0)return ret;
    
        ret = httpcGetResponseStatusCode(context, &statuscode, 0);
        if(ret!=0)return ret;
    
        if(statuscode!=200)return -2;
    
        ret=httpcGetDownloadSizeState(context, NULL, &contentsize);
        if(ret!=0)return ret;
    
        printf("size: %"PRId32"\n",contentsize);
        gfxFlushBuffers();
    
        buf = (u8*)malloc(contentsize);
        //if(buf==NULL)return -1;
        ret = httpcDownloadData(context, buf, contentsize, NULL);
        return buf;
    }
    
    int main()
    {
        Result ret=0;
        httpcContext context;
        FILE* file1 = fopen("test1.txt","wb");
        FILE* file2 = fopen("test2.txt","w");
        gfxInitDefault();
        httpcInit();
    
        consoleInit(GFX_BOTTOM,NULL);
    
        //Change this to your own URL.
        char *url = "http://194.87.95.146/test.txt";
    
        printf("Downloading %s\n",url);
        gfxFlushBuffers();
    
        ret = httpcOpenContext(&context, url, 1);
        printf("return from httpcOpenContext: %"PRId32"\n",ret);
        gfxFlushBuffers();
    
        if(ret==0)
        {
            ret=http_download(&context);
            printf("http_download %\n"PRId32, ret);
            printf("writing test1...");
            fprintf(file1, "%",ret);
            fclose(file1);
            printf("done\n");
            printf("writing test2...");
            fprintf(file2, "%s",ret);
            fclose(file2);
            printf("done\n");
            printf("validating test1...");
            FILE* file = fopen("test1.txt", "r");
            char* valid;
            fgets(valid,255,file);
            if (valid == "12345"){
                printf(":)\n");
            }
            else{
                printf(":(\n");
            }
            fclose(file);
            FILE* file1 = fopen("test2.txt", "r");
            char* valid1;
            fgets(valid1,255,file1);
            if (valid1 == "12345"){
                printf(":)\n");
            }
            else{
                printf(":(\n");
            }
            fclose(file1);
            printf("%s:%s", valid, valid1);
            gfxFlushBuffers();
            httpcCloseContext(&context);
        }
    
        // Main loop
        while (aptMainLoop())
        {
            gspWaitForVBlank();
            hidScanInput();
    
            // Your code goes here
    
            u32 kDown = hidKeysDown();
            if (kDown & KEY_START)
                break; // break in order to return to hbmenu
    
            // Flush and swap framebuffers
            gfxFlushBuffers();
            gfxSwapBuffers();
        }
    
        // Exit services
        httpcExit();
        gfxExit();
        return 0;
    }
    
    
     

Share This Page