home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2001 August - Disc 3
/
chip_20018103_hu.iso
/
amiga
/
chipgame
/
3dgpl.lha
/
hardware.h
< prev
next >
Wrap
C/C++ Source or Header
|
2001-06-09
|
3KB
|
81 lines
#ifndef _HARDWARE_H_
#define _HARDWARE_H_
/** 3DGPL *************************************************\
* (AMIGA ,RTGMASTER) *
* Driver hack by Heinrich Tillack *
* Header for hardware specific stuff. *
* *
* hardware.c hardware specific stuff. *
* *
* (6/1995) By Sergei Savhenko. (savs@cs.mcgill.ca). *
* Copyright (c) 1995 Sergei Savchenko. *
* THIS SOURCE CODE CAN'T BE USED FOR COMERCIAL PURPOSES *
* WITHOUT AUTHORISATION *
\**********************************************************/
#include <stdio.h>
#include <stdlib.h>
typedef short signed_16_bit; /* compiler/mashine dependent */
typedef long signed_32_bit;
typedef unsigned short unsigned_16_bit;
typedef unsigned long unsigned_32_bit;
void HW_set_int(int *dst,long lng,int val);
#define HW_set_char(dst,lng,val) memset(dst,val,lng)
void HW_copy_int(int *src, int *dst,long lng);
#define HW_copy_char(src,dst,lng) memcpy(dst,src,lng)
// Sorry. These are constants.
#define HW_SCREEN_X_SIZE 320
#define HW_SCREEN_Y_SIZE 200 /* number of pixels total */
#define HW_SCREEN_X_MAX 319
#define HW_SCREEN_Y_MAX 199 /* number of maximum pixel */
#define HW_SCREEN_X_CENTRE 160
#define HW_SCREEN_Y_CENTRE 100 /* middle of the screen */
#define HW_COLOURMAP_SIZE_CHAR 64000 /* bytes in the colourmap */
#define HW_COLOURMAP_SIZE_INT 16000 /* ints in the colourmap */
struct HW_colour /* describes colour */
{
int hw_r;
int hw_g;
int hw_b; /* intensity components */
};
int HW_open_screen(char *display_name,
char *screen_name,
struct HW_colour palette[256],
unsigned char *colourmap
);
void HW_blit(void);
void HW_close_screen(void);
// AMIGA Keycodes
#define HW_KEY_ARROW_LEFT 0x4f
#define HW_KEY_ARROW_RIGHT 0x4e
#define HW_KEY_ARROW_UP 0x4c
#define HW_KEY_ARROW_DOWN 0x4d
#define HW_KEY_PLUS 0x0c
#define HW_KEY_MINUS 0x0b
#define HW_KEY_ENTER 0x44
#define HW_KEY_SPACE 0x40
#define HW_KEY_TAB 0x42 /* all i can think of */
void HW_run_event_loop(void (*application_main)(void),
void (*application_key_handler)(int key_code)
);
void HW_quit_event_loop(void);
/**********************************************************/
#endif