X-Git-Url: https://harrygodden.com/git/?p=vg.git;a=blobdiff_plain;f=vg_platform.h;h=319f7a9abd1892e2fb4b8d03860484aa4c5725a0;hp=52c26c0933fc67ecabb60b6bb2e5a772b6d50257;hb=HEAD;hpb=6d772a1e69860f4ae3e838e8c5c164754e6533ae diff --git a/vg_platform.h b/vg_platform.h index 52c26c0..b846b06 100644 --- a/vg_platform.h +++ b/vg_platform.h @@ -1,19 +1,21 @@ -#ifndef VG_PLATFORM_H -#define VG_PLATFORM_H - -#ifdef VG_RELEASE - #define VG_STATIC static -#else - #define VG_STATIC -#endif - -//#include "vg.h" -#include "vg_stdint.h" - -/* Copyright (C) 2021-2022 Harry Godden (hgn) - All Rights Reserved */ +#pragma once + +#include +#include + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; +typedef int8_t i8; +typedef int16_t i16; +typedef int32_t i32; +typedef int64_t i64; +typedef float f32; +typedef double f64; +typedef uint8_t bool; typedef unsigned int uint; - typedef int v2i[2]; typedef int v3i[3]; typedef int v4i[4]; @@ -26,56 +28,15 @@ typedef v3f m4x3f[4]; typedef v4f m4x4f[4]; typedef v3f boxf[2]; -// Resource types -typedef struct vg_tex2d vg_tex2d; - -struct vg_achievement -{ - int is_set; - const char *name; -}; - -#define vg_static_assert _Static_assert -#define vg_list_size( A ) (sizeof(A)/sizeof(A[0])) -#define VG_MUST_USE_RESULT __attribute__((warn_unused_result)) - -enum strncpy_behaviour{ - k_strncpy_always_add_null = 0, - k_strncpy_allow_cutoff = 1 -}; +/* anything compiled against VG shall implement this function somewhere. */ +void vg_fatal_error( const char *fmt, ... ); -VG_STATIC void vg_strncpy( const char *src, char *dst, u32 len, - enum strncpy_behaviour behaviour ) -{ - for( u32 i=0; i -#include -#include -#include -#include -#include -#include #define VG_MIN( A, B ) ((A)<(B)?(A):(B)) #define VG_MAX( A, B ) ((A)>(B)?(A):(B)) -#endif +#define vg_list_size( A ) (sizeof(A)/sizeof(A[0]))