#ifndef ISOMETRICMAP_H_ #define ISOMETRICMAP_H_ #include "raylib.h" #include "tile.c" typedef struct IsometricMap{ Texture2D tileTextures[10]; Tile ***tiles; int originX; int originY; int width; int height; int widthBounds; int heightBounds; int layer; } IsometricMap; // --- TODO functions: --- // --- Working ----------- IsometricMap * IsometricMapInit(int layer); Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize); Tile * IsometricMapGetTileFromArrayPosition(IsometricMap *isometricMap, int x, int y); // Project: Screen Coordinates -> World Coordinates void IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, float x, float y, Vector2 *tmp); // Unproject: World Coordinates -> Screen Coordinates void IsometricMapUnproject(IsometricMap *isometricMap, Camera2D *camera, int x, int y, Vector2 *tmp); void IsometricMapAddTile(IsometricMap *isometricMap, int x, int y, int textureId); void IsometricMapChangeTextureIdOfTile(IsometricMap *map, int x, int y, int id); Tile * IsometricMapGetTileFromWorldCoordinates(IsometricMap *isometricMap, float x, float y); #endif