Alchemy
Loading...
Searching...
No Matches

graphics.h

Go to the documentation of this file.
1#ifndef GRAPHICS_H
2#define GRAPHICS_H
3
4/// @file
5/// The screen blend's globals and the graphics routines.
6
7#include "types.h"
8#include "edition.h"
9#include "farcall.h"
10
11struct UiWindow;
12
13extern u8 gBlendBrighten;
14/* FAKEMATCH: volatile makes every access to this cell a load or store of its
15 * own; without it five functions of tbs's runtime.c differ in tbs-en:
16 * Fade_Start (31), Fade_FromBlack (19),
17 * Fade_FromWhite, Fade_ToWhite and
18 * Fade_ToBlack (7 each). */
19extern volatile u8 gBlendDuration;
20extern u8 gBlendFramesLeft;
21extern u16 gBlendLayers;
22extern u8 gBlendStartLevel;
23/* FAKEMATCH: volatile makes every access to this cell a load or store of its
24 * own; without it Fade_Update: differ 29 in tbs-en, 45 instructions
25 * for 46. */
26extern volatile u8 gBlendTargetLevel;
27extern u8 gRomShiftedTilePair[];
28extern const u32 RelocatedQ16DotProduct[];
31extern const u8 gUi_PpRowString[];
33extern const u8 gUi_HpRowString[];
34extern const u8 gUi_HpString[];
35extern const u8 gUi_PpString[];
36extern const u8 gUi_SlashString[];
42
43struct AnimationObject;
44struct ArticleTable;
45struct BattleUnit;
46struct EffectLaunch;
47struct GlyphPalette;
48struct NumberRow;
50struct RenderInput;
51struct RenderOutput;
52struct ShopCursor;
53struct TileMask;
54struct TransitionShape;
55struct UiBobPairOutput;
56struct UiChannelSlot;
57struct UiScaleSprite;
58struct UiWindow;
59struct Vec2;
60struct WorkspaceWork;
61
70extern const u8 ColorBuffer_BrightenKernel[];
72extern const u8 ColorBuffer_DarkenKernel[];
74extern const u8 ColorBuffer_HalveKernel[];
78#ifndef OWN_gRenderSlotHeads
79extern void *gRenderSlotHeads[];
80#endif
81extern u8 gPartyStatusWork[];
82extern u8 gSelectionWorkspace[];
83extern const struct ArticleTable gUiText_ArticleTable;
84/// One row's masks for a pair of bar-pattern tiles: a word XORed into each
85/// tile's row.
86struct TileMask {
89};
90extern const struct TileMask gMenu_BarPatternRows[];
91extern const u8 gDisplayScroll_Font[];
95extern const u8 FarCall_ResourceTable[];
96extern u8 gDecodeFillByte;
99extern struct AnimationObject *gSpriteObjects;
100#ifndef OWN_Menu_CursorObjectTiles
101extern const u8 gMenu_CursorObjectTiles[];
102#endif
104extern s8 gNameEntry_CaretWave[];
105extern const u8 gNameEntry_VoicedMarkRanges[];
109extern const u8 gNameEntry_KeyboardTilemap[];
110extern const u8 gRender_DecodeFrameBuffer[];
111extern const u8 Resource_Decode2[];
112extern const u8 Resource_DecodeByteLzArm[];
113extern const u8 Resource_DecodeHalfwordLz[];
114extern const u8 Resource_DecodeType01Arm[];
118extern const u8 gResource_FixedBlockATiles[];
119extern const u8 BattleEffect_Expand[];
121extern const u8 Text_DecodeSymbol[];
124extern const u8 Tile_ConvertMap[];
126extern const u8 Tile_Decompress4bpp[];
128extern const u8 Tile_ExpandMasked[];
130extern const u8 Tile_ExpandOpaque[];
132extern const u8 gTitle_PromptTiles[];
134extern const u8 gUi_PairBobOffsets[];
135extern u8 *gUiIcon_DigitPointers[];
137extern u8 *gUiIcon_MarkPointers[];
140extern const s8 gUiSprite_BounceOffsets[];
141extern const u8 gUiSprite_CursorFrameTiles[];
142extern const s8 gUiSprite_WobbleOffsets[][2];
143extern const u8 gUiText_ColourPens[];
145extern const u8 gUiText_GlyphWidths[];
146extern const struct ArticleTable gUiText_IndefiniteArticles;
147extern const u8 UiText_LookupMessageArm[];
149extern const s8 gUiWindow_PartyColumnOffsets[];
150#ifndef OWN_FarCall_EffectTable
151s32 FarCall_EffectTable(s32 slot, s32 width_shift, s32 height_shift, s32 flags,
152 u32 mode);
153#endif
154
155#endif
const u8 gUiSprite_BounceOffsets[16]
A hop of up to 8 pixels over 16 frames.
Definition articles.c:199
const s8 *const gUiText_ArticleTable[8]
The article of each article class.
Definition articles.c:152
const s8 gUiSprite_WobbleOffsets[40]
A swing along an arc of radius 4, as {x, y} pairs: x runs 0, 4, 0, -4, 0 while y rises at each side.
Definition articles.c:185
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
Public interfaces to the engine's code banks.
const s8 gDisplayTransition_EdgeOffsets[32]
The wobble of the circle edge of window transition mode 8.
Definition fxdata.c:126
const u8 gDisplayTransition_DitherTable[64]
0 to 63 shuffled: the order in which the dissolve sets the pixels.
Definition fxdata.c:132
const u8 gDisplayTransition_NoiseWidths[34]
The width of the bars of window transition mode 0, by progress.
Definition fxdata.c:120
const u8 gUi_PairBobOffsets[]
const u8 Resource_DecodeHalfwordLz[]
s32 FarCall_EffectTable(s32 slot, s32 width_shift, s32 height_shift, s32 flags, u32 mode)
const u8 gUi_SlashString[]
const u8 gUi_PpRowString[]
u8 gUiIcon_ResourceTiles[]
const u8 gUi_HpRowString[]
const u8 ColorBuffer_DarkenKernel[]
const u32 RelocatedQ16DotProduct[]
const u8 Resource_DecodeByteLzArm[]
u16 gBlendLayers
const u8 gUi_HpString[]
const u8 ColorBuffer_BrightenPartialKernel[]
u8 * gUiIcon_OverlayPointerTable[]
u8 ColorBuffer_BackupAndHalveNonzeroCodeSize[]
u8 ColorBuffer_BackupAndDarkenCodeSize[]
u8 * gUiIcon_ItemIconPointersEnd[]
u8 Resource_DecodeByteLzCodeSize[]
u8 UiText_DrawGlyphCodeSize[]
u8 gRomShiftedTilePair[]
const u8 gDisplayScroll_Font[]
const u8 ColorBuffer_BrightenKernel[]
const u8 FarCall_ResourceTable[]
u8 gBlendBrighten
const u8 Text_DecodeSymbol[]
volatile u8 gBlendTargetLevel
const u8 ColorBuffer_HalveNonzeroKernel[]
u8 Resource_Decode2CodeSize[]
const u8 Resource_DecodeType01Arm[]
u8 gBlendFramesLeft
s32 gUi_ObjectPulseScales[]
u8 ColorBuffer_BackupAndBrightenCodeSize[]
u8 * gUiIcon_PsynergyIconPointers[]
const u8 gNameEntry_SemivoicedMarkRanges[]
const u8 gUiText_GlyphWidths[]
const u8 gNameEntry_KeyboardTilemap[]
u8 * gUiIcon_MiscIconPointers[]
u8 UiText_LookupMessageCodeSize[]
const u8 ColorBuffer_DarkenPartialKernel[]
const u8 gTitle_PromptTiles[]
u8 gDecodeFillByte
u8 gNameEntry_EndKeyLabel[]
u8 gPartyStatusWork[]
u8 gSelectionWorkspace[]
struct AnimationObject * gSpriteObjects
void * gRenderSlotHeads[]
u8 ColorBuffer_BackupAndDarkenPartialCodeSize[]
u8 Tile_ConvertMapCodeSize[]
u8 ColorBuffer_BackupAndHalveCodeSize[]
u8 gResource_FixedBlockBTiles[]
u8 Resource_DecodeType01CodeSize[]
s32 gUi_FixedTileBlocks[]
struct PaletteSnapshotWork * gPaletteWork
const u8 gUiSprite_CursorFrameTiles[]
const u8 gResource_FixedBlockATiles[]
u8 * gUiIcon_MarkPointers[]
u8 Tile_BuildMetatilesCodeSize[]
const struct ArticleTable gUiText_IndefiniteArticles
const u8 Tile_ExpandOpaque[]
volatile u8 gBlendDuration
const u8 gMenu_CursorObjectTiles[]
const u8 Tile_Decompress4bpp[]
u8 ColorBuffer_BackupAndScaleNonzeroThreeQuartersCodeSize[]
const u8 Tile_ConvertMap[]
u8 BattleEffect_ExpandCodeSize[]
u8 Resource_DecompressHalfwordsCodeSize[]
u8 Text_DecodeSymbolCodeSize[]
const u8 ColorBuffer_HalveKernel[]
const struct TileMask gMenu_BarPatternRows[]
const u8 Resource_Decode2[]
s8 gNameEntry_CaretWave[]
u8 * gUiIcon_FramePointerTable[]
const s8 gUiWindow_PartyColumnOffsets[]
u8 * gUiIcon_PsynergyIconPointersEnd[]
const u8 ColorBuffer_ScaleThreeQuartersKernel[]
const u8 gRender_DecodeFrameBuffer[]
u8 gBlendStartLevel
const u8 UiText_LookupMessageArm[]
u8 Tile_Decompress4bppCodeSize[]
const u8 gUi_PpString[]
u8 * gUiIcon_DigitPointers[]
u8 * gUiIcon_ItemIconPointers[]
u16 gGraphics_ExpandNibbleTable[]
const u8 Tile_ExpandMasked[]
u8 Tile_ExpandMaskedCodeSize[]
const u8 ColorBuffer_ScaleNonzeroThreeQuartersKernel[]
u8 ColorBuffer_BackupAndScaleThreeQuartersCodeSize[]
const u8 gNameEntry_VoicedMarkRanges[]
const u8 gUiText_ColourPens[]
u8 gNameEntry_DeleteKeyLabel[]
u8 Tile_ExpandOpaqueCodeSize[]
const u8 gNameEntry_AlternateKeyboardTilemap[]
const u8 BattleEffect_Expand[]
u8 ColorBuffer_BackupAndBrightenPartialCodeSize[]
An animated sprite: its image and shadow, scale, rotation, size and up to four animation layers.
Definition animspr.h:108
The article written before a name of each article class.
Definition decode.c:20
A unit in battle: a party member's or an enemy's stats, Psynergy, items, Djinn and ailments.
A compact palette shared by a selection's command icons: the slot each icon colour was given,...
Definition glyph.h:19
The palette cycling queue (heap slot 28): four cycles and how many are in use.
Definition palqueue.h:24
A 16-byte record of a rectangle.
A render output: a sprite in a window's output list (a character, an icon or a portrait),...
Cursor that approaches its target, shared by shop, name entry and settings.
Definition cursor.h:13
One row's masks for a pair of bar-pattern tiles: a word XORed into each tile's row.
Definition graphics.h:86
u32 word1
Definition graphics.h:88
u32 word0
Definition graphics.h:87
One step of the shape window transition: the WININ and WINOUT values, swapped as the transition opens...
Definition transition.c:51
A text channel, one of three, which types decoded text into a window a few characters a frame and run...
Definition uiwindow.h:43
A window: a framed rectangle of the tilemap with its sprite outputs, its opening or closing animation...
Definition uiwindow.h:11
The option screen's work (heap block 20): the settings being edited and how many values each takes,...
The integer types, TRUE, UNUSED and the fixed-address macros.
signed int s32
Definition types.h:14
unsigned int u32
Definition types.h:15
signed char s8
Definition types.h:10
unsigned short u16
Definition types.h:13
unsigned char u8
Definition types.h:11