home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
VSCPPv8.zip
/
VACPP
/
IBMCPP
/
samples
/
TOOLKIT
/
OS2
/
CONSOLIO
/
WORMS.H
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-17
|
6KB
|
169 lines
/*=========================================================================\
* *
* FILE:worms.h *
* *
* DESCRIPTION: This is the header file for the c module worms.c *
* *
* *
* *
* Created 1991 IBM Corp. *
* *
* DISCLAIMER OF WARRANTIES. The following [enclosed] code is *
* sample code created by IBM Corporation and/or Microsoft *
* Corporation. This sample code is not part of any standard *
* Microsoft or IBM product and is provided to you solely for *
* the purpose of assisting you in the development of your *
* applications. The code is provided "AS IS", without *
* warranty of any kind. Neither IBM or Microsoft shall be *
* liable for any damages arising out of your use of the sample *
* code, even if they have been advised of the possibility of *
* such damages. *
* *
*-------------------------------------------------------------------------*
*
*
*
*
*
*
*
*
*
*
*
*--------------------------------------------------------------
*
* This header file is for the source module: worms.c
*
*
*
*
*
\*==============================================================*/
/*--------------------------------------------------------------*\
* Global macros, defined constants, and externs
\*--------------------------------------------------------------*/
typedef struct threaddata
{
LONG tidWorm;
BOOL fActive;
USHORT usCurrentRow;
USHORT usCurrentCol;
BYTE bAttribute;
SHORT sCurrentDirection;
}THREAD_DATA,*PTHREAD_DATA;
/*--------------------------------------------------------------*\
* Global variables and definitions for this file
\*--------------------------------------------------------------*/
extern SHORT sStartWorms;
extern THREAD_DATA ThreadData[];
extern BOOL fThreadsContinue;
extern SHORT sCurrentThread;
extern CHAR *pszWormMessages [];
extern SHORT sStartWorms;
extern BOOL fSilent;
extern VIOCURSORINFO viociCursor;
extern BOOL fQuit;
extern BOOL fDraw;
extern MOUEVENTINFO mouev;
extern VIOMODEINFO VioModeInfo;
extern HMOU hmou;
extern HVIO hvio;
extern BOOL bHelpEnabled;
#ifndef __HEV__
#include <bsedos.h>
#endif
extern HEV hevWormSem;
extern HEV hevDrawSem;
extern HEV hevDrawOk;
#define WAIT_THREAD_EXIT 500L
#define SLEEP_TIME_THREADS 100L
#define PAUSE_TIME ( 75L)
#define UP 1
#define LEFT 2
#define DOWN 3
#define RIGHT 4
#define GOBBLE 5
#define ZIG_UP 6
#define BOX 7
#define ZIG_DOWN 8
#define WM_BLACK 0x00
#define WM_BLUE 0x01
#define WM_GREEN 0x02
#define WM_CYAN 0x03
#define WM_RED 0x04
#define WM_MAGENTA 0x05
#define WM_BROWN 0x06
#define WM_PALEGRAY 0x07
#define WM_DKGREY 0x08
#define WM_LBLUE 0x09
#define WM_LGREEN 0x0A
#define WM_LCYAN 0x0B
#define WM_LRED 0x0C
#define WM_LMAGENTA 0x0D
#define WM_YELLOW 0x0E
#define WM_WHITE 0x0F
#define WM_MAX_COLOR 0X0F
#define TOP_ROW 0 //Window Frame
#define LEFT_COL 0
#define BOT_ROW 25
#define RGT_COL 80
#define FIRST_ROW TOP_ROW + 3 // Drawable Window Coordinates
#define LAST_ROW VioModeInfo.row
#define FIRST_COL 1
#define LAST_COL VioModeInfo.col -1
#define WIDTH 2
#define MAX_DIRECTIONS 8
#define HOR_WIDTH (RGT_COL - LEFT_COL)
#define HEIGHT (BOT_ROW - TOP_ROW)
#define F1 0x3B //Function keys
#define WM_BACKGROUND (WM_BLUE << 4 ) + WM_WHITE
#define MKATRB(a,b ) ((BYTE) (a << 4 ) + b )
/*
*global message/error numbers
*/
#define WRM_NORMAL_EXIT 0
#define ERROR 1
#define INIT_FAILURE 2
#define MAX_THREADS_EXCEEDED 3
#define ERROR_CREATING_THREAD 4
#define ERROR_DISP_HELP 5
#define ERROR_CREATING_WREADTHRD 6
#define ENTER_TO_EXIT 7
#define WAITING_THREADS_EXIT 8
#define ANY_KEY_TO_CONTINUE 9
/*--------------------------------------------------------------*\
* Global Entry point declarations
\*--------------------------------------------------------------*/
extern VOID ErrorMessage(SHORT sExitStatus,BOOL fBeep);
extern VOID WormDelete(VOID );
extern BOOL WormCreate(VOID );
extern VOID Message(SHORT sErrorMessage,BOOL fBeep,
BOOL fKeyBoardWait,BOOL fClsConsole,
BOOL fSuspendThreads);
/*--------------------------------------------------------------*\
* End of file : worms.h
\*--------------------------------------------------------------*/