Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I7b6991f7342362033ad72ab4700fdb9f6a6a6964
66 lines
2.1 KiB
C
66 lines
2.1 KiB
C
#ifndef TILESET_PAINT_H
|
|
#define TILESET_PAINT_H
|
|
|
|
#include "tileset.h"
|
|
|
|
// Forward declarations for types used in painting
|
|
typedef enum { ENEMY_GOBLIN_FWD, ENEMY_SKELETON_FWD, ENEMY_ORC_FWD } EnemyType_Paint;
|
|
typedef enum { ITEM_POTION_FWD, ITEM_WEAPON_FWD, ITEM_ARMOR_FWD } ItemType_Paint;
|
|
|
|
// Paint a wall tile with brick-like pattern.
|
|
// variant: 0 or 1 for shade variation.
|
|
void paint_wall_tile(Tileset *ts, int id, int variant);
|
|
|
|
// Paint a floor tile with stone/dithered pattern.
|
|
// variant: 0-3 for different noise patterns.
|
|
void paint_floor_tile(Tileset *ts, int id, int variant);
|
|
|
|
// Paint a stairs tile with depth illusion.
|
|
void paint_stairs_tile(Tileset *ts, int id);
|
|
|
|
// Paint the player sprite (adventurer silhouette).
|
|
void paint_player_tile(Tileset *ts, int id);
|
|
|
|
// Paint a player walking animation frame.
|
|
// frame: 0 or 1 for the two walk frames.
|
|
void paint_player_walk_tile(Tileset *ts, int id, int frame);
|
|
|
|
// Paint a player attacking animation frame.
|
|
void paint_player_attack_tile(Tileset *ts, int id);
|
|
|
|
// Paint an enemy sprite based on type.
|
|
void paint_enemy_tile(Tileset *ts, int id, int enemy_type);
|
|
|
|
// Paint an enemy walking animation frame.
|
|
// frame: 0 or 1 for the two walk frames.
|
|
void paint_enemy_walk_tile(Tileset *ts, int id, int enemy_type, int frame);
|
|
|
|
// Paint an enemy attacking animation frame.
|
|
void paint_enemy_attack_tile(Tileset *ts, int id, int enemy_type);
|
|
|
|
// Paint an item sprite based on type.
|
|
void paint_item_tile(Tileset *ts, int id, int item_type);
|
|
|
|
// Paint a closed door tile.
|
|
void paint_door_closed_tile(Tileset *ts, int id);
|
|
|
|
// Paint an open door tile.
|
|
void paint_door_open_tile(Tileset *ts, int id);
|
|
|
|
// Paint a burning/fire effect sprite.
|
|
void paint_effect_burn_tile(Tileset *ts, int id);
|
|
|
|
// Paint a poison effect sprite.
|
|
void paint_effect_poison_tile(Tileset *ts, int id);
|
|
|
|
// Paint a block/shield effect sprite.
|
|
void paint_effect_block_tile(Tileset *ts, int id);
|
|
|
|
// Paint a slash attack effect sprite.
|
|
void paint_slash_effect_tile(Tileset *ts, int id);
|
|
|
|
// Convenience: paint and register all tiles in one call.
|
|
// Returns 0 on failure, non-zero on success.
|
|
int tileset_paint_all(Tileset *ts);
|
|
|
|
#endif // TILESET_PAINT_H
|