Banjo API 0.0.1
C99 game development API
Loading...
Searching...
No Matches
version.h
Go to the documentation of this file.
1
25#ifndef BJ_VERSION_H
26#define BJ_VERSION_H
27
28#include <banjo/api.h>
29
50#define BJ_VERSION_DEV 0x00
51#define BJ_VERSION_ALPHA 0x40
52#define BJ_VERSION_BETA 0x80
53#define BJ_VERSION_RC 0xC0
54
55#define BJ_VERSION_STABLE 0xFF
57
58
66#define BJ_VERSION_MAJOR(version) ((uint8_t)(((version) >> 24U) & 0xFFU))
67
75#define BJ_VERSION_MINOR(version) (((version) >> 16U) & 0xFFU)
76
84#define BJ_VERSION_PATCH(version) (((version) >> 8U) & 0xFFU)
85
94#define BJ_VERSION_STAGE(version) ((version) & 0xFFU)
95
108#define BJ_MAKE_VERSION(major, minor, patch, stage) \
109 ((((uint32_t)(major)) << 24U) | (((uint32_t)(minor)) << 16U) | \
110 (((uint32_t)(patch)) << 8U) | ((uint32_t)(stage)))
111
118#define BJ_NAME "Banjo"
119
127#define BJ_NAME_VARIANT ""
128
129#define BJ_VERSION_MAJOR_NUMBER 0
130#define BJ_VERSION_MINOR_NUMBER 1
131#define BJ_VERSION_PATCH_NUMBER 0
132#define BJ_VERSION_STAGE_NUMBER (BJ_VERSION_DEV | 0x00)
133
137#define BJ_VERSION BJ_MAKE_VERSION(BJ_VERSION_MAJOR_NUMBER, BJ_VERSION_MINOR_NUMBER, BJ_VERSION_PATCH_NUMBER, BJ_VERSION_STAGE_NUMBER)
138
167 char* buffer,
168 size_t bufsize,
169 uint32_t version
170);
171
172#endif
General-purpose definitions for Banjo API.
#define BANJO_EXPORT
Definition api.h:106
size_t bj_format_version(char *buffer, size_t bufsize, uint32_t version)
Format a packed version number as a SemVer-compatible string.