Rev 7 | Rev 11 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | pmbaty | 1 | /* |
| 2 | * src/system.h |
||
| 3 | * |
||
| 4 | * Copyright (C) 1998-2002 BigOrno (bigorno@bigorno.net). All rights reserved. |
||
| 5 | * |
||
| 6 | * The use and distribution terms for this software are contained in the file |
||
| 7 | * named README, which can be found in the root of this distribution. By |
||
| 8 | * using this software in any fashion, you are agreeing to be bound by the |
||
| 9 | * terms of this license. |
||
| 10 | * |
||
| 11 | * You must not remove this notice, or any other, from this software. |
||
| 12 | */ |
||
| 13 | |||
| 14 | #ifndef _SYSTEM_H |
||
| 15 | #define _SYSTEM_H |
||
| 16 | |||
| 5 | pmbaty | 17 | #include <stdint.h> |
| 18 | typedef uint8_t U8; |
||
| 19 | typedef uint16_t U16; |
||
| 20 | typedef uint32_t U32; |
||
| 21 | typedef int8_t S8; |
||
| 22 | typedef int16_t S16; |
||
| 23 | typedef int32_t S32; |
||
| 7 | pmbaty | 24 | #ifdef WIN32 |
| 25 | #include <stdio.h> // for sprintf_s() and the likes |
||
| 26 | #else // !WIN32 |
||
| 5 | pmbaty | 27 | #define strcpy_s(dest,size,source) strcpy (dest, source) |
| 28 | #define strcat_s(dest,size,source) strcat (dest, source) |
||
| 29 | #define sprintf_s(dest,size,format,...) sprintf (dest, format, __VA_ARGS__) |
||
| 30 | #define strncpy_s(dest,size,source,count) strncpy (dest, source, count) |
||
| 31 | #define vsprintf_s(buffer,maxsize,format,...) vsprintf(buffer,format, ##__VA_ARGS__) |
||
| 32 | #define fopen_s(fp,filename,mode) *(fp) = fopen (filename, mode) |
||
| 2 | pmbaty | 33 | #endif // WIN32 |
| 1 | pmbaty | 34 | |
| 35 | /* this must be after typedefs because it relies on types defined above */ |
||
| 36 | #include "rects.h" |
||
| 37 | #include "img.h" |
||
| 38 | |||
| 39 | /* |
||
| 40 | * main section |
||
| 41 | */ |
||
| 42 | extern void sys_init (int, char **); |
||
| 43 | extern void sys_shutdown (void); |
||
| 2 | pmbaty | 44 | extern char *sys_getbasepath (void); |
| 1 | pmbaty | 45 | extern void sys_panic (char *, ...); |
| 46 | extern void sys_printf (char *, ...); |
||
| 47 | extern U32 sys_gettime (void); |
||
| 48 | extern void sys_sleep (int); |
||
| 49 | |||
| 50 | /* |
||
| 51 | * video section |
||
| 52 | */ |
||
| 53 | extern void sysvid_init (void); |
||
| 54 | extern void sysvid_shutdown (void); |
||
| 55 | extern void sysvid_clear (void); |
||
| 56 | extern void sysvid_paint (rect_t *); |
||
| 57 | |||
| 58 | /* |
||
| 59 | * events section |
||
| 60 | */ |
||
| 61 | extern void sysevt_poll (void); |
||
| 62 | extern void sysevt_wait (void); |
||
| 63 | |||
| 64 | /* |
||
| 65 | * sound section |
||
| 66 | */ |
||
| 67 | typedef struct |
||
| 68 | { |
||
| 69 | U8 *buf; |
||
| 70 | U32 len; |
||
| 71 | U8 dispose; |
||
| 72 | } sound_t; |
||
| 73 | |||
| 74 | extern void syssnd_init (void); |
||
| 75 | extern void syssnd_shutdown (void); |
||
| 76 | extern void syssnd_vol (S8); |
||
| 77 | extern void syssnd_toggleMute (void); |
||
| 78 | extern S8 syssnd_play (sound_t *, S8); |
||
| 79 | extern void syssnd_pause (U8, U8); |
||
| 80 | extern void syssnd_stopchan (S8); |
||
| 81 | extern void syssnd_stopsound (sound_t *); |
||
| 82 | extern void syssnd_stopall (void); |
||
| 83 | extern int syssnd_isplaying (sound_t *); |
||
| 84 | extern sound_t *syssnd_load (char *name); |
||
| 85 | extern void syssnd_free (sound_t *); |
||
| 86 | |||
| 87 | /* |
||
| 88 | * args section |
||
| 89 | */ |
||
| 90 | extern int sysarg_args_period; |
||
| 91 | extern int sysarg_args_map; |
||
| 92 | extern int sysarg_args_submap; |
||
| 9 | pmbaty | 93 | extern int sysarg_args_score; |
| 1 | pmbaty | 94 | extern int sysarg_args_nosound; |
| 95 | extern int sysarg_args_vol; |
||
| 96 | |||
| 97 | extern void sysarg_init (int, char **); |
||
| 98 | |||
| 99 | /* |
||
| 100 | * joystick section |
||
| 101 | */ |
||
| 102 | extern void sysjoy_init (void); |
||
| 103 | extern void sysjoy_shutdown (void); |
||
| 104 | |||
| 105 | #endif |