diff options
| author | Ray <[email protected]> | 2019-05-18 01:27:54 +0200 |
|---|---|---|
| committer | Ray <[email protected]> | 2019-05-18 01:27:54 +0200 |
| commit | 210d5ec72bbc4ba426b21f69e6f65b6d75923d05 (patch) | |
| tree | c01f6e14d673504534602c7ae9609b3dff248806 /examples/web/core/core_custom_logging.c | |
| parent | 85b11a6baf64a2b4e02c81d4d47b15eb578dc074 (diff) | |
| download | raylib.com-210d5ec72bbc4ba426b21f69e6f65b6d75923d05.tar.gz raylib.com-210d5ec72bbc4ba426b21f69e6f65b6d75923d05.zip | |
Update examples to raylib 2.5 -WIP-
Remove old examples
Diffstat (limited to 'examples/web/core/core_custom_logging.c')
| -rw-r--r-- | examples/web/core/core_custom_logging.c | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/examples/web/core/core_custom_logging.c b/examples/web/core/core_custom_logging.c new file mode 100644 index 0000000..10c6fdd --- /dev/null +++ b/examples/web/core/core_custom_logging.c @@ -0,0 +1,114 @@ +/******************************************************************************************* +* +* raylib [core] example - Custom logging +* +* This example has been created using raylib 2.1 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Example contributed by Pablo Marcos Oltra (@pamarcos) and reviewed by Ramon Santamaria (@raysan5) +* +* Copyright (c) 2018 Pablo Marcos Oltra (@pamarcos) and Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include <stdio.h> // Required for: fopen(), fclose(), fputc(), fwrite(), printf(), fprintf(), funopen() +#include <time.h> // Required for: time_t, tm, time(), localtime(), strftime() + +#if defined(PLATFORM_WEB) + #include <emscripten/emscripten.h> +#endif + +// Custom logging function +void LogCustom(int msgType, const char *text, va_list args) +{ + char timeStr[64]; + time_t now = time(NULL); + struct tm *tm_info = localtime(&now); + + strftime(timeStr, sizeof(timeStr), "%Y-%m-%d %H:%M:%S", tm_info); + printf("[%s] ", timeStr); + + switch (msgType) + { + case LOG_INFO: printf("[INFO] : "); break; + case LOG_ERROR: printf("[ERROR]: "); break; + case LOG_WARNING: printf("[WARN] : "); break; + case LOG_DEBUG: printf("[DEBUG]: "); break; + default: break; + } + + vprintf(text, args); + printf("\n"); +} + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main(int argc, char* argv[]) +{ + // Initialization + //-------------------------------------------------------------------------------------- + // First thing we do is setting our custom logger to ensure everything raylib logs + // will use our own logger instead of its internal one + SetTraceLogCallback(LogCustom); + + InitWindow(screenWidth, screenHeight, "raylib [core] example - custom logging"); + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("Check out the console output to see the custom logger in action!", 60, 200, 20, LIGHTGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} |
