forked from len0rd/rockbox
		
	git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9312 a1c6a512-1295-4272-9138-f99709370657
		
			
				
	
	
		
			112 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* Emacs style mode select   -*- C++ -*-
 | |
|  *-----------------------------------------------------------------------------
 | |
|  *
 | |
|  *
 | |
|  *  PrBoom a Doom port merged with LxDoom and LSDLDoom
 | |
|  *  based on BOOM, a modified and improved DOOM engine
 | |
|  *  Copyright (C) 1999 by
 | |
|  *  id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
 | |
|  *  Copyright (C) 1999-2000 by
 | |
|  *  Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
 | |
|  *
 | |
|  *  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.
 | |
|  *
 | |
|  * DESCRIPTION:
 | |
|  *  External non-system-specific stuff, like storing config settings,
 | |
|  *  simple file handling, and saving screnshots.
 | |
|  *
 | |
|  *-----------------------------------------------------------------------------*/
 | |
| 
 | |
| 
 | |
| #ifndef __M_MISC__
 | |
| #define __M_MISC__
 | |
| 
 | |
| 
 | |
| #include "doomtype.h"
 | |
| //
 | |
| // MISC
 | |
| //
 | |
| 
 | |
| boolean M_WriteFile (char const* name,void* source,int length);
 | |
| 
 | |
| int M_ReadFile (char const* name,byte** buffer);
 | |
| 
 | |
| void M_ScreenShot (void);
 | |
| void M_DoScreenShot (const char*); // cph
 | |
| 
 | |
| void M_LoadDefaults (void);
 | |
| 
 | |
| void M_SaveDefaults (void);
 | |
| 
 | |
| 
 | |
| int M_DrawText (int x,int y,boolean direct,char* string);
 | |
| 
 | |
| struct default_s *M_LookupDefault(const char *name);     /* killough 11/98 */
 | |
| 
 | |
| // phares 4/21/98:
 | |
| // Moved from m_misc.c so m_menu.c could see it.
 | |
| 
 | |
| // CPhipps - struct to hold a value in a config file
 | |
| // Cannot be a union, as it must be initialised
 | |
| typedef struct default_s
 | |
| {
 | |
|    const char* name;
 | |
|    /* cph -
 | |
|     * The location struct holds the pointer to the variable holding the
 | |
|     *  setting. For int's we do nothing special.
 | |
|     * For strings, the string is actually stored on our heap with Z_Strdup()
 | |
|     *  BUT we don't want the rest of the program to be able to modify them,
 | |
|     *  so we declare it const. It's not really const though, and m_misc.c and
 | |
|     *  m_menu.c cast it back when they need to change it. Possibly this is
 | |
|     *  more trouble than it's worth.
 | |
|     */
 | |
|    struct {
 | |
|       int* pi;
 | |
|       const char** ppsz;
 | |
|    } location;
 | |
|    struct {
 | |
|       int i;
 | |
|       const char* psz;
 | |
|    } defaultvalue; // CPhipps - default value
 | |
|    // Limits (for an int)
 | |
|    int   minvalue;         // jff 3/3/98 minimum allowed value
 | |
|    int   maxvalue;         // jff 3/3/98 maximum allowed value
 | |
|    enum {
 | |
|       def_none, // Dummy entry
 | |
|       def_str,  // A string
 | |
|       def_int,  // Integer
 | |
|       def_hex,  // Integer (write in hex)
 | |
|       def_bool = def_int,  // Boolean
 | |
|       def_key = def_hex,   // Key code (byte)
 | |
|       def_mouseb = def_int,// Mouse button
 | |
|       def_colour = def_hex // Colour (256 colour palette entry)
 | |
|    } type; // CPhipps - type of entry
 | |
|    int   setupscreen;      // phares 4/19/98: setup screen where this appears
 | |
|    int  *current;          /* cph - MBF-like pointer to current value */
 | |
|    // cph - removed the help strings from the config file
 | |
|    // const char* help;       // jff 3/3/98 description of parameter
 | |
|    // CPhipps - remove unused "lousy hack" code
 | |
|    struct setup_menu_s *setup_menu;   /* Xref to setup menu item, if any */
 | |
| } default_t;
 | |
| 
 | |
| #define IS_STRING(dv) ((dv).type == def_str)
 | |
| // CPhipps - What is the max. key code that X will send us?
 | |
| #define MAX_KEY 65536
 | |
| #define MAX_MOUSEB 2
 | |
| 
 | |
| #define UL (-123456789) /* magic number for no min or max for parameter */
 | |
| 
 | |
| #endif
 |