Alchemy
Loading...
Searching...
No Matches

fxblend.h

Go to the documentation of this file.
1#ifndef ALCHEMY_FXBLEND_H
2#define ALCHEMY_FXBLEND_H
3
4/// @file
5/// FieldBlendWork, the field's colour blend work.
6
7#include "types.h"
8#include "static_assert.h"
9
10/// The storm's lightning work: the colours it flashes between and their
11/// difference, the countdown to the next flash and whether the thunder is
12/// loud.
14 /// The storm's dark colours (PALETTE_TRANSFORM_WARM), as the colour buffer's
15 /// B, G and R channels: each flash fades back to them.
16 s16 from[0x540];
17 s16 to[0x540]; ///< the lit colours (PALETTE_TRANSFORM_PALE), as from
18 s16 delta[0x540]; ///< the 12-frame steps from to back to from
19 /// Frames to the next flash, which comes in three, 5 frames apart; below 0
20 /// stops the lightning.
22 /// Nonzero arms the next flash a random 51 to 549 frames after each, with
23 /// a thunderclap.
25 s16 loud; ///< nonzero plays the louder thunderclap, SE_172 for SE_171
26 u8 unk1f86[2]; ///< not named by TBS code
27};
28
29STATIC_ASSERT(sizeof(struct FieldBlendWork) == 0x1f88);
31STATIC_ASSERT(offsetof(struct FieldBlendWork, delta) == 0x1500);
32STATIC_ASSERT(offsetof(struct FieldBlendWork, timer) == 0x1f80);
33STATIC_ASSERT(offsetof(struct FieldBlendWork, loud) == 0x1f84);
34
35#endif
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
Definition stddef.h:19
The storm's lightning work: the colours it flashes between and their difference, the countdown to the...
Definition fxblend.h:13
s16 loud
nonzero plays the louder thunderclap, SE_172 for SE_171
Definition fxblend.h:25
u8 unk1f86[2]
not named by TBS code
Definition fxblend.h:26
s16 from[0x540]
The storm's dark colours (PALETTE_TRANSFORM_WARM), as the colour buffer's B, G and R channels: each f...
Definition fxblend.h:16
s16 delta[0x540]
the 12-frame steps from to back to from
Definition fxblend.h:18
s16 to[0x540]
the lit colours (PALETTE_TRANSFORM_PALE), as from
Definition fxblend.h:17
s16 enabled
Nonzero arms the next flash a random 51 to 549 frames after each, with a thunderclap.
Definition fxblend.h:24
s16 timer
Frames to the next flash, which comes in three, 5 frames apart; below 0 stops the lightning.
Definition fxblend.h:21
The integer types, TRUE, UNUSED and the fixed-address macros.
signed short s16
Definition types.h:12
unsigned char u8
Definition types.h:11