diff options
| author | Ian C <ianc@noddybox.co.uk> | 2011-06-09 13:46:28 +0000 | 
|---|---|---|
| committer | Ian C <ianc@noddybox.co.uk> | 2011-06-09 13:46:28 +0000 | 
| commit | a9022b5972dc49d86f617a27940fafe9c4d0e7e7 (patch) | |
| tree | 61405aa4ade91ed1057f863ddf118ceb38e14f8e /globals.h | |
Initial import of (very old) vidoom sources.
Diffstat (limited to 'globals.h')
| -rw-r--r-- | globals.h | 232 | 
1 files changed, 232 insertions, 0 deletions
| diff --git a/globals.h b/globals.h new file mode 100644 index 0000000..d3ac7f4 --- /dev/null +++ b/globals.h @@ -0,0 +1,232 @@ +/* + +    viDOOM - level editor for DOOM + +    Copyright (C) 2000  Ian Cowburn (ianc@noddybox.demon.co.uk) + +    This program is free software; you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation; either version 2 of the License, or +    (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program; if not, write to the Free Software +    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA + +    ------------------------------------------------------------------------- + +    Global data - just about all from INI file + +    $Id$ + +*/ + +#ifndef VIDOOM_GLOBALS_H + +#define VIDOOM_GLOBALS_H + + +#define MAX_PRELOAD_LEN	4096 + +/* ------------------------------ Game type +*/ + +typedef enum game_type	{ +			    DOOM, +			    ULTIMATE_DOOM, +			    DOOM_2, +			    FINAL_TNT, +			    FINAL_PLUTONIA, +			    ZDOOM +			} GameType; + +typedef enum lev_style	{ +			    DOOM_LEVELS, +			    ULTIMATE_DOOM_LEVELS, +			    DOOM_2_LEVELS +			} LevelStyle; + +/* These are set by LoadGlobalsGameSection() +*/ +extern	GameType	game; +extern	int		ask_for_game_type; +extern	int		disp_width; +extern	int		disp_height; + + +/* This and everthing from here on is set by LoadGlobalsOtherSections() +*/ +extern	LevelStyle	level_style; + + +/* ------------------------------ Paths +*/ +extern	char		IWAD_path[]; +extern	char		PWAD_dir[]; +extern	char		PWAD_preload[]; + + +/* ------------------------------ Editor configuration +*/ +typedef enum hover	{ +			    HOVER_NONE, +			    HOVER_ADD, +			    HOVER_SINGLE +			} Hover; + +typedef enum smovemode	{ +			    MOVE_ALL, +			    MOVE_RIGHT, +			    MOVE_LEFT +			} SectorMoveMode; + +typedef enum newselect	{ +			    NEWSELECT_NEVER, +			    NEWSELECT_ASK, +			    NEWSELECT_SELECT +			} NewSelect; + +typedef enum ldefmerge	{ +			    MERGE_ALWAYS, +			    MERGE_ASK, +			    MERGE_NEVER +			} LinedefMerge; + +typedef enum defedit	{ +			    EDIT_SECTOR, +			    EDIT_VERTEX, +			    EDIT_LINEDEF, +			    EDIT_THING, +			    EDIT_MULTI +			} DefaultEdit; + +typedef enum gen_yna	{ +			    GEN_NO, +			    GEN_YES, +			    GEN_ASK +			} GenericYNA; + + +extern	int		grid_onoff; +extern	int		grid_lock; +extern	int		grid_size; +extern	double		gfx_brighten; +extern	int		vertex_rad; +extern	Hover		hover_select; +extern	int		clear_on_move; +extern	int		clear_on_menu; +extern	Hover		insert_select; +extern	SectorMoveMode	sector_move; +extern	int		ask_middle_on_2sided; +extern	int		default_light_level; +extern	int		default_floor_height; +extern	int		default_ceiling_height; +extern	NewSelect	new_2sided_select; +extern	LinedefMerge	merge_linedef; +extern	int		auto_block_linedefs; +extern	int		default_scale; +extern	DefaultEdit	default_edit_mode; +extern	int		left_click_move; +extern	int		linedef_select; +extern	int		tag_highlight; +extern	int		show_full_linedef_info; + + +/* ------------------------------ viDOOM configuration +*/ +extern	char		auto_loadmap[]; +extern	int		sort_textures; +extern	int		sort_flats; +extern	int		show_titlepic; +extern	int		load_textures; +extern	int		load_flats; +extern	int		load_sprites; +extern	int		map_warn; +extern	int		map_exit_warn; +extern	int		initial_empty_map; +extern	int		overwrite_warning; + +extern	int		mapinfo_lump;		/* For ZDOOM/BOOM only */ +extern	GenericYNA	create_hexen;		/* For ZDOOM/BOOM only */ + +/* ------------------------------ Required linedef flags bit and mask +*/ +extern	int		side2_bit; +extern	int		side2_mask; +extern	int		block_bit; +extern	int		block_mask; +extern	int		lower_peg_bit; +extern	int		lower_peg_mask; +extern	int		upper_peg_bit; +extern	int		upper_peg_mask; + + +/* ------------------------------ Normal values +*/ +extern	int		normal_linedef; +extern	int		normal_sector; + + +/* ------------------------------ LINEDEF checking +*/ +extern	int		check_line_assume_yes; +extern	int		check_1side_lower; +extern	int		check_1side_middle; +extern	int		check_1side_upper; +extern	int		check_2side_lower; +extern	int		check_2side_middle; +extern	int		check_2side_same_sector; +extern	int		check_2side_upper; + + +/* ------------------------------ Node Builder config +*/ +extern	int		use_build; +extern	char		build_cmd[]; +extern	char		build_ignore[]; +extern	char		build_in[]; +extern	char		build_out[]; +extern	int		build_in_before_out; +extern	int		build_always_view; + + +/* ------------------------------ ACC config +*/ +extern char		acc_cmd[]; +extern char		acc_dir[]; +extern char		acc_script[]; +extern char		acc_object[]; +extern char		acc_args[]; +extern int		acc_always_view; + + +/* ------------------------------ Texture names +*/ +extern	char		empty_texture[]; +extern	char		linedef_check_default[]; + +/* ------------------------------ Interfaces +*/ + +/* Save and load global data to INI file +*/ +void	LoadGlobalsPart1(void); +void	LoadGlobalsPart2(void); + +void	SaveGlobals(void); + +/* Read config file.  This must be done once the default IWAD and any patch +   PWADs have been read. +*/ +void	LoadConfig(void); + + +#endif + + +/* END OF FILE */ | 
