diff --git a/Makefile b/Makefile index b160df8..d2c6c26 100644 --- a/Makefile +++ b/Makefile @@ -56,7 +56,7 @@ RSF := $(TOPDIR)/$(RESOURCES)/template.rsf # options for code generation #--------------------------------------------------------------------------------- ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -COMMON := -Wall -O2 -mword-relocations -fomit-frame-pointer -ffunction-sections $(ARCH) $(INCLUDE) -D__3DS__ +COMMON := -Wall -Wextra -O2 -mword-relocations -fomit-frame-pointer -ffunction-sections $(ARCH) $(INCLUDE) -D__3DS__ CFLAGS := $(COMMON) -std=gnu99 CXXFLAGS := $(COMMON) -fno-rtti -fno-exceptions -std=gnu++11 ASFLAGS := $(ARCH) diff --git a/source/main.cpp b/source/main.cpp index 520d951..67a53c3 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -1,127 +1,41 @@ #include <3ds.h> -#include +#include -int main(int argc, char **argv) { - gfxInitDefault(); +using namespace std; - // draw top screen - consoleInit(GFX_TOP, NULL); - printf("hi lol"); - gspWaitForVBlank(); - gfxFlushBuffers(); - gfxSwapBuffers(); - - consoleInit(GFX_BOTTOM, NULL); - printf("\r \r"); - - // Start - printf("Press Start for test 1.\n"); - - while(aptMainLoop()) { - gspWaitForVBlank(); - hidScanInput(); - - if(hidKeysDown() & KEY_START) - break; - - gfxFlushBuffers(); - gfxSwapBuffers(); +static void locateBits(u32 bits) { + bool first = true; + for (int i = 0; i < 32; i++) { + if ((bits >> i) & 1) { + if (!first) + cout << ","; + first = false; + cout << i; + } } - - // Test 1 - printf("TEST 1: without VBlank\n"); - printf("Press Start for test 2.\n"); - - while(aptMainLoop()) { - hidScanInput(); - - if(hidKeysDown() & KEY_START) - break; - - gfxFlushBuffers(); - gfxSwapBuffers(); - } - - // Test 2 - printf("TEST 2: without scan input\n"); - printf("Press Start for test 3.\n"); - - while(aptMainLoop()) { - gspWaitForVBlank(); - - if(hidKeysDown() & KEY_START) - break; - - gfxFlushBuffers(); - gfxSwapBuffers(); - } - - // Test 3 - printf("TEST 3: without flush\n"); - printf("Press Start for test 4.\n"); - - while(aptMainLoop()) { - gspWaitForVBlank(); - hidScanInput(); - - if(hidKeysDown() & KEY_START) - break; - - gfxSwapBuffers(); - } - - // Test 4 - printf("TEST 4: without swap\n"); - printf("Press Start for test 5.\n"); - - while(aptMainLoop()) { - gspWaitForVBlank(); - hidScanInput(); - - if(hidKeysDown() & KEY_START) - break; - - gfxFlushBuffers(); - } - - // Test 5 - printf("TEST 5: without anything\n"); - printf("Press A to test something.\n"); - printf("Press Start for test 6.\n"); - - while(aptMainLoop()) { - hidScanInput(); - if(hidKeysDown() & KEY_A) - printf("\e[32msomething :)\e[0m\n"); - if(hidKeysDown() & KEY_START) - break; - } - - // Test 6 - printf("TEST 6: literally without anything\n"); - printf("Press Start to end.\n"); - - while(true) { - hidScanInput(); - if(hidKeysDown() & KEY_START) - break; - gfxFlushBuffers(); - } - - // End - printf("Press Start to exit.\n"); - - while(aptMainLoop()) { - gspWaitForVBlank(); - hidScanInput(); - - if(hidKeysDown() & KEY_START) - break; - - gfxFlushBuffers(); - gfxSwapBuffers(); - } - - gfxExit(); - return 0; + cout << endl; +} + +static void showAll(void) { + consoleClear(); + + touchPosition touch; + circlePosition circle; + hidScanInput(); + hidTouchRead(&touch); + hidCircleRead(&circle); + cout << "=========================" << endl; + cout << "KEYS: "; locateBits(hidKeysHeld()); cout << endl; + cout << "TOUCH SCREEN: " << touch.px << "," << touch.py << endl; + cout << "CIRCLE PAD: " << circle.dx << "," << circle.dy << endl; +} + +int main(void) { + gfxInitDefault(); + consoleInit(GFX_TOP, NULL); + while (aptMainLoop()) { + gspWaitForVBlank(); + showAll(); + } + gfxExit(); }