1#ifndef ALCHEMY_PERSPECTIVE_H
2#define ALCHEMY_PERSPECTIVE_H
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)
The world map's perspective view: the followed position, screen shake, view position,...
s32 scaleX
0x200000 at load
u16 quarterTiles[8]
The tile each quarter of each layer's block buffer shows, so an unchanged quarter is not decoded agai...
s32 farPlane
0x1fe0000 at load
u16 windowPending
cleared by the frame update; not set by name
u32 * resources
a row of gWorldMap_GraphicsResources, by terrain
s8 animationActive
Set by WorldMap_BeginStillView while BG1 shows the drawn map; the tile animations are then neither su...
s32 limitY
0x1fe00000 at load
s32 zoom
16.16 fixed point, 0x10000 full size
s32 limitX
0x1fe00000 at load
s32 previousZoom
the zoom a transition starts from
u16 shownTop
windowTop as the frame update last applied it
u8 unk114[4]
not named by TBS code
u8 unk10a[6]
not named by TBS code
s32 viewY
16.16 fixed-point pixels
u16 tileIds[256]
the world map tile in each of 16 by 16 cells
u8 fadeStep
MapScrollWork's wideTiles, 0x80 at load.
u16 windowTop
Screen rows, 0 and 159 at load and 200 and 255 from WorldMap_BeginStillView; each frame copies them t...
s32 scaleY
0x400000 at load
u8 unk120[0x18]
not named by TBS code
u16 shownBottom
windowBottom as the frame update last applied it
u8 unk017[0xe4 - 0x17]
as MapScrollWork: tile animations, blend script
void * tiles
The world map's tile offsets (ResourceId_PerspectiveDataA), each tile LZ-compressed.
s16 zoomTransitionStep
frames of the transition done
u16 fade
MapScrollWork's flags: REG_DISPCNT bits, 0x1f00 at load.
s32 * origin
the followed point, as in MapScrollWork
s32 shakeDecay
the screen shake, as in MapScrollWork
u16 zoomTransitionFrames
a zoom transition's length; 0 when none
u8 unk0fd[3]
not named by TBS code
s32 viewX
16.16 fixed-point pixels
s32 distance
farPlane scaled by the zoom
The integer types, TRUE, UNUSED and the fixed-address macros.