map.h
author bjarni
Sun, 26 Dec 2004 22:09:34 +0000
changeset 808 d4b76579b3d0
parent 695 561b806c0477
child 817 4f9377b7fd2b
permissions -rw-r--r--
(svn r1279) Fixed the scrollbar in the network gui(server list). It now updates when scrolling (HackyKid)
679
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     1
#ifndef MAP_H
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     2
#define MAP_H
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     3
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     4
#define TILE_X_BITS 8
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     5
#define TILE_Y_BITS 8
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     6
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     7
#define TILES_X (1 << TILE_X_BITS)
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     8
#define TILES_Y (1 << TILE_Y_BITS)
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
     9
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
    10
#define TILE_X_MAX (TILES_X - 1)
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
    11
#define TILE_Y_MAX (TILES_Y - 1)
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
    12
695
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    13
extern byte _map_type_and_height[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    14
extern byte _map5[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    15
extern byte _map3_lo[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    16
extern byte _map3_hi[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    17
extern byte _map_owner[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    18
extern byte _map2[];
561b806c0477 (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead
tron
parents: 689
diff changeset
    19
extern byte _map_extra_bits[];
679
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
    20
689
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    21
// binary logarithm of the map size, try to avoid using this one
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    22
static inline uint MapLogX(void)  { extern uint _map_log_x; return _map_log_x; }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    23
static inline uint MapLogY(void)  { extern uint _map_log_y; return _map_log_y; }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    24
/* The size of the map */
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    25
static inline uint MapSizeX(void) { return 1 << MapLogX(); }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    26
static inline uint MapSizeY(void) { return 1 << MapLogY(); }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    27
/* The maximum coordinates */
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    28
static inline uint MapMaxX(void) { return MapSizeX() - 1; }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    29
static inline uint MapMaxY(void) { return MapSizeY() - 1; }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    30
/* The number of tiles in the map */
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    31
static inline uint MapSize(void) { return MapSizeX() * MapSizeY(); }
1412bc834a8d (svn r1130) Add helper functions to query map size
tron
parents: 679
diff changeset
    32
679
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents:
diff changeset
    33
#endif