]> git.sesse.net Git - pistorm/blob - raylib/utils.h
Merge branch 'wip-crap' into main
[pistorm] / raylib / utils.h
1 /**********************************************************************************************
2 *
3 *   raylib.utils - Some common utility functions
4 *
5 *
6 *   LICENSE: zlib/libpng
7 *
8 *   Copyright (c) 2014-2021 Ramon Santamaria (@raysan5)
9 *
10 *   This software is provided "as-is", without any express or implied warranty. In no event
11 *   will the authors be held liable for any damages arising from the use of this software.
12 *
13 *   Permission is granted to anyone to use this software for any purpose, including commercial
14 *   applications, and to alter it and redistribute it freely, subject to the following restrictions:
15 *
16 *     1. The origin of this software must not be misrepresented; you must not claim that you
17 *     wrote the original software. If you use this software in a product, an acknowledgment
18 *     in the product documentation would be appreciated but is not required.
19 *
20 *     2. Altered source versions must be plainly marked as such, and must not be misrepresented
21 *     as being the original software.
22 *
23 *     3. This notice may not be removed or altered from any source distribution.
24 *
25 **********************************************************************************************/
26
27 #ifndef UTILS_H
28 #define UTILS_H
29
30 #if defined(PLATFORM_ANDROID)
31     #include <stdio.h>                      // Required for: FILE
32     #include <android/asset_manager.h>      // Required for: AAssetManager
33 #endif
34
35 #if defined(SUPPORT_TRACELOG)
36     #define TRACELOG(level, ...) TraceLog(level, __VA_ARGS__)
37
38     #if defined(SUPPORT_TRACELOG_DEBUG)
39         #define TRACELOGD(...) TraceLog(LOG_DEBUG, __VA_ARGS__)
40     #else
41         #define TRACELOGD(...) (void)0
42     #endif
43 #else
44     #define TRACELOG(level, ...) (void)0
45     #define TRACELOGD(...) (void)0
46 #endif
47
48 //----------------------------------------------------------------------------------
49 // Some basic Defines
50 //----------------------------------------------------------------------------------
51 #if defined(PLATFORM_ANDROID)
52     #define fopen(name, mode) android_fopen(name, mode)
53 #endif
54
55 //----------------------------------------------------------------------------------
56 // Types and Structures Definition
57 //----------------------------------------------------------------------------------
58 #ifdef __cplusplus
59 extern "C" {            // Prevents name mangling of functions
60 #endif
61
62 //----------------------------------------------------------------------------------
63 // Global Variables Definition
64 //----------------------------------------------------------------------------------
65 // Nop...
66
67 //----------------------------------------------------------------------------------
68 // Module Functions Declaration
69 //----------------------------------------------------------------------------------
70 #if defined(PLATFORM_ANDROID)
71 void InitAssetManager(AAssetManager *manager, const char *dataPath);   // Initialize asset manager from android app
72 FILE *android_fopen(const char *fileName, const char *mode);            // Replacement for fopen() -> Read-only!
73 #endif
74
75 #ifdef __cplusplus
76 }
77 #endif
78
79 #endif // UTILS_H