124 lines
4.8 KiB
C
124 lines
4.8 KiB
C
#ifndef GAME_CONFIG_H
|
|
#define GAME_CONFIG_H
|
|
|
|
#include "config.h"
|
|
|
|
// The file name of the main config file.
|
|
#define GAME_CONFIG_FILE_NAME "fallout2.cfg"
|
|
|
|
#define GAME_CONFIG_SYSTEM_KEY "system"
|
|
#define GAME_CONFIG_PREFERENCES_KEY "preferences"
|
|
#define GAME_CONFIG_SOUND_KEY "sound"
|
|
#define GAME_CONFIG_MAPPER_KEY "mapper"
|
|
#define GAME_CONFIG_DEBUG_KEY "debug"
|
|
|
|
#define GAME_CONFIG_EXECUTABLE_KEY "executable"
|
|
#define GAME_CONFIG_MASTER_DAT_KEY "master_dat"
|
|
#define GAME_CONFIG_MASTER_PATCHES_KEY "master_patches"
|
|
#define GAME_CONFIG_CRITTER_DAT_KEY "critter_dat"
|
|
#define GAME_CONFIG_CRITTER_PATCHES_KEY "critter_patches"
|
|
#define GAME_CONFIG_LANGUAGE_KEY "language"
|
|
#define GAME_CONFIG_SCROLL_LOCK_KEY "scroll_lock"
|
|
#define GAME_CONFIG_INTERRUPT_WALK_KEY "interrupt_walk"
|
|
#define GAME_CONFIG_ART_CACHE_SIZE_KEY "art_cache_size"
|
|
#define GAME_CONFIG_COLOR_CYCLING_KEY "color_cycling"
|
|
#define GAME_CONFIG_CYCLE_SPEED_FACTOR_KEY "cycle_speed_factor"
|
|
#define GAME_CONFIG_HASHING_KEY "hashing"
|
|
#define GAME_CONFIG_SPLASH_KEY "splash"
|
|
#define GAME_CONFIG_FREE_SPACE_KEY "free_space"
|
|
#define GAME_CONFIG_TIMES_RUN_KEY "times_run"
|
|
#define GAME_CONFIG_GAME_DIFFICULTY_KEY "game_difficulty"
|
|
#define GAME_CONFIG_RUNNING_BURNING_GUY_KEY "running_burning_guy"
|
|
#define GAME_CONFIG_COMBAT_DIFFICULTY_KEY "combat_difficulty"
|
|
#define GAME_CONFIG_VIOLENCE_LEVEL_KEY "violence_level"
|
|
#define GAME_CONFIG_TARGET_HIGHLIGHT_KEY "target_highlight"
|
|
#define GAME_CONFIG_ITEM_HIGHLIGHT_KEY "item_highlight"
|
|
#define GAME_CONFIG_COMBAT_LOOKS_KEY "combat_looks"
|
|
#define GAME_CONFIG_COMBAT_MESSAGES_KEY "combat_messages"
|
|
#define GAME_CONFIG_COMBAT_TAUNTS_KEY "combat_taunts"
|
|
#define GAME_CONFIG_LANGUAGE_FILTER_KEY "language_filter"
|
|
#define GAME_CONFIG_RUNNING_KEY "running"
|
|
#define GAME_CONFIG_SUBTITLES_KEY "subtitles"
|
|
#define GAME_CONFIG_COMBAT_SPEED_KEY "combat_speed"
|
|
#define GAME_CONFIG_PLAYER_SPEED_KEY "player_speed"
|
|
#define GAME_CONFIG_TEXT_BASE_DELAY_KEY "text_base_delay"
|
|
#define GAME_CONFIG_TEXT_LINE_DELAY_KEY "text_line_delay"
|
|
#define GAME_CONFIG_BRIGHTNESS_KEY "brightness"
|
|
#define GAME_CONFIG_MOUSE_SENSITIVITY_KEY "mouse_sensitivity"
|
|
#define GAME_CONFIG_INITIALIZE_KEY "initialize"
|
|
#define GAME_CONFIG_DEVICE_KEY "device"
|
|
#define GAME_CONFIG_PORT_KEY "port"
|
|
#define GAME_CONFIG_IRQ_KEY "irq"
|
|
#define GAME_CONFIG_DMA_KEY "dma"
|
|
#define GAME_CONFIG_SOUNDS_KEY "sounds"
|
|
#define GAME_CONFIG_MUSIC_KEY "music"
|
|
#define GAME_CONFIG_SPEECH_KEY "speech"
|
|
#define GAME_CONFIG_MASTER_VOLUME_KEY "master_volume"
|
|
#define GAME_CONFIG_MUSIC_VOLUME_KEY "music_volume"
|
|
#define GAME_CONFIG_SNDFX_VOLUME_KEY "sndfx_volume"
|
|
#define GAME_CONFIG_SPEECH_VOLUME_KEY "speech_volume"
|
|
#define GAME_CONFIG_CACHE_SIZE_KEY "cache_size"
|
|
#define GAME_CONFIG_MUSIC_PATH1_KEY "music_path1"
|
|
#define GAME_CONFIG_MUSIC_PATH2_KEY "music_path2"
|
|
#define GAME_CONFIG_DEBUG_SFXC_KEY "debug_sfxc"
|
|
#define GAME_CONFIG_MODE_KEY "mode"
|
|
#define GAME_CONFIG_SHOW_TILE_NUM_KEY "show_tile_num"
|
|
#define GAME_CONFIG_SHOW_SCRIPT_MESSAGES_KEY "show_script_messages"
|
|
#define GAME_CONFIG_SHOW_LOAD_INFO_KEY "show_load_info"
|
|
#define GAME_CONFIG_OUTPUT_MAP_DATA_INFO_KEY "output_map_data_info"
|
|
#define GAME_CONFIG_EXECUTABLE_KEY "executable"
|
|
#define GAME_CONFIG_OVERRIDE_LIBRARIAN_KEY "override_librarian"
|
|
#define GAME_CONFIG_LIBRARIAN_KEY "librarian"
|
|
#define GAME_CONFIG_USE_ART_NOT_PROTOS_KEY "use_art_not_protos"
|
|
#define GAME_CONFIG_REBUILD_PROTOS_KEY "rebuild_protos"
|
|
#define GAME_CONFIG_FIX_MAP_OBJECTS_KEY "fix_map_objects"
|
|
#define GAME_CONFIG_FIX_MAP_INVENTORY_KEY "fix_map_inventory"
|
|
#define GAME_CONFIG_IGNORE_REBUILD_ERRORS_KEY "ignore_rebuild_errors"
|
|
#define GAME_CONFIG_SHOW_PID_NUMBERS_KEY "show_pid_numbers"
|
|
#define GAME_CONFIG_SAVE_TEXT_MAPS_KEY "save_text_maps"
|
|
#define GAME_CONFIG_RUN_MAPPER_AS_GAME_KEY "run_mapper_as_game"
|
|
#define GAME_CONFIG_DEFAULT_F8_AS_GAME_KEY "default_f8_as_game"
|
|
#define GAME_CONFIG_SORT_SCRIPT_LIST_KEY "sort_script_list"
|
|
#define GAME_CONFIG_PLAYER_SPEEDUP_KEY "player_speedup"
|
|
|
|
#define ENGLISH "english"
|
|
#define FRENCH "french"
|
|
#define GERMAN "german"
|
|
#define ITALIAN "italian"
|
|
#define SPANISH "spanish"
|
|
|
|
typedef enum GameDifficulty {
|
|
GAME_DIFFICULTY_EASY,
|
|
GAME_DIFFICULTY_NORMAL,
|
|
GAME_DIFFICULTY_HARD,
|
|
} GameDifficulty;
|
|
|
|
typedef enum CombatDifficulty {
|
|
COMBAT_DIFFICULTY_EASY,
|
|
COMBAT_DIFFICULTY_NORMAL,
|
|
COMBAT_DIFFICULTY_HARD,
|
|
} CombatDifficulty;
|
|
|
|
typedef enum ViolenceLevel {
|
|
VIOLENCE_LEVEL_NONE,
|
|
VIOLENCE_LEVEL_MINIMAL,
|
|
VIOLENCE_LEVEL_NORMAL,
|
|
VIOLENCE_LEVEL_MAXIMUM_BLOOD,
|
|
} ViolenceLevel;
|
|
|
|
typedef enum TargetHighlight {
|
|
TARGET_HIGHLIGHT_OFF,
|
|
TARGET_HIGHLIGHT_ON,
|
|
TARGET_HIGHLIGHT_TARGETING_ONLY,
|
|
} TargetHighlight;
|
|
|
|
extern bool gGameConfigInitialized;
|
|
extern Config gGameConfig;
|
|
extern char gGameConfigFilePath[];
|
|
|
|
bool gameConfigInit(bool isMapper, int argc, char** argv);
|
|
bool gameConfigSave();
|
|
bool gameConfigExit(bool shouldSave);
|
|
|
|
#endif /* GAME_CONFIG_H */
|