Skip to content
🌋️
Alchemy
Theme: Weyard
Theme: Modern
Mode: Auto
Mode: Light
Mode: Dark
Alchemy
Source
Reference
Loading...
Searching...
No Matches
ram_buffer.h
Go to the documentation of this file.
1
#ifndef ALCHEMY_RAM_BUFFER_H
2
#define ALCHEMY_RAM_BUFFER_H
3
4
/// @file
5
/// The work pointers in the gWorkSlot table, by name.
6
7
#include "
types.h
"
8
#include "
version.h
"
9
10
#define Ram_MapCellBuffer FIXED_ADDRESS((u8 *), 0x02010000, gMapCellBuffer)
11
#define Ram_DecodeBuffer FIXED_ADDRESS((u8 *), 0x0201c000, gDecodeBuffer)
12
#define Ram_MapBlocks FIXED_ADDRESS((u8 *), 0x02020000, gMapBlocks)
13
#define Ram_MapCollision FIXED_ADDRESS((u8 *), 0x0202c000, gMapCollision)
14
#define Ram_BgTileBuffer FIXED_ADDRESS((u8 *), 0x02038000, gBgTileBuffer)
15
16
#define Ram_ActorSpriteSlots \
17
FIXED_ADDRESS((u8 *), 0x02018000, gActorSpriteSlots)
18
19
#define Ram_SoundMixer FIXED_ADDRESS((u8 *), 0x03007000, SoundDriver_Mixer)
20
21
#define Ram_IwramHeapEnd \
22
FIXED_ADDRESS((u8 *), 0x03007800, gCartridgeResetMarker)
23
24
#define Ram_FrameWaitStackTop \
25
FIXED_ADDRESS((u8 *), 0x03007a00, gFrameWaitStackTop)
26
27
#if (LANGUAGE == LANGUAGE_GERMAN)
28
#define Ram_BgScroll FIXED_ADDRESS((u8 *), 0x03001ae0, gBgScroll)
29
#define Ram_VramBlockCache FIXED_ADDRESS((u8 *), 0x03001b20, gVramBlockCache)
30
/* FAKEMATCH: Ram_WorkSlot stays gWorkSlot's linked address as a constant
31
* (build-checked): read through gWorkSlot, effect.c
32
* (BattleFx_HideBg1AndRestoreBackdrop, BattleFx_RunSpiderWeb) and intro.c
33
* (Title_UpdateIntroSprites, Title_LoadIntroBackgrounds) differ in tbs-ja and
34
* tbs-en. */
35
#define Ram_WorkSlot FIXED_ADDRESS((void **), 0x03001e60, gWorkSlot)
36
#else
37
#define Ram_BgScroll FIXED_ADDRESS((u8 *), 0x03001ad0, gBgScroll)
38
#define Ram_VramBlockCache FIXED_ADDRESS((u8 *), 0x03001b10, gVramBlockCache)
39
/* FAKEMATCH: Ram_WorkSlot stays gWorkSlot's linked address as a constant
40
* (build-checked): read through gWorkSlot, effect.c
41
* (BattleFx_HideBg1AndRestoreBackdrop, BattleFx_RunSpiderWeb) and intro.c
42
* (Title_UpdateIntroSprites, Title_LoadIntroBackgrounds) differ in tbs-ja and
43
* tbs-en. */
44
#define Ram_WorkSlot FIXED_ADDRESS((void **), 0x03001e50, gWorkSlot)
45
#endif
46
47
// Work pointers in the gWorkSlot table.
48
#define Ram_MapWork ((void **)&gWorkSlot[8])
49
#define Ram_CameraWork ((void **)&gWorkSlot[12])
50
#define Ram_EventWork ((void **)&gWorkSlot[27])
51
#define Ram_DisplayWork ((void **)&gWorkSlot[31])
52
#define Ram_ActorEffectWork ((void **)&gWorkSlot[36])
53
#define Ram_Disp ((void **)&gWorkSlot[42])
54
#define Ram_EffectWork ((void **)&gWorkSlot[56])
55
56
#define Ram_SceneMapStateOffset FIXED_OFFSET(0xc, gFieldBlendWork, gEventWork)
57
58
#endif
types.h
The integer types, TRUE, UNUSED and the fixed-address macros.
version.h
The patch levels: our groups of the measured changes from the Japanese release.
include
ram_buffer.h