Initial commit
This commit is contained in:
139
engines/glk/tads/tads2/lib.h
Normal file
139
engines/glk/tads/tads2/lib.h
Normal file
@@ -0,0 +1,139 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GLK_TADS_TADS2_LIB
|
||||
#define GLK_TADS_TADS2_LIB
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/algorithm.h"
|
||||
|
||||
namespace Glk {
|
||||
namespace TADS {
|
||||
namespace TADS2 {
|
||||
|
||||
/* short-hand for various types */
|
||||
|
||||
typedef unsigned char uchar;
|
||||
typedef unsigned short ushort;
|
||||
typedef unsigned long ulong;
|
||||
|
||||
typedef byte ub1;
|
||||
typedef signed char sb1;
|
||||
typedef char b1;
|
||||
typedef unsigned int ub2;
|
||||
typedef signed int sb2;
|
||||
typedef int b2;
|
||||
typedef unsigned long ub4;
|
||||
typedef signed long sb4;
|
||||
typedef long b4;
|
||||
typedef int eword;
|
||||
|
||||
/* maximum/minimum portable values for various types */
|
||||
#define UB4MAXVAL 0xffffffffUL
|
||||
#define UB2MAXVAL 0xffffU
|
||||
#define UB1MAXVAL 0xffU
|
||||
#define SB4MAXVAL 0x7fffffffL
|
||||
#define SB2MAXVAL 0x7fff
|
||||
#define SB1MAXVAL 0x7f
|
||||
#define SB4MINVAL (-(0x7fffffff)-1)
|
||||
#define SB2MINVAL (-(0x7fff)-1)
|
||||
#define SB1MINVAL (-(0x7f)-1)
|
||||
|
||||
/* clear a struture */
|
||||
#define CLRSTRUCT(x) memset(&(x), 0, (size_t)sizeof(x))
|
||||
#define CPSTRUCT(dst,src) memcpy(&(dst), &(src), (size_t)sizeof(dst))
|
||||
|
||||
#if defined(TRUE)
|
||||
#undef TRUE
|
||||
#endif
|
||||
|
||||
#if defined(FALSE)
|
||||
#undef FALSE
|
||||
#endif
|
||||
|
||||
/* TRUE and FALSE */
|
||||
#define TRUE true
|
||||
#define FALSE false
|
||||
|
||||
|
||||
/* bitwise operations */
|
||||
#define bit(va, bt) ((va) & (bt))
|
||||
#define bis(va, bt) ((va) |= (bt))
|
||||
#define bic(va, bt) ((va) &= ~(bt))
|
||||
|
||||
/*
|
||||
* noreg/NOREG - was used for variables changed in error-protected code that
|
||||
* are used in error handling code. However, since ScummVM doesn't support
|
||||
* setjmp for portability reasons, the following can be left as blank defines
|
||||
*/
|
||||
# define noreg
|
||||
# define NOREG(arglist)
|
||||
|
||||
/*
|
||||
* Linting directives. You can define these before including this file
|
||||
* if you have a fussy compiler.
|
||||
*/
|
||||
#ifdef LINT
|
||||
# ifndef NOTREACHED
|
||||
# define NOTREACHED return
|
||||
# endif
|
||||
# ifndef NOTREACHEDV
|
||||
# define NOTREACHEDV(t) return((t)0)
|
||||
# endif
|
||||
# ifndef VARUSED
|
||||
# define VARUSED(v) varused(v)
|
||||
# endif
|
||||
void varused();
|
||||
#else /* LINT */
|
||||
# ifndef NOTREACHED
|
||||
# define NOTREACHED
|
||||
# endif
|
||||
# ifndef NOTREACHEDV
|
||||
# define NOTREACHEDV(t)
|
||||
# endif
|
||||
# ifndef VARUSED
|
||||
# define VARUSED(v)
|
||||
# endif
|
||||
#endif /* LINT */
|
||||
|
||||
/* conditionally compile code if debugging is enabled */
|
||||
#ifdef DEBUG
|
||||
# define IF_DEBUG(x) x
|
||||
#else /* DEBUG */
|
||||
# define IF_DEBUG(x)
|
||||
#endif /* DEBUG */
|
||||
|
||||
#ifndef offsetof
|
||||
# define offsetof(s_name, m_name) (size_t)&(((s_name *)0)->m_name)
|
||||
#endif /* offsetof */
|
||||
|
||||
/*
|
||||
* Define our own version of isspace(), so that we don't try to interpret
|
||||
* anything outside of the normal ASCII set as spaces.
|
||||
*/
|
||||
#define t_isspace(c) \
|
||||
(((unsigned char)(c)) <= 127 && Common::isSpace((unsigned char)(c)))
|
||||
|
||||
} // End of namespace TADS2
|
||||
} // End of namespace TADS
|
||||
} // End of namespace Glk
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user