1#ifndef ALCHEMY_SHOP_INTERNAL_H
2#define ALCHEMY_SHOP_INTERNAL_H
36#include "text/msg_ids.h"
76#define SHOP_CANNOT_REMOVE_STATUS(discardStatus, selectionResult) \
79#define SHOP_CANNOT_REMOVE_STATUS(discardStatus, selectionResult) \
84#if (LANGUAGE == LANGUAGE_GERMAN)
85#define SHOP_CONFIRM_MENU_X 6
87#define SHOP_CONFIRM_MENU_X 7
90#if (LANGUAGE == LANGUAGE_FRENCH)
91#define SHOP_PRICE_NUMBER_X 0x18
92#define SHOP_PRICE_LABEL_X 0x40
93#elif (LANGUAGE == LANGUAGE_SPANISH)
94#define SHOP_PRICE_NUMBER_X 0x20
95#define SHOP_PRICE_LABEL_X 0x50
97#define SHOP_PRICE_NUMBER_X 0x20
98#define SHOP_PRICE_LABEL_X 0x48
101#if (LANGUAGE == LANGUAGE_ITALIAN)
102#define SHOP_EMPTY_GRID_X 20
103#define SHOP_EMPTY_GRID_Y 12
105#define SHOP_EMPTY_GRID_X 8
106#define SHOP_EMPTY_GRID_Y 20
110#define SHOP_MONEY_WINDOW_WIDTH 12
111#define SHOP_DRAW_MESSAGE UiText_DrawCharacterAtOffsetFar
113#define SHOP_MONEY_WINDOW_WIDTH 11
114#define SHOP_DRAW_MESSAGE UiText_DrawResourceFar
117#if (LANGUAGE == LANGUAGE_GERMAN)
118#define SANCTUM_PRICE_WINDOW_X 0
119#define SANCTUM_PRICE_WINDOW_WIDTH 30
120#elif (LANGUAGE == LANGUAGE_FRENCH)
121#define SANCTUM_PRICE_WINDOW_X 1
122#define SANCTUM_PRICE_WINDOW_WIDTH 25
124#define SANCTUM_PRICE_WINDOW_X 1
125#define SANCTUM_PRICE_WINDOW_WIDTH 23
129#define SHOP_USE_WINDOW_X 14
130#define SHOP_USE_WINDOW_WIDTH 16
132#define SHOP_USE_WINDOW_X 16
133#define SHOP_USE_WINDOW_WIDTH 14
139#define SHOP_ITEM_NOTE_X 0
141#define SHOP_ITEM_NOTE_X 8
145#if (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_FRENCH)
146#define SHOP_QUANTITY_CURSOR_X 120
148#define SHOP_QUANTITY_CURSOR_X 128
The battle calculation tables: hit chances, HP and PP damage and recovery.
BattleUnit_Recalculate, which recalculates a unit's stats.
The task scheduler: tasks, their order and the scheduler's state.
The engine calls the debug menus import, and their palette swatch tiles.
DMA channel registers, and the DMA and CPU fills.
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
Declares nothing: an empty header kept for the files that include it.
Field objects and actors, and the scene transition styles.
The field's runtime work: map cells, scene records and regions, map markers and FieldWork.
16.16 fixed-point constants, sine and cosine, and the library division.
FixedPointPosition, a position in 16.16 fixed point.
Game flags, named where their meaning is shown.
GameState, the game's state: play time, coins, the scene and the leader's position,...
The work slots of gWorkSlot, read through their own names.
The screen blend's globals and the graphics routines.
The heap's work slots and HeapState.
InnRuntimeState, an inn's work.
The hardware's I/O registers and their bits, as pret names them.
Items: their definitions, types, flags and effects.
Item numbers, named from the English release.
The keypad state the VBlank interrupt keeps.
Declares nothing of its own: it only includes types.h and edition.h.
The heaps: allocating and freeing blocks.
The reel game's title lettering.
NodeChain, a chain of menu nodes.
ObjectRuntime, a field object's runtime state, and the object snapshots.
Declares nothing of its own: it only includes static_assert.h and game_state.h.
FIELD_AT_OFFSET and the entity and camera views older scene code reads.
ShopRuntime, a shop's work, and the shop screen's tiles.
SanctumService
These service kinds select the existing condition, fee and cure branches.
@ SANCTUM_SERVICE_EXORCISE
@ SANCTUM_SERVICE_REMOVE_CURSE
@ SANCTUM_SERVICE_CURE_POISON
ShopAction
English menu entries 48..51 establish the four shop actions.
Song and sound effect ids, indices into gSound_SongTable.
The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep.
Values that differ by patch level or language, chosen once for their code.
The integer types, TRUE, UNUSED and the fixed-address macros.
UiWork, the window system's work, and the status screen's cursors.
The sprite VRAM block cache and its owners.