Alchemy
Loading...
Searching...
No Matches

effect_bits.c

Go to the documentation of this file.
2#include "types.h"
3
4// ARM immediate operands used when specializing the compositor's width.
5// Encode 1 << n as a rotated 8-bit value; operand bits 8 to 11 select the
6// rotation rather than forming part of the value itself.
7
8#define ARM_IMMEDIATE_BIT(n) \
9 ((n) < 8 ? 1 << (n) : (12 - ((n) - 8) / 2) << 8 | 1 << ((n) & 1))
10
11#define ARM_IMMEDIATE_POWERS \
12 ARM_IMMEDIATE_BIT(0), ARM_IMMEDIATE_BIT(1), ARM_IMMEDIATE_BIT(2), \
13 ARM_IMMEDIATE_BIT(3), ARM_IMMEDIATE_BIT(4), ARM_IMMEDIATE_BIT(5), \
14 ARM_IMMEDIATE_BIT(6), ARM_IMMEDIATE_BIT(7), ARM_IMMEDIATE_BIT(8), \
15 ARM_IMMEDIATE_BIT(9), ARM_IMMEDIATE_BIT(10), ARM_IMMEDIATE_BIT(11), \
16 ARM_IMMEDIATE_BIT(12), ARM_IMMEDIATE_BIT(13), ARM_IMMEDIATE_BIT(14), \
17 ARM_IMMEDIATE_BIT(15)
18
19/// Two identical tables; the first has no references.
u16 gUnused_BitOperands[]
Two identical tables; the first has no references.
Definition effect_bits.c:20
u16 gBattleFx_BitOperands[]
Definition effect_bits.c:21
#define ARM_IMMEDIATE_POWERS
Definition effect_bits.c:11
The integer types, TRUE, UNUSED and the fixed-address macros.
unsigned short u16
Definition types.h:13