pokestadium/include/macros.h
2023-01-05 20:16:02 -05:00

42 lines
849 B
C

#ifndef _MACROS_H_
#define _MACROS_H_
#define true 1
#define false 0
// Avoid compiler warnings for unused variables
#ifdef __GNUC__
#define UNUSED __attribute__((unused))
#else
#define UNUSED
#endif
#ifndef __sgi
#define GLOBAL_ASM(...)
#endif
#ifdef _LANGUAGE_C
#define HW_REG(reg, type) *(volatile type*)((reg) | 0xA0000000)
#endif
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
#define SQ(x) ((x) * (x))
#define ROUND(x) (s32)(((x) >= 0.0) ? ((x) + 0.5) : ((x) - 0.5))
#define assert
// global typings
typedef unsigned long uintptr_t;
// cast thru uintptr_t for integer to pointer casts
#define INT2VOID(i) ((void *)(uintptr_t)(i))
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define ALIGN4(val) (((val) + 0x3) & ~0x3)
#define ALIGN8(val) (((val) + 0x7) & ~0x7)
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
#endif