GoldFish Engine
Quite simple and lightweight game engine
Loading...
Searching...
No Matches
gf_version.c
1
#include <
gf_pre.h
>
2
3
/* External library */
4
#include <lua.h>
5
#include <zlib.h>
6
7
/* Interface */
8
#include <
gf_version.h
>
9
10
/* Engine */
11
12
/* Standard */
13
#include <string.h>
14
#include <stdlib.h>
15
16
#define GF_VERSION "1.0.0"
17
18
void
gf_version_get(
gf_version_t
* version) {
19
char
* cpstr = malloc(512);
20
int
i;
21
int
incr = 0;
22
int
old = 0;
23
24
strcpy(version->
date
, __DATE__);
25
26
strcpy(version->
full
, GF_VERSION);
27
strcpy(version->
zlib
, ZLIB_VERSION);
28
29
strcpy(cpstr, LUA_RELEASE);
30
strcpy(version->
lua
, cpstr + 4);
31
32
#if defined(DRV_OPENGL)
33
strcpy(version->
driver
,
"OpenGL"
);
34
#if defined(USE_GLX)
35
strcpy(version->
backend
,
"GLX"
);
36
#elif defined(USE_WGL)
37
strcpy(version->
backend
,
"WGL"
);
38
#elif defined(USE_GLFW)
39
strcpy(version->
backend
,
"GLFW"
);
40
#endif
41
#endif
42
43
#if defined(DRV_DIRECTX)
44
strcpy(version->
driver
,
"DirectX"
);
45
#if defined(USE_DX11)
46
strcpy(version->
backend
,
"DirectX 11"
);
47
#endif
48
#endif
49
50
#if defined(THREAD_WIN32)
51
strcpy(version->
thread
,
"Win32"
);
52
#elif defined(THREAD_POSIX)
53
strcpy(version->
thread
,
"POSIX"
);
54
#endif
55
56
strcpy(cpstr, GF_VERSION);
57
for
(i = 0;; i++) {
58
if
(cpstr[i] ==
'.'
|| cpstr[i] == 0) {
59
int
num;
60
cpstr[i] = 0;
61
num = atoi(cpstr + old);
62
if
(incr == 0) {
63
version->
major
= num;
64
}
else
if
(incr == 1) {
65
version->
minor
= num;
66
}
else
if
(incr == 2) {
67
version->
patch
= num;
68
}
69
old = i + 1;
70
incr++;
71
if
(incr == 3)
break
;
72
}
73
}
74
}
gf_pre.h
Required headers before anything.
gf_version.h
Version.
gf_version_t
Version.
Definition
version.h:68
gf_version_t::major
int major
Major version.
Definition
version.h:68
gf_version_t::backend
char backend[32]
Name of the rendering backend.
Definition
version.h:68
gf_version_t::zlib
char zlib[32]
zlib version
Definition
version.h:68
gf_version_t::patch
int patch
Patch version.
Definition
version.h:68
gf_version_t::minor
int minor
Minor version.
Definition
version.h:68
gf_version_t::full
char full[64]
Full version.
Definition
version.h:68
gf_version_t::driver
char driver[32]
Name of the rendering driver.
Definition
version.h:68
gf_version_t::date
char date[64]
Build date.
Definition
version.h:68
gf_version_t::thread
char thread[32]
Name of the thread model used.
Definition
version.h:68
gf_version_t::lua
char lua[32]
Lua version.
Definition
version.h:68
src
gf_version.c
Generated by
1.9.8