Enable compile time specification of data and locale directories and prefs file
[neverball] / share / base_config.h
1 /*
2  * Copyright (C) 2003 Robert Kooima
3  *
4  * NEVERBALL is  free software; you can redistribute  it and/or modify
5  * it under the  terms of the GNU General  Public License as published
6  * by the Free  Software Foundation; either version 2  of the License,
7  * or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT  ANY  WARRANTY;  without   even  the  implied  warranty  of
11  * MERCHANTABILITY or  FITNESS FOR A PARTICULAR PURPOSE.   See the GNU
12  * General Public License for more details.
13  */
14
15 #ifndef BASE_CONFIG_H
16 #define BASE_CONFIG_H
17
18 /*
19  * This file contains some constants
20  * And the way to access to directories
21  */
22
23 #include <stdio.h>
24 #include "i18n.h"
25
26 /*---------------------------------------------------------------------------*/
27
28 #define VERSION       "1.4.1svn"      /* Game version */
29
30 #ifndef CONFIG_DATA
31 #define CONFIG_DATA   "./data"        /* Game data directory */
32 #endif
33
34 #ifndef CONFIG_LOCALE
35 #define CONFIG_LOCALE "./locale"      /* Game localisation */
36 #endif
37
38 #ifndef CONFIG_USER
39 #define CONFIG_USER   ".neverball-dev"    /* User config directory */
40 #endif
41
42 /*
43  * Global settings are stored in USER_CONFIG_FILE.  Replays are stored
44  * in  USER_REPLAY_FILE.  These files  are placed  in the  user's home
45  * directory as given by the HOME environment var.  If the config file
46  * is deleted, it will be recreated using the defaults.
47  */
48
49 #define USER_CONFIG_FILE    "neverballrc"
50 #define USER_REPLAY_FILE    _("Last")
51 #define REPLAY_EXT          ".nbr"
52 #define ALLOW_CHEAT         1
53
54 /*---------------------------------------------------------------------------*/
55
56 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
57 #define RMASK 0xFF000000
58 #define GMASK 0x00FF0000
59 #define BMASK 0x0000FF00
60 #define AMASK 0x000000FF
61 #else
62 #define RMASK 0x000000FF
63 #define GMASK 0x0000FF00
64 #define BMASK 0x00FF0000
65 #define AMASK 0xFF000000
66 #endif
67
68 #ifdef _WIN32
69 #define FMODE_RB "rb"
70 #define FMODE_WB "wb"
71 #else
72 #define FMODE_RB "r"
73 #define FMODE_WB "w"
74 #endif
75
76 #define AUDIO_BUFF_HI 2048
77 #define AUDIO_BUFF_LO 1024
78
79 #define JOY_MAX 32767
80 #define JOY_MID 16383
81
82 #define MAXSTR 256
83 #define PATHMAX 64
84 #define MAXNAM 9
85
86 #define GUI_FACE                    _("ttf/DejaVuSans-Bold.ttf")
87
88 /*---------------------------------------------------------------------------*/
89
90 const char *config_data(const char *);
91 const char *config_user(const char *);
92
93 int  config_data_path(const char *, const char *);
94 int  config_user_path(const char *);
95
96 /*---------------------------------------------------------------------------*/
97
98 #endif