mirror of https://github.com/zeldaret/tmc.git
64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
#ifndef BEANSTALKSUBTASK_H
|
|
#define BEANSTALKSUBTASK_H
|
|
|
|
#include "global.h"
|
|
#include "map.h"
|
|
|
|
/*
|
|
tiles 0x4000 and above create an entry here
|
|
*/
|
|
#define MAX_SPECIAL_TILES 0x100
|
|
typedef struct {
|
|
u16 tilePosAndLayer; // (layer << 12) | position
|
|
u16 tileIndex;
|
|
} SpecialTileEntry;
|
|
extern SpecialTileEntry gTilesForSpecialTiles[MAX_SPECIAL_TILES];
|
|
|
|
typedef struct {
|
|
u16 collision;
|
|
u16 tileIndex;
|
|
} struct_080B44D0;
|
|
|
|
void LoadMapData(MapDataDefinition* dataDefinition);
|
|
|
|
/**
|
|
* Renders a tileMap with 16x16 tiles into a subTileMap with 8x8 tiles.
|
|
*
|
|
* Takes into account the special tile indicess >= 0x4000 using GetTileSetIndexForSpecialTile.
|
|
*/
|
|
void RenderMapLayerToSubTileMap(u16* tileMap, MapLayer* mapLayer);
|
|
|
|
extern void sub_0801AFE4(void);
|
|
extern void SetBGDefaults(void);
|
|
|
|
typedef struct {
|
|
s16 tileIndex;
|
|
s16 tilePosOffset;
|
|
} TileData;
|
|
|
|
/**
|
|
* @brief Sets multiple tiles at once
|
|
*
|
|
* @param tileData [u16 tileIndex, s16 positionOffset], ends with 0xffff
|
|
* @param basePosition the position the offsets in tileData are based on
|
|
* @param layer the tile layer
|
|
*/
|
|
extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer);
|
|
|
|
typedef struct {
|
|
u8 unk_0;
|
|
u8 unk_1;
|
|
u8 unk_2[2];
|
|
u16 unk_4;
|
|
u8 filler[12];
|
|
struct Entity_* unk_14;
|
|
u8 unk_18;
|
|
u8 unk_19;
|
|
u8 unk_1a;
|
|
u8 unk_1b;
|
|
} struct_02018EB0;
|
|
|
|
extern struct_02018EB0 gUnk_02018EB0;
|
|
|
|
#endif // BEANSTALKSUBTASK_H
|