diff --git a/src/debug_print.h b/src/debug_print.h index 913ed42..987cc31 100644 --- a/src/debug_print.h +++ b/src/debug_print.h @@ -10,8 +10,5 @@ extern SM64DebugPrintFunctionPtr g_debug_print_func; char debugStr[1024]; \ sprintf( debugStr, __VA_ARGS__ ); \ g_debug_print_func( debugStr ); \ - } else { \ - printf( __VA_ARGS__ ); \ - printf( "\n" ); \ } \ } while(0) diff --git a/src/libsm64.c b/src/libsm64.c index f184223..6cd4c5b 100644 --- a/src/libsm64.c +++ b/src/libsm64.c @@ -79,13 +79,18 @@ static void free_area( struct Area *area ) free( area ); } -SM64_LIB_FN void sm64_global_init( uint8_t *rom, uint8_t *outTexture, SM64DebugPrintFunctionPtr debugPrintFunction ) +typedef void (*SM64DebugPrintFunctionPtr)( const char * ); +SM64_LIB_FN void sm64_register_debug_print_function( SM64DebugPrintFunctionPtr debugPrintFunction ) +{ + g_debug_print_func = debugPrintFunction; +} + +SM64_LIB_FN void sm64_global_init( uint8_t *rom, uint8_t *outTexture ) { if( s_init_global ) sm64_global_terminate(); s_init_global = true; - g_debug_print_func = debugPrintFunction; load_mario_textures_from_rom( rom, outTexture ); load_mario_anims_from_rom( rom ); diff --git a/src/libsm64.h b/src/libsm64.h index 6274477..ccb3916 100644 --- a/src/libsm64.h +++ b/src/libsm64.h @@ -60,8 +60,6 @@ struct SM64MarioGeometryBuffers uint16_t numTrianglesUsed; }; -typedef void (*SM64DebugPrintFunctionPtr)( const char * ); - enum { SM64_TEXTURE_WIDTH = 64 * 11, @@ -69,7 +67,10 @@ enum SM64_GEO_MAX_TRIANGLES = 1024, }; -extern SM64_LIB_FN void sm64_global_init( uint8_t *rom, uint8_t *outTexture, SM64DebugPrintFunctionPtr debugPrintFunction ); +typedef void (*SM64DebugPrintFunctionPtr)( const char * ); +extern SM64_LIB_FN void sm64_register_debug_print_function( SM64DebugPrintFunctionPtr debugPrintFunction ); + +extern SM64_LIB_FN void sm64_global_init( uint8_t *rom, uint8_t *outTexture ); extern SM64_LIB_FN void sm64_global_terminate( void ); extern SM64_LIB_FN void sm64_static_surfaces_load( const struct SM64Surface *surfaceArray, uint32_t numSurfaces );