Alchemy
Loading...
Searching...
No Matches

scales.c

Go to the documentation of this file.
2#include "types.h"
3#include "character_ids.h"
4
5// Sprite scales, motion curves and lookup tables of the window and menu code.
6
7/// A sprite's pulse, as a scale where 256 is its normal size: it swells to
8/// 1.5 times and back over 32 steps.
9// clang-format off
10const u16 gUi_BounceScales[32] = {
11 256, 256, 260, 266, 274, 284, 294, 306,
12 320, 332, 344, 354, 364, 372, 378, 382,
13 384, 382, 378, 372, 364, 354, 344, 332,
14 320, 306, 294, 284, 274, 266, 260, 256,
15};
16
17/// Nothing in the game reads these eight offsets.
19 -15, -28, -36, -40, -36, -28, -15, 0,
20};
21
22/// The selection cursor's bob: a 16-step wave of up to 3 pixels each way.
24 0, 1, 2, 3, 2, 1, 0, 0, 0, -1, -2, -3, -2, -1, 0, 0,
25};
26
27/// The window colour wheel: one colour channel's level (0 to 31) over 96 hue
28/// steps. Red reads it at the hue, green 32 steps later and blue 64 steps
29/// later. Nothing reads the 25 entries after the first 96.
31 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,
32 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
33 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
35 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
36 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
37 0, 3, 5, 8, 10, 13, 16, 18, 21, 23, 26, 28, 31, 34, 36, 39,
38 41, 44, 47, 49, 52, 54, 57, 60, 62,
39};
40
41/// The option screen's sprite frames for each setting's choices: message
42/// speed Slow, Normal and Fast; Speech Off and On; Auto-Sleep Off and On.
44 0x22, 0x23, 0x24,
45};
46
48 0x25, 0x26,
49};
50
52 0x27, 0x28,
53};
54
55/// The window colour presets SELECT cycles through on the option screen: the
56/// colour (hue) and the brightness of each.
58 4, 16, 8, 21, 1, 13,
59};
60
62 0, 11, 13, 7, 14, 14,
63};
64
65/// The sprite frame of each entry's icon in the system menu (Save your quest,
66/// Sleep, Change settings, and the debug entries after them).
68 0x29, 0x2a, 0x2b, 0x0b, 0x0b, 0x0b, 0x00, 0x00,
69};
70
71/// {character, portrait} pairs of the playable characters, ending in -1.
73 ISAAC, ISAAC,
75 GARET, GARET,
77 IVAN, IVAN,
78 MIA, MIA,
79 FELIX, FELIX,
80 JENNA, JENNA,
81 SHEBA, SHEBA,
82 -1, -1,
83};
84
85/// {sprite, portrait} pairs of the other speakers, ending in -1: portrait n
86/// of this list is portrait 128 + n.
88 93, 0,
89 90, 1,
90 92, 2,
91 91, 3,
92 30, 4,
93 32, 5,
94 33, 6,
95 43, 7,
96 31, 8,
97 53, 9,
98 38, 10,
99 42, 11,
100 37, 12,
101 54, 13,
102 58, 14,
103 69, 15,
104 71, 16,
105 56, 17,
106 51, 18,
107 49, 19,
108 45, 20,
109 40, 21,
110 39, 22,
111 41, 23,
112 44, 24,
113 50, 25,
114 52, 26,
115 57, 27,
116 61, 28,
117 47, 29,
118 46, 30,
119 66, 31,
120 67, 32,
121 121, 33,
122 122, 34,
123 124, 35,
124 125, 36,
125 118, 37,
126 128, 38,
127 119, 39,
128 18, 40,
129 19, 41,
130 36, 42,
131 48, 43,
132 34, 44,
133 55, 45,
134 35, 46,
135 65, 47,
136 70, 48,
137 -1, -1,
138};
139// clang-format on
Character numbers, with each character's Japanese name.
#define GARET
Jerald.
#define FACE_ISAAC_CHILD
Portrait numbers.
#define MIA
Mary.
#define FACE_GARET_CHILD
#define GARET_CHILD
#define ISAAC
Robin.
#define SHEBA
Sheba.
#define ISAAC_CHILD
The childhood sprites, shown while flag 32 is set; the eight party members' sprites share their chara...
#define JENNA
Jasmine.
#define IVAN
Ivan.
#define FELIX
Garcia.
const u8 gPaletteGlow_WaveTable[121]
The window colour wheel: one colour channel's level (0 to 31) over 96 hue steps.
Definition scales.c:30
const s8 gUi_BounceScalesTail[8]
Nothing in the game reads these eight offsets.
Definition scales.c:18
const u8 gOptionMenu_HuePresets[6]
The window colour presets SELECT cycles through on the option screen: the colour (hue) and the bright...
Definition scales.c:57
const s8 gOptionMenu_SleepFrames[2]
Definition scales.c:51
const s8 gMenu_CursorBobOffsets[16]
The selection cursor's bob: a 16-step wave of up to 3 pixels each way.
Definition scales.c:23
const u8 gOptionMenu_BrightnessPresets[6]
Definition scales.c:61
const s16 gPortrait_SpriteMap[100]
{sprite, portrait} pairs of the other speakers, ending in -1: portrait n of this list is portrait 128...
Definition scales.c:87
const u16 gUi_BounceScales[32]
A sprite's pulse, as a scale where 256 is its normal size: it swells to 1.5 times and back over 32 st...
Definition scales.c:10
const s8 gMenu_WorkspaceIconFrames[8]
The sprite frame of each entry's icon in the system menu (Save your quest, Sleep, Change settings,...
Definition scales.c:67
const s8 gOptionMenu_SpeechFrames[2]
Definition scales.c:47
const s16 gPortrait_CharacterMap[20]
{character, portrait} pairs of the playable characters, ending in -1.
Definition scales.c:72
const s8 gOptionMenu_SpeedFrames[3]
The option screen's sprite frames for each setting's choices: message speed Slow, Normal and Fast; Sp...
Definition scales.c:43
The integer types, TRUE, UNUSED and the fixed-address macros.
signed char s8
Definition types.h:10
signed short s16
Definition types.h:12
unsigned short u16
Definition types.h:13
unsigned char u8
Definition types.h:11