/* dbgtool.h Copyright (C) 2007 Acekard, www.acekard.com Copyright (C) 2007-2009 somebody Copyright (C) 2009 yellow wood goblin This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include #include #include #include //#define DEBUG #ifdef DEBUG static inline int dbg_printf(const char* format, ...) { va_list args; va_start(args, format); int ret = vprintf(format, args); va_end(args); return ret; } #else #define dbg_printf(...) #endif // DEBUG #ifdef DEBUG static inline void _cwl(const char* file, int line) { const char* seek = file; while (*seek != 0) { if (*seek == '/') file = seek; seek++; } dbg_printf("%s(%d)\n", file, line); } #define cwl() \ ; \ _cwl(__FILE__, __LINE__); #else #define cwl() #endif // DEBUG #ifdef DEBUG static inline void wait_press_b() { dbg_printf("\npress B to continue.\n"); scanKeys(); u16 keys_up = 0; while (0 == (keys_up & KEY_B)) { scanKeys(); keys_up = keysUp(); } } #else #define wait_press_b() #endif // DEBUG