mirror of
https://github.com/pret/pokestadium.git
synced 2026-03-22 01:34:25 -05:00
42 lines
849 B
C
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
|