?? doomtype.h
字號:
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// $Id:$
//
// Copyright (C) 1993-1996 by id Software, Inc.
//
// This source is available for distribution and/or modification
// only under the terms of the DOOM Source Code License as
// published by id Software. All rights reserved.
//
// The source is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
// for more details.
//
// DESCRIPTION:
// Simple basic typedefs, isolated here to make it easier
// separating modules.
//
//-----------------------------------------------------------------------------
#ifndef __DOOMTYPE__
#define __DOOMTYPE__
#include <windows.h>
#ifndef __BYTEBOOL__
#define __BYTEBOOL__
// Fixed to use builtin bool type with C++.
#ifdef __cplusplus
typedef bool boolean;
#else
//typedef enum {false, true} boolean;
#define boolean BOOL
#define false FALSE
#define true TRUE
//typedef bool boolean;
#endif
typedef unsigned char byte;
#endif
#define strcasecmp strcmp
#define strncasecmp strncmp
// Predefined with some OS.
#ifdef LINUX
#include <values.h>
#else
#ifndef MAXCHAR
#define MAXCHAR ((char)0x7f)
#endif
#ifndef MAXSHORT
#define MAXSHORT ((short)0x7fff)
#endif
// Max pos 32-bit int.
#ifndef MAXINT
#define MAXINT ((int)0x7fffffff)
#endif
#ifndef MAXLONG
#define MAXLONG ((long)0x7fffffff)
#endif
#ifndef MINCHAR
#define MINCHAR ((char)0x80)
#endif
#ifndef MINSHORT
#define MINSHORT ((short)0x8000)
#endif
// Max negative 32-bit integer.
#ifndef MININT
#define MININT ((int)0x80000000)
#endif
#ifndef MINLONG
#define MINLONG ((long)0x80000000)
#endif
#endif
// DQ start addition
// provides ability to support buffers with a pitch different than the width. This
// is necessary to render directly into some surfaces. For example, on some drivers,
// 320 and 512 wide surfaces have a pitch of 640. That is, the start of rows are 640 bytes
// apart, leaving 320 or 128 bytes "wasted" per line
typedef struct
{
byte * Buffer; // pointer to the buffer
long * YLookup; // pointer to the array of Y lookups
} BUFFER, *PBUFFER;
typedef struct
{
// 0 = no cursor here, 1 = ok, 2 = arrows ok
short status;
char name[10];
// choice = menu item #.
// if status = 2,
// choice=0:leftarrow,1:rightarrow
void (*routine)(int choice);
// hotkey in menu
char alphaKey;
} menuitem_t;
typedef struct menu_s
{
short numitems; // # of menu items
struct menu_s* prevMenu; // previous menu
menuitem_t* menuitems; // menu items
// DQ start addition
void (*routine)(int PixelOffset, PBUFFER RenderBuffer); // draw routine
// DQ end addition
// original void (*routine)(void); // draw routine
short x;
short y; // x,y of menu
short lastOn; // last item user was on in menu
} menu_t;
// DQ end addition
#endif
//-----------------------------------------------------------------------------
//
// $Log:$
//
//-----------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -