
So, I just noticed that for some reason my ctrulib/include folder lacks the hbkb.h file, anyone knows if it got replaced or where can I get it?
/*
* hbkb.h
*
* Created on: Sep 12, 2015, Current Version: 1
* Author: jbr373
*
* #############
* # GFX CODE BY SMEALUM
* # http://www.github.com/smealum/
* #############
*
* HBKB (HomeBrewKeyBoard) General Information:
*
* HBKB is intended to be a useful Keyboard for Homebrew
* Applications.
*
* Usage:
*
* First of all, you need to include the HBKB Header in
* your Project:
* #include "hbkb.h"
*
* Checking User Input and drawing the Keyboard:
*
* Use HBKB_CallKeyboard(touchPosition); to call the Keyboard.
* The Keyboard Function is run with the current Touch
* Position.
* The Function will then Check the Current Touch Position and
* write the Graphics for the Keyboard on the Bottom Screen
* of the Nintendo 3DS.
*
* NOTE THAT THE WHOLE BOTTOM SCREEN WILL BE OCCUPIED AND THAT
* THIS LIBRARY DOES NOT CALL THE GFX FLUSH AND SWAP FUNKTIONS!
*
* The HBKB_CallKeyboard Function will add Letters based on the
* Touch Position to a String.
*
* HBKB_CallKeyboard will after it was called return a Value (u8) to
* inform about the current User actions.
* 1 = User pressed Enter
* 2 = User pressed any other Key except OK / Cancel
* 3 = User pressed Cancel
* 4 = User pressed no Key.
*
* 0 = Unknown (Something went wrong)
*
* Also, the way this works is that it checks for Input first,
* then draws the Keyboard. This is due to the drawing of the
* Graphic for the selected Key(s).
*
* Requesting User Input:
*
* HBKB_CheckKeyboardInput() returns a std::string with the Input
* the User made during the time the Keyboard was called.
* This string is => NOT <= reset after HBKB_CallKeyboard() returned it's
* u8 Value.
*
* NOTE THAT THIS STRING IS NOT DRAWN BY HBKB! YOU NEED TO CHECK THIS
* STRING AND DRAW IT YOURSELF!
*
* Reset User Input:
*
* You can reset the Keyboard with HBKB_Clean().
*
*
*/
#ifndef HBKB_H_
#define HBKB_H_
#include <3ds.h>
#include <string>
class HB_Keyboard
{
public:
HB_Keyboard();
virtual ~HB_Keyboard();
// Call Keyboard
u8 HBKB_CallKeyboard(touchPosition TouchScreenPos);
// Return User Input
std::string HBKB_CheckKeyboardInput();
// Clean User Input
void HBKB_Clean();
private:
void KeyInteraction(u8 &Key);
void ChangeString(u8 &Key);
void GFXBufferInteraction();
std::string UserInput;
bool isShift;
bool isCaps;
u8 KeyboardState;
u8 CurrentKey;
};
#endif /* HBKB_H_ */


C:\devkitPro\examples\3ds\camera\image>make
linking image.elf
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/4.9.2/../../../../arm-none-eabi/lib/armv6k/fpu/3dsx_crt0.o: In function `ClrLoop':
(.crt0+0x8c): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/devkitPro/examples/3ds/camera/image/image.elf] Error 1
make: *** [build] Error 2

NS_LaunchTitle V.S. APT_DoAppJump. What's the difference between them exactly?
/**
* @brief Launches a title.
* @param titleid ID of the title to launch, or 0 for gamecard.
* @param launch_flags Flags used when launching the title.
* @param procid Pointer to write the process ID of the launched title to.
*/
Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid);
/**
* @brief Reboots to a title.
* @param mediatype Mediatype of the title.
* @param titleid ID of the title to launch.
*/
Result NS_RebootToTitle(u8 mediatype, u64 titleid);
Can anyone tell me what went wrong here?
Code:C:\devkitPro\examples\3ds\camera\image>make linking image.elf c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/4.9.2/../../../../arm-none-eabi/lib/armv6k/fpu/3dsx_crt0.o: In function `ClrLoop': (.crt0+0x8c): undefined reference to `main' collect2.exe: error: ld returned 1 exit status make[1]: *** [/c/devkitPro/examples/3ds/camera/image/image.elf] Error 1 make: *** [build] Error 2

the linker couldnt find the main (your app) user entrypoint . did you install devkitpro correctly? For example missing $(DEVKITARM) symbol can cause your code to not compile (and then some script with hardcoded path to linker would not find your compiled objects)
or you are trying to compile something that has not a main method in that folder, thus you need to make the whole parent folder first
could be anything


Out of curiosity, are there any simple [open source] tile based games around, I know the 3DS doesn't have a native tile engine like the DS/SNES/NES/GBA/Gameboy did, but I assume someone have already had a go at a tile based background? I don't really want to reinvent the wheel if I don't have to.

c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/4.9.2/../../../../arm-none-eabi/lib/3dsx_crt0.o: In function `ClrLoop':
(.crt0+0x8c): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/Users/Alessio/Desktop/Repositories/lpp-3ds/lpp-3ds.elf] Error 1
make: *** [build] Error 2
ClrLoop:
stmia r0!, {r2}
subs r1, r1, #4
bne ClrLoop
bx lr
I suspect the ClrLoop is not the real issue. What is your signature for main?Getting a pretty strange error in linking phase, does someone know how to solve?
Code:c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/4.9.2/../../../../arm-none-eabi/lib/3dsx_crt0.o: In function `ClrLoop': (.crt0+0x8c): undefined reference to `main' collect2.exe: error: ld returned 1 exit status make[1]: *** [/c/Users/Alessio/Desktop/Repositories/lpp-3ds/lpp-3ds.elf] Error 1 make: *** [build] Error 2
This is the ClrLoop code:
Code:ClrLoop: stmia r0!, {r2} subs r1, r1, #4 bne ClrLoop bx lr

I suspect the ClrLoop is not the real issue. What is your signature for main?
luaSound.o: In function `$d':
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/source/luaSound.cpp:1854: undefined reference to `ndspChn'

A user friendly way is using romfs, because accessing it would the same as reading from the sdcard just with a different path. Here is the example: https://github.com/devkitPro/3ds-examples/tree/master/romfsi've been looking for a user friendly way to use images in homebrew.
I once heard of a way to compile the images within the 3DSX, but i can't find an example or anything written about.
Someone who could help me on the right track?
Basically i don't want the user to have to copy more then the .3dsx and .sdmh